-
Notifications
You must be signed in to change notification settings - Fork 109
Make tests run under the 256 tests limit; give this repo the ❤️ it deserves. #778
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
Conversation
993c827 to
7f57c81
Compare
e6b41c7 to
f2afabe
Compare
f4bc376 to
03c0189
Compare
jormundur00
left a comment
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.
Great work! Left a few comments, but all in all LGTM.
| test-changed-infrastructure: | ||
| name: "🧪 ${{ matrix.coordinates }} (GraalVM for JDK ${{ matrix.version }} @ ${{ matrix.os }})" | ||
| if: needs.get-changed-infrastructure.result == 'success' && needs.get-changed-infrastructure.outputs.none-found != 'true' && github.repository == 'oracle/graalvm-reachability-metadata' |
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.
I don't think we need to check github.repository == 'oracle/graalvm-reachability-metadata' here, as if get-changed-infrastructure is skipped test-changed-infrastructure will also be skipped due to needs.get-changed-infrastructure.
| name: "🧪 All build-logic triggered tests have passed" | ||
| runs-on: "ubuntu-22.04" | ||
| timeout-minutes: 1 | ||
| if: ${{ always() }} && github.repository == 'oracle/graalvm-reachability-metadata' |
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.
Don't think we need the repository check here either, as it's already made if the needed prerequisite job is ran.
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.
Fixed.
| - '**.md' | ||
| - 'library-and-framework-list*.json' | ||
| paths: | ||
| - 'metadata/*' |
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.
Are we sure we want to check metadata/* and not metadata/** here? Not an expert on wokflow syntax, but as I understand the wildcard definitions here, * should only include direct metadata directory descendants, while metadata/** should include nested directories too.
If that's correct, we should probably change that in other places where /* is used.
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.
Fixed.
|
Since this is blocking us I will merge the PR and address the comments in the follow up PR. |
42b1a57 to
b9af88c
Compare
- All commands now support a -Pcoordinates=k/n mode for batched execution. - One stop shop testing command: ./gradlew testAllParallel -Pparallelism=n - Documentation and structure cleanup (docs). - CLine support. - Complete command cleanup and simplification.
b9af88c to
aaf3d18
Compare
melix
left a comment
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.
This is a very large PR and tbh I'm not sure I can validate the changes, it's not trivial.
| - name: "Install required tools" | ||
| run: | | ||
| curl -sSfL https://raw.githubusercontent.com/anchore/grype/main/install.sh | sudo sh -s -- -b /usr/local/bin | ||
| curl -sSfL https://get.anchore.io/grype/v0.104.0/install.sh | sudo sh -s -- -b /usr/local/bin |
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.
Not different from the previous implementation, but running arbitrary shell commands from remote makes me kind of nervous. Maybe we should at least have a checksum to ensure the remote repo hasn't been compromised.
ci.jsonwhere we store the matrix of JDK and OS and flags. If this file is changed, run all tests in batches.test-changed-metadata.ymlshould just check if metadata changes.test-changed-infrastructure.ymlshould test only a representative set of libraries.-Pcoordinates=k/nmode for batched execution../gradlew testAllParallel -Pparallelism=ndocs/DEVELOPING.mddocs/CI.mdAGENTS.mdFixes: #681