Daz DeBoer
33ed11e54c
Build outputs
2022-06-06 15:36:40 -06:00
Daz DeBoer
93c31ca3b5
Don't fail if the file-to-delete no longer exists
...
Fixes #308
2022-06-06 15:35:57 -06:00
Daz DeBoer
7a15005377
Avoid printing "reason unknown" for extract entries
...
This was happening when the main Gradle User Home entry was not saved due to
having an unchanged cache key.
Fixes #309
2022-06-06 15:07:13 -06:00
Daz DeBoer and GitHub
e88ed3e650
Update README for v2.2.0
2022-06-06 12:34:02 -06:00
Daz DeBoer
de51428ba5
Build outputs
2022-06-06 11:53:30 -06:00
Daz DeBoer
8096e65e0a
Better error reporting when file deletion fails
...
- Include file name in all logging
- Log inital attempts at debug to avoid noise
- Include output of 'jps -lm' when final attempt fails
2022-06-06 11:52:46 -06:00
Daz DeBoer
9cd70b5460
Report cache entry path for duplicate entry save
2022-06-06 08:48:03 -06:00
Daz DeBoer
63bcd47c1b
Allow Job Summary generation to be disabled
2022-06-06 07:13:23 -06:00
Daz DeBoer and GitHub
306a7e4bb2
Merge pull request #306 from gradle/dd/user-home
...
Use java to determine user.home dir
2022-06-05 22:18:36 -06:00
Daz DeBoer
c34d4a9731
Build outputs
2022-06-05 22:15:43 -06:00
Daz DeBoer
213bb63776
Use java to determine user.home dir
...
Although convenient, the os.homedir() function can return a different value
that the 'user.home' SystemProperty in Java. The latter is used to locate
the Gradle User Home directory.
By switching to use Java to determine the value for 'user.home', we can use
the same process as Gradle to determine Gradle User Home.
Fixes #207
2022-06-05 22:13:36 -06:00
Daz DeBoer
4ca4968624
Add test for action in containerized runner
2022-06-05 22:13:03 -06:00
Daz DeBoer
fd1882690a
Fix test to use custom Gradle User Home
2022-06-05 22:03:47 -06:00
Daz DeBoer
0b5047ec4d
Prevent duplicate JSON being written to build-results
2022-06-05 21:55:11 -06:00
Daz DeBoer and GitHub
a4a9a30e86
Merge pull request #305 from gradle/dd/stop-gradle-daemons
...
Allow daemons to run across workflow steps
2022-06-05 18:07:56 -06:00
Daz DeBoer
865c16699a
Build outputs
2022-06-05 10:25:29 -06:00
Daz DeBoer
52ebf2721a
Allow daemons to run across workflow steps
...
Now that we are stopping all Gradle daemons in the post-job action,
we can allow daemon processes to be re-used across steps in a workflow job.
Fixes #113
2022-06-05 09:20:54 -06:00
Daz DeBoer
aea6ddad5b
Attempt to stop all daemons on Job completion
2022-06-05 09:07:34 -06:00
Daz DeBoer
a7f880172e
Use a released version of 'gradle-build-action' for our CI job
2022-06-05 09:06:23 -06:00
Daz DeBoer
e644288a42
Use build-results file for root project dirs
...
Instead of using a separate mechanism and init script, reuse the information
captured in the build-results file.
2022-06-05 08:34:07 -06:00
Daz DeBoer
e234151ec9
Add more information to captured build results
...
- Root project dir: will allow us to replace project-root-capture init script
- Gradle home dir: will allow us to stop all started daemons
2022-06-05 08:18:25 -06:00
Daz DeBoer and GitHub
44e1837ae3
Merge pull request #304 from gradle/dd/test-init-scripts
...
Improve init scripts and add test coverage
The build-scan-capture init script will now capture results from builds that do not publish a build-scan, with and without the configuration-cache.
Fixes #292
2022-06-05 00:36:03 -06:00
Daz DeBoer
b400dc555d
Build outputs
2022-06-05 00:32:29 -06:00
Daz DeBoer
3f2d9cde44
Capture build results when GE plugin is applied but no build-scan is published
2022-06-05 00:32:29 -06:00
Daz DeBoer
6001bc9edc
Improve build badgee for builds without scan links
2022-06-05 00:32:00 -06:00
Daz DeBoer
5203a0b09d
Capture build results when config-cache is enabled
...
When enabled, the configuration-cache will cause the build to fail when a
`buildFinished` listener is added. Instead, use a BuildService to listen for task
failures and to write the results on build completion.
2022-06-05 00:29:42 -06:00
Daz DeBoer
500607bc35
Capture build-results without build-scan publication
...
The `buildScanPublished` is only called when a build scan is published by the build.
Support other invocations by adding a `buildFinished` listener.
2022-06-05 00:28:24 -06:00
Daz DeBoer
754892d4ae
Add workflow to run init-script tests
2022-06-05 00:27:36 -06:00
Daz DeBoer
ea24a0ad75
Add test coverage for build-result-capture init script
2022-06-05 00:27:36 -06:00
Daz DeBoer
748dc30fdc
Support and test Gradle 3.5.1
...
Fix build-scan-capture.init.gradle so that it applies to versions 3.+,
and include this version in test coverage.
2022-06-05 00:26:21 -06:00
Daz DeBoer
e4ed35bcaf
Add test for project-root-capture.init.gradle
2022-06-05 00:25:42 -06:00
Daz DeBoer
ece69c52b2
Save project-root-list in RUNNER_TEMP dir
...
This feels better than saving in Gradle User Home and is consistent
with where the build results are written.
2022-06-05 00:24:57 -06:00
Daz DeBoer and GitHub
14c898b500
Merge pull request #149 from gradle/write-from-default-branch
...
Default to `cache-read-only` for non-default branches
2022-06-04 11:45:42 -06:00
Daz DeBoer
00cdd4dcf9
Explicitly allow cache-write for test invocations
...
The `gradle-build-action` test workflows need to write cache entries,
even when run on non-default branches. This change add explicit configuration
to set `cache-read-only: false` when cache writing is required.
2022-06-04 11:39:19 -06:00
Daz DeBoer
b02f4f1968
Disable cache-read-only when cache-write-only is set
2022-06-04 11:28:12 -06:00
Daz DeBoer
0a36ca9fb8
Use 'cache-read-only' for all but default_branch
...
Cache entries _written_ from jobs run on a non-default branch will be private
to other jobs for that branch. When development flow involves working on a
feature branch and then merging into 'main', these branch-private cache
entries can result in eviction of other (shared) cache entries generated
for the default branch.
With this change, we make the recommended setup the default, by running
with `cache-read-only: true` for any jobs run on a non-default branch.
These jobs will be able to read cache entries written from the main branch,
but will not write any cache entries.
Fixes #143
2022-06-04 11:19:07 -06:00
Daz DeBoer and GitHub
fe92974cdf
Merge pull request #303 from gradle/dd/improved-summary
...
Improve layout and formatting of Job Summary
2022-06-04 11:04:38 -06:00
Daz DeBoer
6aa41b32df
Build outputs
2022-06-04 10:57:25 -06:00
Daz DeBoer
4fa0803854
Improve layout and formatting of Job Summary
...
- Move entire caching summary into details section
- Use core.summary.addTable for all table creation
- Include cache status in clickable description
2022-06-04 10:55:26 -06:00
Daz DeBoer
9ab4abd18c
Update to latest version of all github actions
2022-06-04 09:26:11 -06:00
Daz DeBoer
85daf96c6d
Update development dependencies
...
- Bump typescript from 4.7.2 to 4.7.3
- Bump ts-jest from 28.0.3 to 28.0.4
- Added @types/jest which is now required
- Bump eslint from 8.16.0 to 8.17.0
2022-06-04 09:07:11 -06:00
Daz DeBoer and GitHub
8b56c4af06
Merge pull request #302 from gradle/fix-config-cache
...
Fix save/restore of configuration-cache
2022-06-04 08:57:34 -06:00
Daz DeBoer
4da299730b
Build outputs
2022-06-03 13:51:36 -06:00
Daz DeBoer
dff0fe1b20
Remove debug output from init script
2022-06-03 13:51:36 -06:00
Daz DeBoer
ae74c01440
Use a BuildService to always collect project root
...
Using `settingsEvaluated` meant that the project root was not recorded
when the build was run with a config-cache hit. This meant that the subsequent
build would not restore the config-cache, resulting in a cache miss.
In order to avoid issues running the init script on older versions of Gradle
the project-collection is extracted into a separate groovy file that is only
applied conditionally on Gradle 7 or higher.
2022-06-03 13:51:36 -06:00
Daz DeBoer
cde0632795
Update comment for accuracy
2022-06-03 07:50:08 -06:00
Daz DeBoer
6cc033f2b3
Make build-result-capture script compatible with config-cache
2022-06-03 07:12:23 -06:00
Daz DeBoer and GitHub
8aaf080d68
Merge pull request #296 from gradle/dependabot/npm_and_yarn/typescript-eslint/parser-5.27.0
...
Bump @typescript-eslint/parser from 5.26.0 to 5.27.0
2022-06-03 05:59:16 -06:00
Daz DeBoer and GitHub
4378b83ae3
Merge pull request #295 from gradle/dependabot/npm_and_yarn/eslint-plugin-jest-26.4.6
...
Bump eslint-plugin-jest from 26.2.2 to 26.4.6
2022-06-03 05:58:56 -06:00
Daz DeBoer and GitHub
d3a78eb55f
Merge pull request #298 from gradle/job-summary-table
...
Add improved Job Summary with build results and caching report
2022-06-02 23:19:52 -06:00
Daz DeBoer
f4d1e351c0
Build outputs
2022-06-02 23:17:50 -06:00
Daz DeBoer
7b79b2a752
Report on read-only / write-only cache
2022-06-02 23:16:52 -06:00
Daz DeBoer
143774290e
Add more details to cache summary report
2022-06-02 22:39:55 -06:00
Daz DeBoer
a9a5bcf180
Move writing of cache report into job-summary.ts
2022-06-02 22:39:09 -06:00
Daz DeBoer
f9c8fcf79f
Adding caching details to Job Summary
2022-06-02 14:21:10 -06:00
Daz DeBoer
86e82987ba
Write job summary in post action
...
- Save build results in file encoded as JSON
- Read all build results in post action and render as table in job summary
2022-06-02 12:58:49 -06:00
Daz DeBoer and GitHub
5fe4df6233
Merge pull request #297 from gradle/extract-init-scripts
...
Extract init scripts and state tracking
2022-06-02 12:43:26 -06:00
Daz DeBoer
d79b3ba8ae
Build outputs
2022-06-02 12:25:11 -06:00
Daz DeBoer
8f3c97e3f1
Extract action state-tracking out of caches.ts
2022-06-02 12:20:01 -06:00
Daz DeBoer
d95713bd5d
Extract init scripts into resource files
2022-06-02 11:53:33 -06:00
Daz DeBoer
bdf9736c53
Add 'npm check' goal to run lint without generating outputs
2022-06-02 11:53:05 -06:00
Daz DeBoer
7e85212f59
Add workflow with several Gradle builds to demo job summary
2022-06-02 11:52:52 -06:00
Daz DeBoer
992ccebeea
Only run main workflows when relevant files change
2022-05-29 17:27:11 -06:00
Daz DeBoer
c13dc6c789
Fix and re-enable test for save/restore config-cache
2022-05-29 17:27:11 -06:00
Daz DeBoer
5e6af67a5e
Fix CI-full-check for renamed workflow
2022-05-29 15:05:31 -06:00
Daz DeBoer
e32d23f291
Capitalize to improve ordering
2022-05-29 15:04:12 -06:00
Daz DeBoer
a880eab216
More consistent names for workflow jobs
2022-05-29 15:04:11 -06:00
Daz DeBoer and GitHub
6c8fe00271
Fix typo in workflow
2022-05-29 14:49:05 -06:00
Daz DeBoer and GitHub
c37c1fb693
Merge pull request #294 from gradle/dd/dpe
...
Various improvements to CI workflows
- Compose all integ-test workflow executions into a single calling workflow
- Added a 'quick-check' workflow that provides faster feedback on branches other than main
- Only runs on ubuntu-latest
- Reuses cache entries from previous runs
- Builds distribution outputs so that these don't need to be committed during everyday development
- Added a workflow for purging old workflow executions
Together with the fix for #293 , these changes fix #291
2022-05-29 14:47:35 -06:00
Daz DeBoer
0c3292abfb
Reduce overlap of ci workflows
2022-05-29 14:44:21 -06:00
Daz DeBoer
66050d88b2
Add workflow to purge old workflow runs
2022-05-29 14:32:16 -06:00
Daz DeBoer
1771c6f669
Temporarily disable failing test in quick-check
2022-05-29 14:32:16 -06:00
Daz DeBoer
acc77da702
Build distribution when running quick-check workflow
...
The action requires the generated distribution to committed to the 'dist' directory.
During regular development this step causes a number of problems:
- It's easy to forget to add/commit these generated files.
- It's very difficult/impossible to merge/rebase commits that involve generated files
- These file add unnecessary bulk to the git history
With this change, the quick-check workflow will first build the distribution and then
use the generated output for testing. Building and committing these files will only be
required when merging into the 'main' branch.
2022-05-29 14:25:12 -06:00
Daz DeBoer
bdb9f7fd28
Use shorter workflow names
2022-05-29 13:04:26 -06:00
Daz DeBoer
f9e15febb7
Restrict quick-check workflow to ubuntu for faster feedback
2022-05-29 13:04:26 -06:00
Daz DeBoer
1ba2a63e58
Fix restore-configuration-cache test workflow
...
The sequential jobs in the workflow emulate repeated execution of the
same Job, so they work better if given the same job id.
2022-05-29 13:03:24 -06:00
Daz DeBoer
c838a38ea1
Combine all integTest workflows into 2 workflow runs
...
- Workflow to run all integTest workflows, allowing use of prior cache entries
- Workflow that starts with empty cache
Both of these use workflow_call to combine the existing workflows.
2022-05-29 13:03:10 -06:00
Daz DeBoer
2e34e4f80f
Build outputs
2022-05-29 11:50:51 -06:00
Daz DeBoer
2bb20697b4
Rename config-cache jobs for clarity
2022-05-29 09:32:24 -06:00
Daz DeBoer
28b774ebdb
Allow override of sections of cache key
...
These internal env vars are designed primarily for testing,
but may also prove useful for folks to experiment with more optimal
caching setups.
2022-05-29 09:32:24 -06:00
Daz DeBoer
12be8b4772
Build outputs
2022-05-29 09:32:01 -06:00
Daz DeBoer
be62f7d934
Merge branch 'releases/v2.1'
...
* releases/v2.1:
Build outputs
Remove downloaded wrapper zips before caching
Fix typo in worklow step
2022-05-29 09:23:36 -06:00
Daz DeBoer
9b814496b5
Build outputs
2022-05-29 08:51:47 -06:00
Daz DeBoer
f2bb19b43a
Remove downloaded wrapper zips before caching
...
The wrapper zip files are redundant, and not required after extraction.
Gradle 7.5+ will delete these automatically, but we delete them for older
versions to avoid caching the wrapper distributions twice.
Sinc the `gradle-home-cache-excludes` parameter does not support
wildcards, we remove them explicitly.
2022-05-29 08:49:36 -06:00
Daz DeBoer
e3ceb00204
Fix typo in worklow step
2022-05-29 08:48:46 -06:00
Daz DeBoer
c48eef1c6e
Update dependencies
...
- Bump @actions/cache from 2.0.4 to 2.0.5
- Bump ts-jest from 28.0.2 to 28.0.3
- Bump typescript from 4.6.4 to 4.7.2
- Bump @vercel/ncc from 0.33.4 to 0.34.0
2022-05-28 08:08:08 -06:00
Daz DeBoer
26ea4afa08
Use kotlin-dsl sample to demo failure
2022-05-24 16:51:53 +02:00
Daz DeBoer
a0f1efaaad
Update changelog
2022-05-24 16:41:10 +02:00
Daz DeBoer
7645e6e536
Replace emoji characters with markdown
2022-05-24 16:37:15 +02:00
Daz DeBoer and GitHub
c21b4ec861
Merge pull request #282 from gradle/dd/summary
...
Use GHA Job Summary to summarize Gradle build results
2022-05-24 07:05:16 -06:00
Daz DeBoer
30a933bf94
Build outputs
2022-05-24 15:02:41 +02:00
Daz DeBoer
646074d659
Write build scan link to GHA job summary
...
The new Job Summary functionality permits better rendering of build
results, including clickable build scan links
2022-05-24 15:01:44 +02:00
Daz DeBoer
d63db6a05e
Remove unclickable buildScan link from failure
...
Build scan links will be rendered in GHA Job Summary.
2022-05-24 15:01:08 +02:00
Daz DeBoer
dc49976071
Add manual test to demonstrate failing build
2022-05-24 15:00:47 +02:00
Daz DeBoer and GitHub
52bee6e472
Merge pull request #281 from gradle/dependabot/npm_and_yarn/typescript-eslint/parser-5.26.0
...
Bump @typescript-eslint/parser from 5.25.0 to 5.26.0
2022-05-24 02:07:34 -06:00
Daz DeBoer and GitHub
57ec230092
Merge pull request #280 from gradle/dependabot/npm_and_yarn/eslint-8.16.0
...
Bump eslint from 8.15.0 to 8.16.0
2022-05-24 02:07:12 -06:00
Daz DeBoer
fb99e07d58
Bump GE plugin to v3.10.1
2022-05-23 07:09:58 +02:00
Daz DeBoer and GitHub
557c94c831
Merge pull request #274 from gradle/dependabot/npm_and_yarn/typescript-eslint/parser-5.25.0
...
Bump @typescript-eslint/parser from 5.24.0 to 5.25.0
2022-05-18 12:44:34 -06:00
Daz DeBoer and GitHub
c0b2cb764a
Merge pull request #273 from gradle/dependabot/npm_and_yarn/typescript-eslint/parser-5.24.0
...
Bump @typescript-eslint/parser from 5.23.0 to 5.24.0
2022-05-17 08:13:28 -06:00
Daz DeBoer
08fb6c874a
Clear changelog for next release
2022-05-15 19:41:22 -06:00