Commit Graph
100 Commits
Author SHA1 Message Date
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
daz 8bac4a819c Split out check-and-unit-test into separate workflow 2024-04-10 06:01:23 -06:00
daz bd3d4b0246 Check for secrets when running tests that require them 2024-04-10 05:47:43 -06:00
daz 667e034cd9 Split out test that requires DV access key 2024-04-10 05:46:20 -06:00
daz cd54673221 Use runner-os consistently in integ-tests 2024-04-10 05:46:19 -06:00
daz 0ebfbb8f41 Always build 'dist' directory for integ-tests 2024-04-10 05:06:37 -06:00
daz 9169d36880 Consolidate 'dependency-submission' tests into integ-test workflow 2024-04-10 05:00:05 -06:00
daz 63fcfbfe27 Disable fail-fast for integ tests 2024-04-09 16:07:32 -06:00
Daz DeBoerandGitHub 47fb100300 Improve deprecation-upgrade-guide 2024-04-09 16:06:46 -06:00
Daz DeBoerandGitHub 1824c01ad8 Emit warnings when using deprecated inputs / actions (#139)
Fixes #108
2024-04-09 15:51:21 -06:00
daz dec6c472c1 Build outputs 2024-04-09 15:30:42 -06:00
daz aeb3156e6f Emit deprecation warning for 'gradle-build-action' 2024-04-09 15:30:42 -06:00
daz 7e9e469530 Rename 'input-params' to 'configuration' 2024-04-09 15:08:54 -06:00
daz 9d0de74673 Emit deprecation warnings for derecated inputs
- Adds an upgrade-guide to assist with resolving deprecations
- Emit a warning when deprecated features are used
- List all deprecated features in Job Summary and link to upgrade guide
2024-04-09 15:03:03 -06:00
Daz DeBoerandGitHub 2e02e6624e Allow a task name to be specified for dependency-submission (#135)
Fixes #125
2024-04-09 09:30:27 -06:00
daz c9822ff527 Document that config-cache cannot be restored for forked PRs 2024-04-09 09:01:32 -06:00
daz cfe478af6a Build outputs 2024-04-09 08:50:24 -06:00
daz 92975d7f32 Allow a task name to be specified for dependency-submission
Fixes: #125
2024-04-09 08:46:20 -06:00
Daz DeBoerandGitHub e235596c88 Only process build results once (#133)
On long-lived machines, it's possible that the `.build-results` directory isn't cleared between invocations. This will result in the job summary including results from previous jobs.

By marking each build-results file as 'processed' at the end of the job, we can avoid this scenario.
2024-04-08 19:44:46 -06:00
Daz DeBoerandGitHub 6232a3f503 Documentation improvements (#132)
- Add `RELEASING.md` to document the release process
- Mention the recommendation to disable local build-cache when remote
build-cache is available. Fixes #102
2024-04-08 19:19:50 -06:00
Daz DeBoerandGitHub 8ffe734df6 Make cache-keys more consistent (#131)
- All cache keys are now structured as `gradle-<cache-name>-<protocol-version>-<key>`. This ensures that extracted entries are prefixed and versioned consistently
- Avoid using custom cache-key prefix for extracted entries. This should reduce the churn in integration tests that require some level of cache isolation.

As a result of this change, cache entries written with previous versions of the action will not be used.
2024-04-08 16:56:12 -06:00
daz 59a5222069 Build outputs 2024-04-08 15:14:28 -06:00
daz 498f0e409b Update cache key names
- All cache keys are now structured as 'gradle-<cache-name>-<protocol-version>
  - This ensures that extracted entries are prefixed and versioned consistently
- Avoid using custom cache-key prefix for extracted entries. This should reduce the
  churn in integration tests that require some level of cache isolation.
2024-04-08 15:14:28 -06:00
daz 3335c16182 Move execution-related code into subpackage 2024-04-08 14:04:29 -06:00
daz 528fe78d31 Moved cache-related code into subpackage 2024-04-08 14:02:20 -06:00
daz ecf84edd45 Fix wrapper verification SHA 2024-04-08 12:51:37 -06:00
Daz DeBoerandGitHub 220951bf17 Fix develocity deprecations triggered by init-scripts (#128)
Fixes #126
2024-04-08 11:12:53 -06:00
daz c93523a078 Fix Develocity deprecation warnings triggered by init-scripts 2024-04-08 10:58:12 -06:00
daz 0ac212a9d2 Make it possible to run more init-script tests on M1 Mac
Older TestKit on M1 Mac doesn't allow env vars to be passed, so we need to use
jvmArgs instead.
2024-04-08 09:46:48 -06:00
daz 2b3c9df6d2 Bump Gradle used to run init-script tests 2024-04-07 23:40:17 -06:00
daz dd32675981 Build outputs 2024-04-07 22:43:28 -06:00
daz a9dc5dee4e Bump to CCUD plugin v2.0 everywhere 2024-04-07 22:42:14 -06:00
Daz DeBoerandGitHub dbdb67aa6c Complete migration of 'dependency-submission' to Typescript (#124)
Finishes the migration of `dependency-submission` to a Typescript action
(fixes #116)

- Use consistent input params to ensure behaviour is consistent with
'setup-gradle'
- Submit generated graph immediately instead of waiting until end of job
(fixes #123)
- Can now add a `dependency-submission` step after a `setup-gradle` step
in the same job (fixes #36)
2024-04-07 17:00:08 -06:00
daz 8691214514 Build outputs 2024-04-07 16:57:18 -06:00
daz 1105cf252a Replace sources/build with top-level ./build script 2024-04-07 16:57:18 -06:00
daz ab471b0c20 Better test coverage for 'dependency-submission'
- Add 'dependency-submission' failure cases
- Add dependency-submission to job summary demo
- Fix permissions for dependency review
2024-04-07 16:57:18 -06:00
daz 90bf65c87c Generated graph is submitted immediately by dependency-submission action
While `setup-gradle` must wait until the end of job to submit all of the generated
graphs, the `dependency-submission` action will not save/upload the generated graph
immediately, in the same step where it is generated.
2024-04-07 16:57:18 -06:00
daz 38a821729e Use consistent action params between setup-gradle and dependency-submission
To ensure expected caching (and other) behaviour, we should keep these config
parameters as consistent as possible.
2024-04-07 12:11:50 -06:00
daz 627fa7627c Revert "Provide default config values for dependency-submission"
This reverts commit b7ef93c7b7.
2024-04-07 11:54:02 -06:00
daz e40c718900 Only verify TOU agreement when required 2024-04-07 11:25:02 -06:00
Daz DeBoerandGitHub 19d422aa4b Convert dependency-submission action to TypeScript (#122)
The original implementation was a thin `composite` wrapper that delegated to `setup-gradle`.
It is now a full-fledged action sharing implementation details.
2024-04-07 11:12:45 -06:00
daz d6f94a4073 Build outputs 2024-04-07 11:00:35 -06:00
daz b7ef93c7b7 Provide default config values for dependency-submission 2024-04-07 11:00:34 -06:00
daz cfd20ecc0a Replace static config methods with config types
This will allow different entry points to have different inputs.
2024-04-07 11:00:34 -06:00
daz ed4d086d37 Make dependency-submission and setup-gradle play nicely
Now, a `dependency-submission` step will trigger a dependency-graph
generation, even if it follows a `setup-gradle` step in the workflow.

Similarly, a `setup-gradle` step with `dependency-graph` configured
will function as expected even if it follows a `setup-gradle` step.
2024-04-06 19:31:07 -06:00
daz ebf4d13461 Convert dependency-submission action to Typescript
Instead of being a thin wrapper over `setup-gradle`, the `dependency-submission`
action is now a fully-fledged action sharing implementation with `setup-gradle`.
2024-04-06 19:31:04 -06:00
daz 4214607904 Make prettier run recursively on src 2024-04-06 19:30:42 -06:00
daz d71ecafebf Minor test reorg 2024-04-06 16:00:53 -06:00
Daz DeBoerandGitHub 1d19edabdc Make it possible to test workflows locally with act (#121) 2024-04-06 14:58:03 -06:00
daz 4057bfe59d Add notes on testing with act 2024-04-06 14:56:53 -06:00
daz 1390ca6454 Don't rely on preinstalled gradle for test 2024-04-06 14:52:02 -06:00
daz a3f366ddb7 Replace 'download-dist' action with 'init-integ-test'
This action takes care of 'setup-java' as well as downloading the dist if required.
2024-04-06 14:52:02 -06:00
daz 340a6438d0 Add 'setup-java' step to all examples 2024-04-05 14:54:29 -06:00
Daz DeBoerandGitHub a1a85e9819 Link to FAQ from main docs 2024-04-04 16:44:58 -06:00
Daz DeBoerandGitHub 0b06ce12c8 Restructure documentation and add a dependency-submission FAQ (#110) 2024-04-04 16:38:14 -06:00
daz e24011a3b5 Update dependency-submission action for 3.2.0
- Point to `setup-gradle` v3.2.0
- Add back in removed inputs
2024-04-04 13:33:06 -06:00
Daz DeBoerandGitHub eb261d5636 Document plugin authentication in README 2024-04-04 12:43:18 -06:00
Daz DeBoerandGitHub 875d13660f Update NPM dependency versions 2024-04-04 12:34:24 -06:00
Daz DeBoerandGitHub a5a8ae9361 Bump to v1.3.0 of the dependency-graph plugin 2024-04-04 11:34:27 -06:00
Daz DeBoerandGitHub 5fe1aec3c1 Develocity updates (#101)
- Switch to use `com.gradle.develocity` for plugin ID
- Switch to use `v3.17` for plugin version
- Update for change documentation URLs
- Update for changes to `develocity` DSL
2024-04-03 21:09:16 -06:00
daz 7be6c56c3d Build outputs 2024-04-03 20:57:44 -06:00
daz 7e87a5e8d9 Improve test coverage for different plugin versions 2024-04-03 20:57:44 -06:00
daz 518b14b196 Switch from com.gradle.enterprise to com.gradle.develocity 2024-04-03 19:05:27 -06:00
daz 81b3a2db60 Bump to Develocity plugin 3.17 2024-04-03 19:05:27 -06:00
daz 195c67f931 Use Develocity plugin v3.17 for build-scan-publish 2024-04-03 14:51:01 -06:00
Daz DeBoerandGitHub 5512434733 Update README.md 2024-04-01 14:46:52 -06:00
daz faecef076b Build outputs 2024-04-01 12:24:45 -06:00
daz cc54166e15 Truncate long values in job summary table
Fixes #35
2024-04-01 12:24:45 -06:00
daz 12646f8198 Clarify that Gradle Wrapper is assumed for examples 2024-04-01 12:24:45 -06:00
daz 393df4bfa2 Bump to Gradle 8.7 2024-03-23 09:32:57 -06:00
daz 7c03a8d3fb Build outputs 2024-03-21 22:14:09 -06:00
daz a6050d4c14 Remove redundant method implementation 2024-03-21 21:52:16 -06:00