- Move filament tests (frontend) to arm linux build
- Move header check to arm linux build
- Move backend test and correctness to arm linux
- Disable a failing GL test (b/495913675) - only fails on arm.
* Refactor web examples and tutorials
- Consolidate web/docs and web/samples into web/examples
- Remove literal programming blocks from Markdown tutorials
- Replace tutorial_template.html with a fully embedded template in serve.py
- Move serve.py to web/examples/serve.py and update dependency rules
- Update filament-js wrapper to expose _malloc, _free and set GEN_MIPMAPPABLE usage
- Update sample materials and WebGL asset generation within web/examples/CMakeLists.txt
- Add python venv instructions and usage details to web/README.md
- Remove obsolete examples, Pipfile, and demo templates
* Transfer web tutorials and samples to docs_src
- Introduce copy_web_docs.py api to deploy and rewrite web sample outputs into the docs output tree
- Hook copy_web_docs into docs_src/build/run.py natively
- Configure duplicates.json to map WebGL outputs to embedded .md docs
- Strip html skeleton out of examples in run.py so they map into markdown cleanly
- Update update-docs workflow to pre-build the WebGL target
- Remove obsolete remote docs path from src_raw
- Add explanatory comments to copy_web_docs.py and run.py
- Add index page with thumbnails for Web Tutorials and samples
- Update get-mesa.sh to query dpkg --print-architecture to install
the correct packages dynamically, enabling aarch64 support.
- Update get-vulkan-sdk.sh to install via apt-get on Linux
(libvulkan-dev, vulkan-validationlayers, glslang-tools,
spirv-tools) instead of downloading LunarG's x86_64 tarball.
- Add runner architecture to Mesa and Vulkan SDK GitHub Action cache
keys to prevent collision.
- Update test.sh and preamble.sh to detect aarch64 and point to
the appropriate aarch64-linux-gnu libraries.
- Fix typos and some renaming
- Simplify getting cmake, ninja for linux
- Move linux, web, webgpu builds to use arm (more cores for less)
- Android cannot be moved due to Android SDK not available on
arm linux yet.
- Add Arm Linux release artifacts
Fixes#8674
- Move header check from postsubmit to presubmit
- Install third_party/getop if needed
- Modify check-headers test to use system getopt when it's available.
- Update python3 version to 3.12.13
- Use action/checkout instead of Bhacaz/checkout-files because action/checkout can
use the action/files of the current PR, where as checkout-files is checking out
a file on the main branch
- action/checkout seems to run in less than a minute, so acceptable performance
difference.
--------------------------------------------------------------------
Breakage is:
Traceback (most recent call last):
File "/usr/local/lib/python3.10/site-packages/jwt/algorithms.py", line 36, in <module>
from cryptography.exceptions import InvalidSignature, UnsupportedAlgorithm
ModuleNotFoundError: No module named 'cryptography'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/verify_release_notes.py", line 17, in <module>
from github import Github
File "/usr/local/lib/python3.10/site-packages/github/__init__.py", line 56, in <module>
from github.MainClass import Github, GithubIntegration
File "/usr/local/lib/python3.10/site-packages/github/MainClass.py", line 54, in <module>
import jwt
File "/usr/local/lib/python3.10/site-packages/jwt/__init__.py", line 1, in <module>
from .api_jwk import PyJWK, PyJWKSet
File "/usr/local/lib/python3.10/site-packages/jwt/api_jwk.py", line 8, in <module>
from .algorithms import get_default_algorithms, has_crypto, requires_cryptography
File "/usr/local/lib/python3.10/site-packages/jwt/algorithms.py", line 113, in <module>
from typing_extensions import Never
ModuleNotFoundError: No module named 'typing_extensions'
The previous conditional used
github.event.head_commit.verification.verified, which is not a
real field. Hence, the attempt to reduce presubmit runs did not
actually succeed. Here we replace it with a more correct
verification step.
We make two adjustments to make the presubmit workflows run less.
- Only run on commit merge when the commit is not "verified".
While not a 1-1 definition, "verified" commit typically implies
that the commit came from a PR merge (which requires that
presubmit passes). A commit could also be made by owners on
main directly, in which case, the commit would not be verified.
- Cancel any in progress presubmit runs are "overwritten" by an
update to the PR.
This is a speculative reduction of github runner costs by using
less costly machines. The usage time will be longer, but
hopefully the total cost will still be lower.
Note we disabled most of the large runners for postsubmit builds,
since we should have caught all breakages in presubmit.
- Introduces the `RDIFF_ACCEPT_NEW_GOLDENS` commit message tag.
- Conditionally skip the `test-renderdiff` presubmit comparison
if this tag is present.
- Extracts renderdiff generation into a reusable
`.github/actions/renderdiff-generate` composite action.
- Modifies `postsubmit-main.yml` to automatically generate new
goldens and push them to a temporary
`accept-goldens-<short-hash>` branch before merging them into
`main` when the tag is found.
- Add a presubmit check after the android build to check the
built artifact sizes against previous build sizes.
- If the size built is +20K over the previous, then the test
fails.
- This prevents dramatic size increases of our mobile build
- Add a script to test/sizeguard to compute sizes of artifacts
within a compressed file.
- Add a step to postsubmit-main.yml that will run the above
script on every commit to main.
This will enable us to add a presubmit step to guard against
dramatic size increases in the Android build.
This tool uses existing libraries: image, imageio, imageio-lite,
imagediff to perform difference comparison for on-disk images.
We refactor renderdiff to use this tool instead of using
python dependencies.
Co-authored-by: Ben Doherty <bendoherty@google.com>
However, the change also pulled in filament-android-release-linux.tgz,
which already contains the same content, into the release.
Here we just rename filament-android-release-linux.tgz to the
expected .tgz output file in the release build.
Fixes#9647
- Make sure that renderdiff fails when either building or
rendering fails (the previous problem was in the use of &&
that masked the non-zero exit).
- Make sure that golden branch is properly parsed in
postsubmit.yml
- Disable vk loader debug by default
This commit enables running the backend tests for opengl and
vulkan on github CI. The script is located in test/backend.
We also add exceptions (SKIP_TEST) for the currently failing
tests. Issues have been filed to track addressing these failed
tests.
We also disable a series of broken webgpu tests.
If we assign the message (which might contain quotes) to an
environment variable and then echo it, this should prevent the
problem of having a double quote (").
Also fix a problem in docs script for checking TAGs in commits.
- Move upload step to later so that comparison result is also
included in the upload
- Fix the wrong relative paths in the comparison_result.json
- Fix viewer logic to pick only the latest run for a PR.
Previously, if a comparison fails then the artifacts are not
uploaded. This is defeats the puprpose of having artifacts. We
fix that by moving the test logic into presubmit.yml.
local_test.sh is the way to repro a run from local machine.
- Move directories into more descriptive organization
- src_mdbook, src_markdeep, src_raw
- mdbook will be generated from mdbook
- markdeep will be generated to html
- raw will be copied without modification
- Add script that will run on a succesful commit to main. This
script will update /docs and commit the changes.
- Re-enable docs presbumit check (checks if there has been direct
edits of /docs).
- Fix script to download and install mdbook
- Update Materials.md.html and re-run the build script
(build/run.py).
- Moved get_mesa.sh to build/common/get-mesa.sh
- Moved check-headers.sh to test/check-headers/test.sh
- Moved check-metal-shaders.sh to test/check-metal-shaders/test.sh
- Move emscripten download into its own script
- Refactor the common "CI choice" prompt into its own file.
- Move the content of `build/common/ci-common.sh` to the
"CI choice" script.
- Mention the get-emscripten.sh script in BUILDING.md
- move CI only prerequisites to github actions
- Add linux, mac prereq actions
- Add an action for indicating dependency versions
- Move ninja installation into its own script
- Re-enable renderdiff test.
- Cache the mesa directory so that we're not spending time pulling
and compiling it.
- Move python prereqs into the script and use venv.