-
Notifications
You must be signed in to change notification settings - Fork 3.5k
CI: Speed up jobs and abtract documentation building #14985
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CI: Speed up jobs and abtract documentation building #14985
Conversation
Avoids unnecessary changes by being selective on when to launch the action.
Avoid unnecessary checks for certain jobs.
If a test fails, `continue-on-error` will not be evaluated, if it's not set. https://github.com/eksperimental-forks/elixir/actions/runs/19824449905/job/56794214695#step:9:46 2196 doctests, 4913 tests, 1 failure (18 excluded) make: *** [Makefile:289: test_stdlib] Error 2 Error: Process completed with exit code 2. Error: The step failed and an error occurred when attempting to determine whether to continue on error. Error: The template is not valid. .github/workflows/ci.yml (Line: 78, Col: 28): Unexpected value ''
| push: | ||
| paths-ignore: | ||
| - "lib/**/*.md" | ||
| paths: &paths-filter |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you please revert the precise "paths"? Those other files change rarely and one day we may add a markdown fixture that actually changes the test, and we will spend a long time without noticing it. Unless the files are common and change frequently and they do non't need to run (the case for lib/*/pages/**/*.md, we shouldn't worry about excluding them).
| - otp_version: "28.1" | ||
| erlc_opts: "warnings_as_errors" | ||
| deterministic: true | ||
| skip_tests: true |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We don't want to add new CI entries exactly because for building docs we already have to compile and what not. And doing everything twice is wasteful.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So to be clear, we should still have a single entry that compiles, run docs, and test for deterministic, as it was done before. :)
|
I'm closing as it is easier to open up a new PR due to the requested changes |
Abstracted the documentation building into a composite action and avoids code duplication.
Improves (and fixes paths) in ci.yml for when the action needs to be updated. After the other PRs are merged, this action only tests building and testing Elixir.
Add very specific paths for documentation building.
Speed up by removing duplicates checks that are covered in other jobs (tests and format)
Use recently introduced anchors and aliases for paths, which avoids duplication.
Documentation: https://docs.github.com/en/actions/reference/workflows-and-actions/reusing-workflow-configurations#yaml-anchors-and-aliases
CI: Fix Github Action continue-on-error template error: See https://github.com/elixir-lang/elixir/actions/runs/19840880506/job/56848920255#step:9:47