This will enforce that PRs properly sync the class reference templates to match
their changes to the public API, and help notice binding bugs in the process
(e.g. missing enum bindings, unexpected API changes or missing argument names).
This should also serve as a reminder to contributors that their changes impact
the scripting API and might warrant actually filling the descriptions for the
new methods/properties/etc.
(cherry picked from commit b388412270)
We still use Emscripten 1.39.9 for official Mono builds so ideally we want to test
against an old Emscripten version to ensure we don't break compatibility.
But then google-closure-compiler-linux broke compatibility for us and is not properly
pinned, so we need to use a more recent version for now to fix CI.
Cf. https://github.com/emscripten-core/emsdk/issues/802
(cherry picked from commit 9571ae3a33)
This was forgotten when renaming 3.2.4 to 3.3.
Once 3.3-stable is out and we branch off to 3.3, the BASE_BRANCH should
be bumped to 3.3 in that branch.
A template for `jsdoc` that generat the HTML5 public classref.
The script can be run via `npm run docs` to print to stdout.
You can dry run via `npm run docs -- --d dry-run` or write to file via
`npm run docs -- -d /path/to/file.rst`
Also update Makefile in `doc/` and add dry run test to CI.
(cherry picked from commit 472482013e)
We often hit "Too Many Requests" errors when uploading the cache with
`actions/cache` because there's a limit of 10 GB every 5 minutes, and we can
easily go over it when we amend or merge several PRs in a short timespan.
This will make the CI artifacts less useful for debugging crashes but there's
no real way around this.
(cherry picked from commit caea551d41)
Applies to javascript files inside the platform library folder, the
exposed Engine code, and any javascript files in modules.
Files ending with ".externs.js" will be ignored, you can create a
".eslintignore" file to specify extra files to be ignored.
No need to waste time downloading all this when it's readily available :)
Also use the official action to setup Java 8.
Also build both architectures (armv7 and arm64v8) and generate the APK,
so we can upload it.
Remove now unused and outdated `misc/ci/android-tools-linux.sh`.
(cherry picked from commit 5f19e1d571)
They've been moved to the @godotengine organization's .github
repository, which works as a fallback for all repositories in the
organization. This way, the Sponsor button is automatically displayed
on all repositories.
This closes#40972.
(cherry picked from commit f516dc1198)
Removes AppVeyor and all Travis jobs but the iOS one, which hasn't been ported
to GitHub Actions yet (should be done soon).
Backports new style scripts from `master` branch too to do the same checks.
This was based on quarmin's initial configuration, we had compile issues with AppVeyor being super slow and GitHub actions will take less time and also manage a full rebuild in 30 minutes.
This adds cache handling and will work with MSVC and scons 4.0, it will build for every PR submitted to the Godot Engine, and also for the branches specified. I have tested the caching and it seems to be working.
I left the 'publish artefacts' disabled until we can request more storage from Microsoft, 5 GB is far to low for us and we would eat this limit very fast. (it is tested and works fine)
Co-authored-by: Rafał Mikrut <mikrutrafal54@gmail.com>
(cherry picked from commit 04592af5a4)
Keeping CONTRIBUTING.md at the root so that contributors actually find it.
Also changed the custom FUNDING.yml link to point to godotengine.org/donate,
which also links to PayPal and other options.