Commit Graph
100 Commits
Author SHA1 Message Date
daz 173b6ae553 Improve testing for dependency graph failures
- Update test to use input param
- Rename Job to indicate expected failure
2024-01-13 07:21:08 -07:00
daz a01f794d92 Add dependency-graph-continue-on-failure input param
- Translate to env var for init-script support
- Use when deciding whether to log or rethrow errors
- Add a custom error type to trigger failure in post action
2024-01-13 07:20:45 -07:00
daz 369fcc54d8 Add tests for dependency graph failures 2024-01-13 07:20:45 -07:00
daz 6523a87c8f Update supported Gradle versions to match plugin 2024-01-12 13:33:42 -07:00
daz 11693a1169 Run npm tasks concurrently 2024-01-12 07:22:24 -07:00
daz 0e6b90783e Fix dependency-graph with configuration-cache
When state is reused from the configuration cache, no dependencies are resolved.
This fix prevents the action from submitting an empty dependency graph in this case.
2024-01-11 21:25:29 -07:00
Daz DeBoerandGitHub 1a18d0b2d3 Update description of cache key 2024-01-09 20:10:49 -07:00
Daz DeBoerandGitHub 7af89832c5 Further improvements to Merge Queue docs 2024-01-08 13:00:48 -07:00
Daz DeBoerandGitHub b5ebb0cc96 Document caching with merge-queue 2024-01-08 12:58:38 -07:00
daz 3a75647ad4 Remove 'gradle-executable' input param 2024-01-04 13:53:16 -07:00
daz 4dda5928c7 Update CodeQL config to latest default 2024-01-04 13:03:33 -07:00
Daz DeBoerandGitHub 6c7537229b Merge pull request #1026 from gradle/dd/java-toolchains
Use Maven toolchains.xml to register pre-installed JDKs as java toolchains
2024-01-04 05:34:34 +01:00
daz 650620f9f9 Build outputs 2024-01-03 21:12:13 -07:00
daz d4e24dfc10 Register pre-installed JDKs in .m2/toolchains.xml
Since adding these to the `org.gradle.java.installations.fromEnv` property
is problematic (#1024), this mechanism allows the default toolchains to
be discovered by Gradle via a different mechanism.

The default JDK installations are added to `~/.m2/toolchains.xml` such that
they are discoverable by Gradle toolchain support.
The `setup-java` action also writes to this file, so we merge with any existing
content: this allows both pre-installed and "setup" JDKs to be automatically
detected by Gradle.
2024-01-03 21:08:40 -07:00
daz 7c57ba1136 Remove writing value to gradle.properties in setup
The written property will override any project-level setting, which
can lead to confusing behaviour.

Fixes #1024
2024-01-03 18:49:57 -07:00
Daz DeBoerandGitHub 32bab5b15a Allow entries with same Job ID to match in different workflows
Previously, the workflow name was always included when matching a cache entry for the current job.
This can be overly restrictive when job definitions are shared between different workflows. 
The workflow name is still encoded in the cache entry key, but not in the restore key searching for entries with a matching job.

Fixes #1017
2024-01-03 18:38:36 -07:00
daz 270f30ba56 Always initialize encryption key 2024-01-02 14:28:29 -07:00
daz c00a847f3f Enable config-cache tests
- Enable in full-build
- Pass encryption key secret to test workflow
2024-01-02 11:31:06 -07:00
daz e2aa3f332c Test with Gradle 8.6-rc-1 2024-01-01 19:29:46 -07:00
Daz DeBoerandGitHub 4faac45dc8 Merge pull request #1021 from gradle/dd/pr-comment
Automatically add Job Summary as PR comment
2024-01-02 01:51:30 +01:00
daz 45ed60450e Build outputs 2024-01-01 17:50:40 -07:00
daz 72abd931ce Set workflow permissions where required 2024-01-01 17:50:40 -07:00
daz a4107da76d Warn when permissions not set for PR comment 2024-01-01 17:50:40 -07:00
daz d16a3f4093 Update docs for PR comment 2024-01-01 17:50:40 -07:00
daz 333078158e Allow job-summary only on failure
Instead of a binary true/false option, it is now possible to only add
a Job Summary when the build failed. This applies both to the overall
Job Summary added to the workflow run, and to the new PR comment feature.
2024-01-01 17:50:40 -07:00
daz 34a07dced0 Automatically add Job Summary as PR comment
Rather than requiring a separate step to add a PR comment,
the `gradle-build-action` can now automatically add the Job Summary
as a PR comment

Fixes #1020
2024-01-01 17:50:15 -07:00
daz 24e9e9dc6b Refactor and simplify summary generation 2023-12-31 15:12:04 -07:00
Daz DeBoerandGitHub c791d32284 Reference 8.6-rc-1 in docs 2023-12-31 13:17:35 -07:00
Daz DeBoerandGitHub ceb0c736c1 Document using secret for encryption key 2023-12-31 13:13:44 -07:00
Daz DeBoerandGitHub 3f2ca32cb0 Document configuration-cache support 2023-12-26 18:29:50 -07:00
Daz DeBoerandGitHub 5d2dd0dea4 Merge pull request #1012 from gradle/dd/artifact-lib-update
Update to actions/artifact v2.0.0
2023-12-24 05:35:16 +01:00
Daz DeBoerandGitHub e865911745 Merge pull request #1005 from gradle/dependabot/gradle/dot-github/workflow-samples/kotlin-dsl/com.google.guava-guava-33.0.0-jre
Bump com.google.guava:guava from 32.1.3-jre to 33.0.0-jre in /.github/workflow-samples/kotlin-dsl
2023-12-24 05:27:49 +01:00
daz 0538e78c32 Build outputs 2023-12-23 21:25:47 -07:00
daz a4dabb3a70 Adapt dependency-graph support for new artifact API
- Don't upload artifacts when using 'generate-and-submit'
- New option 'generate-and-upload' to be used with 'download-and-submit'
- Use Artifact API for downloading in the same and different workflow
2023-12-23 21:24:11 -07:00
daz 51b7a82e8e Update to latest artifact lib 2023-12-23 21:23:57 -07:00
daz 92cb3fe7e8 Build outputs 2023-12-23 18:25:52 -07:00
daz e843ea4565 Update NPM dependencies 2023-12-23 18:25:51 -07:00
daz 9c7269b85b Update to latest Develocity plugins 2023-12-23 18:25:50 -07:00
Daz DeBoerandGitHub a7b743845f Merge pull request #968 : Prepare for version 3.x
Contains all functionality planned for the initial 3.x release.

- Fixes #726 
- Fixes #946 
- Fixes #966 
- Fixes #996
2023-12-23 20:43:34 +01:00
daz e6566cde89 Build outputs 2023-12-23 12:31:17 -07:00
daz 89f8dcd819 Complete deprecation of direct Gradle execution
- Deprecate `build-root-directory` and `gradle-executable` parameters
- Remove examples from README
2023-12-23 12:22:44 -07:00
daz 93050d1483 Improvements to cache reporting
- Avoid "Entry not saved: reason unknown" when entry was not restored
- Avoid "Entry not saved: Encryption key not provided" when no config-cache data found
- Avoid spurious log message when no config-cache data found
2023-12-23 12:21:27 -07:00
daz df38ec05e0 Use 'release-nightly' for config-cache test
Config-cache save/restore is dependent on Gradle 8.6.
Use of the release-nightly is temporary until 8.6 is released.
2023-12-23 12:21:19 -07:00
daz b3f092e821 Avoid saving config-cache from Gradle < 8.6
Earlier versions of Gradle didn't support the `GRADLE_ENCRYPTION_KEY`
for the configuration-cache, and so are either not useful to save,
or are actually unsafe due to unencrypted secrets.

We use semver to compare the Gradle version used to produce the config-cache
entry with the minimum Gradle version required.
2023-12-23 09:13:46 -07:00
daz 63ce84df08 Don't create entry for non-existant directory
- Filter out config-cache directories that do not exist when constructing
  cache entry definitions
2023-12-23 09:12:30 -07:00
daz 57f3f23714 Improve non-restore behavior for config-cache
- Avoid logging "not restoring" message when no entries exist to restore
- Clear the entries from metadata when they are not restored. This ensures that
  the non-restored entries are correctly purged.
2023-12-23 09:08:40 -07:00
daz 38785d7d62 Update integ test for config-cache caching
- Rename test for clarity
- Use cache-encryption-key in config-cache test
2023-12-22 12:52:09 -07:00
daz a738af78ea Provide cache-encryption-key as action input
This makes it easier for users to enable config-cache saving in their workflow.

Config-cache data will only be saved/restored when the key is provided,
and the key is exported as `GRADLE_ENCRYPTION_KEY` for use in subsequent steps.
2023-12-22 12:52:09 -07:00
daz ae24bf6608 Log completion of post-action step 2023-12-20 19:46:02 -07:00
daz 334a4b8d4d Reinstate configuration-cache save/restore capability 2023-12-20 17:31:01 -07:00
daz 009bd36b91 Exclude cc-keystore from Gradle User Home 2023-12-20 17:31:01 -07:00
daz 9d6738618d Support wildcards in cache-excludes 2023-12-20 10:05:25 -07:00
daz f053e6b7e7 Deprecate the arguments parameter
Fixes #996
2023-12-20 09:57:20 -07:00
daz c821b7c4f1 Update to run on Node 20 2023-12-20 09:57:18 -07:00
daz 982da8e78c Attempt to make init-script compatible with Gradle 1.12
The `PluginManager` type wasn't introduced until Gradle 2.x.
Remove this type from the method signature in an attempt to allow this
file to be parsed with Gradle 1.12.
2023-12-19 14:12:27 -07:00
daz a0fc8606d2 Build outputs 2023-12-19 14:08:34 -07:00
daz a1980784de Improve reporting for dependency-graph failure
The previous message was assuming a permissions issue, and was not
including the underlying error message in the response.
2023-12-19 14:05:20 -07:00
Daz DeBoerandGitHub f95e9c7459 Clarify dependency-graph example 2023-12-12 10:48:54 -07:00
daz 8cbcb9948b Plugin repository URL is configurable
The repository URL used to resolve the `github-dependency-graph-gradle-plugin` is now
configurable, allowing a user to specify an internal proxy if the public portal is not available.

Specify a custom plugin repository using the `GRADLE_PLUGIN_REPOSITORY_URL` env var,
or the `gradle.plugin-repository.url` System property.

Fixes #933
2023-12-11 21:15:34 -07:00
daz a71aff6a12 Handle failure in cache-cleanup
Do not abort the remainder of the post-action on failure in cache-cleanup.
Instead, just log a warning and continue.

Fixes #858
Fixes #990
2023-12-11 20:38:28 -07:00
daz 77699bae74 Handle failure writing build-results file
Fixes #866
2023-12-11 20:18:58 -07:00
daz dc5927259f Merge branch 'dd/dependency-updates'
* dd/dependency-updates:
  Bumps the npm-dependencies group with 5 updates:
  Bump the github-actions group with 2 updates
  Bump from Gradle 8.4 to Gradle 8.5
2023-12-11 19:49:28 -07:00
daz 4f0075d967 Clarify docs for dedicated workflow
Fixes #976
2023-12-11 19:48:32 -07:00
daz e1f9864a52 Bumps the npm-dependencies group with 5 updates:
| Package | From | To |
    | --- | --- | --- |
    | [@types/jest](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jest) | `29.5.8` | `29.5.11` |
    | [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `6.12.0` | `6.14.0` |
    | [eslint](https://github.com/eslint/eslint) | `8.54.0` | `8.55.0` |
    | [prettier](https://github.com/prettier/prettier) | `3.1.0` | `3.1.1` |
    | [typescript](https://github.com/Microsoft/TypeScript) | `5.3.2` | `5.3.3` |
2023-12-11 19:43:02 -07:00
daz 39d8c6d06e Bump from Gradle 8.4 to Gradle 8.5 2023-12-11 18:33:39 -07:00
daz 87a9a15658 Use 1.0.0 release of dependency graph plugin 2023-11-27 17:46:35 +10:00
Daz DeBoerandGitHub 375481748b Document artifact-retention-days 2023-11-26 19:46:29 -07:00
daz beff1c573c Update dev dependencies 2023-11-27 12:28:37 +10:00
Daz DeBoerandGitHub 9bca466e27 Make artifact retention configurable
- Added a new `artifact-retention-days` input parameter to control retention of uploaded artifacts
- Artifacts retention will use repository settings if not overridden.
2023-11-09 00:06:31 -07:00
Daz DeBoerandGitHub f757bcfd86 Merge pull request #951 from gradle/dd/v2.9.1
Update dependencies
2023-11-09 06:19:22 +01:00
daz 8b6c211905 Bump to RC of github dependency graph plugin 2023-11-08 21:11:42 -08:00
daz 8db1c7621b Build outputs 2023-11-08 21:02:15 -08:00
daz 6eaacfc06c Update NPM dependencies 2023-11-08 21:02:15 -08:00
daz d5fbcc8361 Bump java dependency versions in tests 2023-11-08 21:02:15 -08:00
daz 0e761ca2b4 Bump to Gradle 8.4 for tests and samples 2023-11-08 21:02:15 -08:00
daz 6b7c087721 Bump version of Develocity plugins 2023-11-08 20:35:00 -08:00
Daz DeBoerandGitHub 62cce3c597 FIx dependency review example in README 2023-09-30 18:24:45 -06:00
Daz DeBoerandGitHub 842c587ad8 Merge pull request #911 - Improve dependency review support 2023-10-01 02:01:56 +02:00
daz 4241e05054 Document configuration for dependency-review-action 2023-09-30 17:45:44 -06:00
daz bfa3c0508e Build outputs 2023-09-30 08:49:10 -06:00
daz c3bdce8205 Warn on dependency-graph-submit failure
A common issue when submitting a dependency graph is that the required
'contents: write' permission is not set.
We now catch any dependency submission failure and inform the user to check
that the required permissions are available.
2023-09-30 08:47:10 -06:00
daz f92e7c3428 Improve compat with dependency-review-action
When using 'download-and-submit' for dependency graphs, we now run the
submission immediately instead of waiting until the post-action.
This allows a single job to both submit the graph and run the dependency
review action.
2023-09-29 20:36:16 -06:00
daz d1b726d8c1 Do not generate dependency graph in cache-cleanup
- Allow environment variables to be overridden by system properties in dependency-graph initscript
- Set `GITHUB_DEPENDENCY_GRAPH_ENABLED=false` when executing Gradle for cache cleanup
2023-09-29 22:55:54 +02:00
Daz DeBoerandGitHub 6fcc109efa Dependency updates (#904)
### Github Action updates

Updates `gradle/gradle-build-action` from 2.8.0 to 2.8.1

### NPM updates

Updates `@octokit/webhooks-types` from 7.3.0 to 7.3.1
- [Release notes](https://github.com/octokit/webhooks/releases)
- [Commits](https://github.com/octokit/webhooks/compare/v7.3.0...v7.3.1)

Updates `@typescript-eslint/parser` from 6.7.2 to 6.7.3
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v6.7.3/packages/parser)

Updates `eslint` from 8.49.0 to 8.50.0
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v8.49.0...v8.50.0)
2023-09-29 13:55:35 -06:00
daz 324fbdc804 Update to dep-graph plugin 0.4.1 2023-09-29 13:22:08 -06:00
daz 5658338fb0 Build outputs 2023-09-26 15:51:30 +02:00
daz 87ccc98a2a Use correct SHA for pull request events
In a pull request, GITHUB_SHA is set to the "last merge commit on the GITHUB_REF branch".
This isn't the correct value to use when generating a dependency graph.
This changes to use the value of `pull_request.head.sha`, which is the correct
value for a dependency graph.

Fixes #882
2023-09-26 15:51:30 +02:00
daz 4441c9f9bf Update to dep-graph plugin 0.4.0 2023-09-26 15:51:30 +02:00
Daz DeBoerandGitHub b5126f31db Use github.getOctokit() for compat with GitHub Enterprise
Thanks @nise-nabe for the inspiration

Fixes #885
2023-09-21 10:55:26 -06:00
Daz DeBoerandGitHub d8615ccc8b Document configuration to publish to scans.gradle.com
Fixes #870
2023-09-21 10:47:51 -06:00
Daz DeBoer 444c20baf7 Test multiple dependency graphs on all os's 2023-09-21 18:22:31 +02:00
daz aea76e1766 Dependency updates 2023-09-21 10:01:33 -06:00
daz 103e3a7ba7 Build outputs 2023-09-21 08:47:55 -06:00
daz b063df05a4 Bump GE plugin versions 2023-09-21 08:41:43 -06:00
Daz DeBoerandGitHub ed940a329a Fix name of test dependency-graph workflow 2023-09-21 08:19:49 -06:00
Daz DeBoerandGitHub 3bfe3a4658 Clarify documentation
Fixes #867
2023-09-04 16:09:52 -06:00
daz 8f08e41675 Use unique cache key for workflow 2023-08-28 12:40:55 -06:00
Daz DeBoerandGitHub ef76a971e2 Simplify GE-inject config params (#863) 2023-08-28 11:59:09 -06:00
Daz DeBoerandGitHub 3122f2c659 Mention GE authentication with GE injection 2023-08-23 12:07:20 -06:00
Daz DeBoerandGitHub 53c4cf6c4c Merge pull request #861 from gradle/dd/dependency-updates
Dependency updates
2023-08-23 15:59:29 +02:00