Commit Graph
100 Commits
Author SHA1 Message Date
daz de6862d826 Use bash to ensure env vars are expanded 2024-07-19 12:59:38 -06:00
daz 917439d87d Always set the GRADLE_USER_HOME env var 2024-07-19 11:55:34 -06:00
Daz DeBoerandGitHub 514ac344fc Use faster D: drive on windows for Gradle User Home and Gradle downloads (#299)
Fixes #290
2024-07-19 11:07:34 -06:00
daz f8aa3ed8b4 Use faster D: drive for Gradle User Home on Windows 2024-07-19 10:04:41 -06:00
daz b175189376 Download and install Gradle distributions into tmpdir 2024-07-19 09:14:37 -06:00
daz e7f9f25d86 Delete excluded paths on restore Gradle Home
Fixes #296
2024-07-19 09:05:31 -06:00
Daz DeBoerandGitHub 7a630bc41b Disable cache-cleanup on config-cache hit (#295)
Fixes #19
2024-07-18 22:32:30 -06:00
daz a77cb2b0f8 Add test for no cache-cleanup with config-cache hit 2024-07-18 22:25:59 -06:00
daz 54f7dc55a5 Adapt for new structure of build results 2024-07-18 22:25:58 -06:00
daz 579a013225 Capture config-cache hit in build results 2024-07-18 22:25:58 -06:00
daz 94355bbb2f Split build-results and build-scan capture into separate files 2024-07-18 22:25:58 -06:00
daz 6d20c16462 Use settingsEvaluated in preference to projectsEvaluated in init-script 2024-07-18 22:25:53 -06:00
Daz DeBoerandGitHub 723ca4de01 Caching improvements (#294)
- Better reporting of cache status in Job Summary (including cache
cleanup)
- Allow cache cleanup to be skipped when Gradle builds fail
- Refactoring
2024-07-18 11:33:36 -06:00
daz 72dde7ef1e Move action entry-point sources 2024-07-18 11:09:54 -06:00
daz 3083f01451 Use new cache-cleanup param in integtest 2024-07-17 22:47:46 -06:00
daz 27dea2df09 Allow better control over cache-cleanup
Adds new 'cache-cleanup' parameter with 3 settings: 'never', 'on-success' and 'always'.
This gives users more control over whether cache cleanup should occur.

Fixes #71
2024-07-17 20:36:33 -06:00
daz 91a526b647 Refactor BuildResults 2024-07-17 20:35:14 -06:00
daz d92de28b80 Improve cache reporting
- More succinct messages for cache-read-only and cache-disabled
- Report on cache-cleanup enabled/disabled status
2024-07-17 20:29:57 -06:00
daz 8d318190ad Add better explanation for cache status
- Clarify default settings for cache-read-only
- Explain why cache was disabled or read-only
- Provide links to documentation in Job Summary

Fixes #255
2024-07-17 15:17:09 -06:00
daz a025cbe7ec Don't run test on windows 2024-07-16 22:43:22 -06:00
Daz DeBoerandGitHub 4a315dceb2 Isolate 'dependency-submission' action from 'setup-gradle' (#293) 2024-07-16 22:12:40 -06:00
daz bb7a843511 Reset dependency-graph after submission
Fixes #204
2024-07-16 21:15:51 -06:00
daz 9a57bcca96 Add test for combining setup-gradle and dependency-submission 2024-07-16 21:15:30 -06:00
daz 22818445b3 Restrict download-and-submit to selected file 2024-07-16 21:15:29 -06:00
Daz DeBoerandGitHub dff3ef9b8d Only fetch checksums for unknown wrapper versions (#292)
The checksum values for most wrapper versions are hard-coded into the
action. These known checksum values are first used for validation: only
if none of the known values work do we download checksums.

Previously, we blindly downloaded all of the checksum values in this
case: we now only download the checksums for versions that are not in
our "known" set.

Fixes #171
2024-07-16 13:04:57 -06:00
Daz DeBoerandGitHub 01254b3eaa Add additional references to dependency-submission docs
Fixes #276
2024-07-15 16:21:32 -06:00
Daz DeBoerandGitHub ff865cb801 Upload dependency graph on submission failure (#291) 2024-07-15 12:47:06 -06:00
daz c3acd19a4a Update to Gradle 8.9 2024-07-14 08:12:33 -06:00
daz 87bf5ca2ea Update DV plugin versions that were missed by automation 2024-07-05 11:33:00 -06:00
Daz DeBoerandGitHub 81b4ece56a Clarify that tags are isolated in cache entries 2024-07-02 12:15:24 -06:00
Daz DeBoerandGitHub dad038d88d Use Gradle 8.8 features for Gradle Home cleanup (#272)
Fixes #33
Fixes #24
Fixes #46 
Fixes #169
2024-06-28 13:46:10 -06:00
daz 621f3b3f79 Run cache-cleanup build with --info
Resolves #169
2024-06-28 13:25:56 -06:00
daz 4022faad7e Fix integ-test-cache-cleanup.yml for running on act 2024-06-28 13:21:54 -06:00
daz 95ef72241e Use Gradle 8.8 features for cleanup
Gradle 8.8 introduces new features that allow us to avoid using
timestamp manipulation to force the cleanup of the Gradle User Home directory.

This solution is simpler and more robust, but relies on Gradle 8.8+ always being
used for the cache cleanup operation.

Fixes #24
2024-06-28 13:06:23 -06:00
daz 169bec5d8b Provision latest Gradle for cache-cleanup
To cleanup Gradle User Home, a Gradle build must be executed.
Newer Gradle versions are able to cleanup the home directories of older versions,
but not vice-versa.

With this change, the latest version of Gradle is automatically provisioned
in order to run Gradle User Home cleanup. This ensures a consistent version of
Gradle is used for cleanup, and fixes #33 where Gradle is not pre-installed on
a custom runner.
2024-06-28 12:39:09 -06:00
Daz DeBoerandGitHub b9abb7b195 Use latest dependency graph plugin (#269) 2024-06-27 19:42:01 -06:00
Daz DeBoerandGitHub c04155e2ca Remove instructions for merging Dependabot PRs
These are no longer required, since the bot will update the `dist` directory.
2024-06-27 19:32:31 -06:00
daz 1da1cc97d5 Rename Develocity secret 2024-06-27 18:49:52 -06:00
Daz DeBoerandGitHub 719985db3d Simplify requesting short-lived Develocity access tokens (#259)
- Always fetch a token for every hostname in the access key
- Use any tokens that are successfully fetched
- Retain access key if no tokens can be fetched
2024-06-14 21:18:08 -06:00
daz 8dbe9a3802 Update DV access key regex to be more selective
This should address the code-scanning alert
  https://github.com/gradle/actions/security/code-scanning/1
2024-06-13 13:35:19 -06:00
daz 30c82f0068 Fail on invalid boolean for Develocity inputs 2024-06-13 13:31:25 -06:00
daz e3bc05f224 Run CodeQL on PRs 2024-06-13 13:15:23 -06:00
daz 485ea107b7 Run CodeQL on dev/* branches 2024-06-13 13:01:56 -06:00
daz 2db3ae936e Update to Gradle 8.8 2024-06-13 09:03:40 -06:00
Daz DeBoerandGitHub ea14aa9caf Dependency updates (#222)
- Bump to com.gradle.develocity plugin v3.17.3
- Bump JVM dependencies in sample projects
2024-05-11 07:45:47 -06:00
daz 941b289d84 Avoid running Gradle 3.5.1 on MacOS where Java 8 is not available 2024-04-25 21:23:15 +01:00
Daz DeBoerandGitHub bce7daca54 Improve build scan badge readability with long tasks (#200)
Improve readability of build scan when requested tasks is very long, as
agreed in #175. HTML diff for each case of job summary is clearer in
cd62d9c9ef.

- Ensure a minimum size for the badge, at least the size of "Build
scan®", by preventing a line break with ` `
- Reduce the size of the badge by tweaking the inner text

Also fix a typo in the build shell script.
2024-04-25 21:22:36 +01:00
daz 11eaed9738 Avoid Java 8 since it is not available on MacOS runners 2024-04-25 20:17:16 +01:00
daz a772c14b33 Avoid updating real dependency graph in tests 2024-04-25 11:19:43 +01:00
daz 7763d71170 Set the report dir for download-and-submit
Fixes #196
2024-04-25 11:19:43 +01:00
daz d124ec149f Retain and log stacktrace for submission errors 2024-04-19 10:24:45 -06:00
Daz DeBoerandGitHub c198d84863 Support custom report dir for dependency-submission (#189)
If the `DEPENDENCY_GRAPH_REPORT_DIR` var is set, use this value when locating dependency-graph files to upload/submit.

Fixes #188
2024-04-18 13:40:41 -06:00
Daz DeBoerandGitHub d211a39090 Documentation updates (#187)
* Use consistent YAML syntax in example workflows
* Add link to plugin env vars
2024-04-18 09:39:15 -06:00
daz eef9b10930 Bump Develocity and CCUD plugin versions 2024-04-17 19:08:51 -06:00
daz 3c2d3b6f2a Include VS code workspace file
This workspace sets things up so that source code navigation works
propertly in VS code.
2024-04-12 15:39:30 -06:00
daz 0fa10b26b8 Update releasing guide 2024-04-12 14:01:48 -06:00
daz 6d55902761 Deprecate 'wrapper-validation-action'
Deprecation warning will be emitted when we:
- Change 'wrapper-validation-action' to delegate to 'actions/wrapper-validation'
- Add the 'wrapper-validation-action' id as env var before delegating
2024-04-12 10:34:50 -06:00
daz 0325d99e52 Workflow fixes
- Fix typo in 'paths-ignore'
- Add back 'buildDistribution' to demo job summary
2024-04-12 10:34:50 -06:00
daz d0f2f0387e Update build script and contribution guide 2024-04-12 09:15:19 -06:00
daz feb10e7858 Minor formatting fix 2024-04-12 00:39:23 -06:00
daz 5893d44739 Use fixed job name for cache restore 2024-04-12 00:38:28 -06:00
daz fb14e0ee5b Skip the 'download-dist' step for full integ-test
After the '[bot] update dist directory' commit, we run a full test suite.
This will now use the content from the 'dist' directory, rather than
regenerating this content in the test.
2024-04-12 00:24:44 -06:00
daz 0261d93071 Switch back to unique cache entries with full integ-test 2024-04-11 23:00:25 -06:00
daz b855ea8d07 Revert inconsequential change 2024-04-11 22:55:22 -06:00
daz 7d97cfadb0 Avoid most workflows when only 'dist' has changed 2024-04-11 22:54:09 -06:00
daz 3e6b0e422f Inconsequential change 2024-04-11 22:47:10 -06:00
daz ebf9707dff Use a bot token to generate "Update dist" commit
This will permit workflows to run when this commit is applied.

- Avoid running ci-update-dist for modifications to dist directory (no recursion)
- Run full-suite only in response to bot updates.
2024-04-11 22:44:13 -06:00
daz 0627979b9c Only allow one integ-test at a time per branch 2024-04-11 22:44:13 -06:00
daz 713dee76c6 Update extracted cache entries for Gradle 8.6+
- Extracted transform jars for newer Gradle versions 8.6+
- Extracted `groovy-dsl` which was introduced in Gradle 8.7

Fixes #45
2024-04-11 14:04:25 -06:00
Daz DeBoerandGitHub 38e549269f Allow wrapper validation via the 'setup-gradle' action (#162)
Adds a 'validate-wrappers' option to `gradle/actions/setup-gradle`,
which defaults to 'false'.
When 'true', the action will first validate all Gradle wrappers in the
repository before proceeding.

Fixes #161
2024-04-11 12:40:45 -06:00
daz e9d1819b96 Document 'validate-wrappers' input 2024-04-11 12:35:15 -06:00
daz 62557f3635 Enable wrapper validation with setup-gradle action 2024-04-11 11:56:55 -06:00
daz 33741bd2bb Make it easier to run workflows locally with 'act' 2024-04-11 11:56:01 -06:00
daz ea328a863d Update documentation link 2024-04-11 10:23:52 -06:00
daz ba79f71e36 Consolidate error processing in actions 2024-04-11 10:19:53 -06:00
Daz DeBoerandGitHub 3a234be20e Import wrapper validation into gradle/actions (#159)
Having a single repository to host all of the Gradle GitHub Actions will
provide numerous benefits:

1. Easier to stay on top of dependency updates
2. More frequent release cycle
3. Enable integration between different actions like automatic wrapper
validation with `setup-gradle`.
2024-04-11 09:49:32 -06:00
daz c1a61df4f1 Remove unused dependency 2024-04-11 09:45:42 -06:00
daz fa4107aefb Add docs for wrapper-validation action 2024-04-11 09:04:13 -06:00
daz 39cecc54d0 Add wrapper-validation workflows 2024-04-11 08:39:21 -06:00
daz f1476a710d Initial import of wrapper-validation-action 2024-04-10 21:17:49 -06:00
daz 3252e655d0 Ensure each integ-test gets a unique cache-key-prefix 2024-04-10 20:07:14 -06:00
daz be0b7f44a7 Temporarily disable cache prefixing in integ tests
This is an attempt to stabilize our CI workflows.
2024-04-10 19:49:08 -06:00
daz 30a2ee13f2 Skip certain tests when running from fork 2024-04-10 17:05:09 -06:00
daz d37a479015 Use pull_request triggers primarily for workflows
Instead of relying on push triggers in general, we now use pull_request
and reserve push triggers for main and release branches.

This makes the behaviour more consistent for users contributing from
repository forks. However, we no longer have a quick-feedback loop
for development.
2024-04-10 16:48:14 -06:00
daz 3e155e3d92 Avoid running incompatible tests on Windows 2024-04-10 13:11:19 -06:00
e21decc9db Create toolchains.xml dynamically based on envs (#150)
Different runners have different JDKs installed, so using a hard-coded
list for
`toolchains.xml` doesn't work. With this change, the file is generated
based on the available `JAVA_HOME_*` environment variables.

Fixes #89 

Thanks @hfhbd for the contribution!

Co-authored-by: hfhbd <22521688+hfhbd@users.noreply.github.com>
2024-04-10 12:25:22 -06:00
daz 6832731061 Fix the 'build-dist' action 2024-04-10 12:16:13 -06:00
daz b2fd266e89 List changed files when failing due to dist directory change
Hopefully this will help track down spurious failures.
2024-04-10 11:36:05 -06:00
daz 0be451eca3 Simplify the workflow triggers 2024-04-10 11:09:42 -06:00
daz 7b822e51a5 Merge quick and full tests into single workflow
- Run quick suite for Dependabot
- Run quick suite in forks
- Run quick suite if no PR is associated with commit
- Otherwise run full suite
2024-04-10 09:50:15 -06:00
daz 9e47918adf Build and commit changes to 'dist' automatically
Instead of requiring that developers keep the 'dist' directory up-to-date,
this process is now automated via a workflow.
Whenever a commit is pushed to 'main' (or a 'release/**' branch), the workflow will
build the application and commit any changes to the 'dist' directory.
2024-04-10 07:33:46 -06:00
daz b64dafb1c9 Use locally built dist for demo workflows 2024-04-10 07:33:46 -06:00
Daz DeBoerandGitHub 6a8b99d4b5 Improve GHA workflows (#148)
A bunch of improvements to the GHA workflow pipeline including:
- Separate workflow for unit tests
- Always use a locally-built dist directory for integ-tests
- Only run 'quick' integ-tests for non-PR commits. Once a PR is submitted, the 'full' suite will be run on each push.
2024-04-10 07:03:41 -06:00
daz 153b1135d0 Remove old workflow 2024-04-10 06:58:06 -06:00
daz 211d342ee6 Rename workflow 2024-04-10 06:57:13 -06:00
daz 6599acbe46 Add back dependency-review.yml so we can rename it 2024-04-10 06:55:58 -06:00
daz e7c0080dc5 Remove old workflows 2024-04-10 06:52:39 -06:00
daz 0979245ebd Rename 'check' workflows to 'integ-test' 2024-04-10 06:50:04 -06:00
daz 73638aa351 Run quick-check only if commit is NOT part of a PR
Without a mechanism to check this in the workflow trigger,
we instead run the workflow but skip all jobs if the commit belongs to a PR.

This effectively means that commits-without-PR will run quick-check, and commits-with-PR
will run full-check.
2024-04-10 06:39:42 -06:00
daz d28f25d60a Cache npm 2024-04-10 06:04:32 -06:00