Daz DeBoer
a587e93714
Test coverage: Verify local build cache is restored with gradle-user-home
2021-08-27 12:53:02 -06:00
Daz DeBoer
75e00ee3d1
Test coverage: Verify dependency caching by running offline build
2021-08-27 12:53:02 -06:00
Daz DeBoer
c01af7a6f6
Test coverage: verify correct Gradle version is being used
2021-08-27 12:53:02 -06:00
Daz DeBoer
c79d4172e0
Build outputs
2021-08-27 12:53:01 -06:00
Daz DeBoer
b85ac67c9a
Seed the cache key with workflow id in CI
...
This will eliminate cache entries from previous workflow runs, allowing
us to test cache functionality in isolation. If the `CACHE_KEY_SEED` environment
variable is not set, this will have no impact.
2021-08-27 12:52:01 -06:00
Daz DeBoer
fa0c026e07
Always execute Gradle with --no-daemon
...
The Gradle daemon is not useful for ephemeral builds, and the process
can hold file locks which interfere with cache entry generation.
In the case where multiple Gradle invocations occur in the same job,
we could provide a way for users to override this behaviour, taking care
of stopping any daemon process at the end of the job.
2021-08-27 12:21:46 -06:00
Daz DeBoer
986024f0b7
Adapt README and workflow for new caching
2021-08-26 17:25:50 -06:00
Daz DeBoer
6fca6b3929
Add support for read-only caching in v2
2021-08-26 17:25:49 -06:00
Daz DeBoer
d9cc0aeccf
Remove old caching code
2021-08-24 12:54:21 -06:00
Daz DeBoer
5340f6e816
Add cache for project .gradle dir
...
- For now, this is limited to configuration-cache directory
2021-08-24 12:52:51 -06:00
Daz DeBoer
c211be411e
Use monolithic cache for Gradle User Home
...
- Do not restore cache when GUH exists
- Include RUNNER_OS in the cache key
- Do not save cache on exact hit
- Only save cache in the final post action
- Log before saving cache
2021-08-24 12:52:51 -06:00
Daz DeBoer
b3afdc78a7
Truncate Gradle args when constructing cache key ( #71 )
...
Cache keys have a hard limit of 512 characters, so we need to ensure that we don't generate a key longer than this.
- Remove excess whitespace
- Truncate to 400 characters
Fixes #70
2021-08-24 12:46:48 -06:00
Daz DeBoer
e0c2736e35
Include Gradle invocation arguments in cache keys ( #69 )
...
This permits a new cache entry to be persisted when a subsequent Gradle invocation does more work that an earlier invocation.
Fixes #68
2021-08-22 17:11:05 -06:00
Daz DeBoer
a63892c289
Log cache entry on save
2021-08-22 14:58:36 -06:00
Daz DeBoer
d432f2086c
Provide a better description for the action
2021-08-22 14:48:38 -06:00
Daz DeBoer
eaad2cd2bb
Merge pull request #67 from gradle/dd/v15
...
Allow caching to be enabled read-only
2021-08-22 14:45:57 -06:00
Daz DeBoer
a148b21183
Improve prod workflow
...
- Use a separate job to test read-only cache
- Use dependency jobs to avoid cache race conditions
2021-08-22 14:42:01 -06:00
Daz DeBoer
e7422f245c
Fix typo in README
2021-08-22 14:42:01 -06:00
Daz DeBoer
c86093d76a
Build distribution
2021-08-22 14:28:35 -06:00
Daz DeBoer
a693ccda4b
Allow use of caches 'read-only'
...
To avoid evicting useful entries, some pipeline may benefit from using existing
cache entries without writing any changes back to the cache.
Fixes #62
2021-08-22 14:28:34 -06:00
Daz DeBoer
543cacb256
Allow manual trigger of prod workflow
2021-08-20 14:00:30 -06:00
Daz DeBoer
3f3947669a
Rename action from "Gradle Command" to "Gradle Build Action"
2021-08-17 09:36:14 -06:00
dependabot[bot]
579711fd3c
Bump path-parse from 1.0.6 to 1.0.7 ( #65 )
...
Bumps [path-parse](https://github.com/jbgutierrez/path-parse ) from 1.0.6 to 1.0.7.
- [Release notes](https://github.com/jbgutierrez/path-parse/releases )
- [Commits](https://github.com/jbgutierrez/path-parse/commits/v1.0.7 )
---
updated-dependencies:
- dependency-name: path-parse
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-08-16 15:52:54 -06:00
Daz DeBoer
7336529ec5
Build distribution
2021-08-07 16:13:35 -07:00
Daz DeBoer
88af98fab4
Fail if configuration-cache is enabled without dependencies cache
...
Fixes #61
2021-08-07 16:13:35 -07:00
Daz DeBoer
01bfa29846
Update metadata and docs for repository move/rename
...
Fixes #60
2021-08-07 16:13:35 -07:00
Paul Merlin
0206df026c
Merge pull request #59 from eskatos/dd/v1-improved
...
Minor cleanups, simplifications and improvements
2021-07-27 08:45:59 +02:00
Paul Merlin
41aebc770d
Fix typo in test workflow
...
Signed-off-by: Paul Merlin <paul@gradle.com>
2021-07-27 08:22:05 +02:00
Daz DeBoer
bc4d6bddd4
Rebuild index files
2021-07-26 15:45:00 -06:00
Daz DeBoer
1f57b4dd2d
Re-add workflow jobs for dependencies and configuration caches
2021-07-26 15:45:00 -06:00
Daz DeBoer
02d4f46354
Use core functionality to access action inputs
...
- Specify default values in action.yaml definition where appropriate
- Replace custom methods with core functions:
- getInputBoolean() with core.getBooleanInput()
- inputOrNull() with core.getInput()
- inputArrayOrNull() with core.getMultilineInput()
- Remove github-utils.js
2021-07-26 14:54:59 -06:00
Daz DeBoer
b9684c0cf5
Prefer ‘release-candidate’ instead of ‘rc’
...
This makes the version alias match other places where we reference a release candidate version.
The 'rc' alias is still supported, but emits a deprecation warning.
2021-07-26 14:54:59 -06:00
Daz DeBoer
5423935c9b
Deprecate the 'wrapper-directory' input and recommend 'gradle-executable' instead
...
Use of a wrapper in a non-standard directory is uncommon, and is effectively handled
by referencing the `gradlew` script as the `gradle-executable`.
2021-07-26 14:54:59 -06:00
Daz DeBoer
41ca2299a5
Ignore .tool-versions directory
...
This directory is created by the ASDF version manager (https://asdf-vm.com ),
and can be used to control the version of nodejs/npm used to run.
2021-07-20 11:20:21 -06:00
Daz DeBoer
33e91b639d
Cache Gradle distributions downloaded for a particular version ( #58 )
...
- Cache is separate from (but similar to) the wrapper distribution cache
- New 'distributions-cache-enabled' flag controls caching of all downloaded distributions
(including wrapper distributions)
- Deprecated the 'wrapper-cache-enabled' flag for removal in v2
2021-07-08 12:22:48 -06:00
Daz DeBoer
e4ec586f46
Only cache the wrapper ZIP, not the exploded dir
...
Prior to this change, the wrapper cache contained both the downloaded zip
file as well as the exploded wrapper dir. Only the zip file is required,
as Gradle will automatically detect and unpack.
2021-07-08 08:01:44 -06:00
Daz DeBoer
15a8123fbc
Validate presense of gradle wrapper to provide better feedback
...
- Provide a more useful error message when no Gradle wrapper can be located,
and 'gradle-version' or 'gradle-executable' is not used.
- Add test for case where wrapper is missing.
This isn't really a "test" per-se, but this failing build invocation makes it
easy to verify the GitHub action behaviour when the build is misconfigured.
2021-07-08 08:01:44 -06:00
Daz DeBoer
f0c6ac01d3
Add test for gradle-executable
parameter
...
Use matrix to allow different script suffix on windows
2021-07-06 13:29:55 -06:00
Daz DeBoer
63fea55da4
Add a very-limited ‘no-wrapper’ test Gradle build
...
Will use this for testing Gradle execution with different versions and mechanisms.
2021-07-06 13:29:55 -06:00
Daz DeBoer
26b92e3f5c
Separate unit-test data from integ-test samples
...
- Upgraded `samples/basic` to use latest Gradle version.
2021-07-06 13:29:55 -06:00
Daz DeBoer
643092d2fc
Ensure that test invocations are targeted at a specific use-case
...
- Remove the 'gradle --stop' step from the prod workflow.
We either need to stop all instances started, or rely on GitHub to clean up processes on completion.
- Remove configuration-cache and dependencies-cache from basic tests. We will later need to add
tests invocations specific for these features.
2021-07-06 13:29:55 -06:00
Daz DeBoer
18c8a679dc
Look for gradle wrapper in build-root-directory by default
...
This removes the need to specify `wrapper-directory` when using a Gradle
project that is not located in the root of the workspace.
Fixes #44 .
2021-07-06 09:56:27 -06:00
Paul Merlin
13d33a88ca
Merge pull request #52 from eskatos/dd/update-versions
...
Update dependency versions
2021-07-06 11:47:55 +02:00
Daz DeBoer
738bda9866
Use built-in library functions in preference to custom implementations
...
- Use built-in `hashFiles` function included in '@actions/globv0.2.0'
- Use `downloadTool` and `extractZip` functions from '@actions/tool-cache'
2021-07-05 13:57:22 -06:00
Daz DeBoer
47c9af9d7d
Rebuild outputs
2021-07-05 12:40:53 -06:00
Daz DeBoer
3fba6132b4
Update devDependencies versions
2021-07-05 12:40:37 -06:00
Daz DeBoer
127b9b6624
Update to latest lib dependencies
2021-07-05 12:40:16 -06:00
Daz DeBoer
8189d29e96
Run 'npm update'
...
Get latest versions of transitive deps.
2021-07-05 12:20:36 -06:00
Daz DeBoer
eb7aa853fa
Run 'npm audit fix'
...
Updates transitive library versions to address known vulnerabilities
2021-07-05 12:05:56 -06:00
Tomaz Muraus
15bf8034d6
Fix typo, the directory which contains dependency locks is named
...
gradle/dependency-locks.
2020-12-22 12:13:55 +01:00