gradle / gradle-enterprise-build-validation-scripts

Executable scripts to assist in validating that your Gradle and Maven builds are in an optimal state in terms of maximizing work avoidance when using Develocity.
https://gradle.com/develocity
Apache License 2.0
90 stars 23 forks source link

A symlink always pointing to the most recent experiment's artifact directory should exist #619

Open erichaagdev opened 4 months ago

erichaagdev commented 4 months ago

For each experiment, there exists a latest symlink that always points to the most recent experiment's artifact directory. For example:

.data/
├─ 01-validate-incremental-building/
│  ├─ 20231030T095641-653fc429/
│  ├─ 20240311T121101-65ef3b25/
│  ├─ latest/
├─ 03-validate-local-build-caching-different-locations/
│  ├─ 20240311T121415-65ef3be7/
│  ├─ latest/

We should additionally add a symlink directly beneath .data that always points to the most recent experiment's artifact directory across all experiments. For example:

.data/
├─ latest/
├─ 01-validate-incremental-building/
│  ├─ 20231030T095641-653fc429/
│  ├─ 20240311T121101-65ef3b25/
│  ├─ latest/
├─ 03-validate-local-build-caching-different-locations/
│  ├─ 20240311T121415-65ef3be7/
│  ├─ latest/

If 03-validate-local-build-caching-different-locations/20240311T121415-65ef3be7 was the most recently run experiment across all experiments, then .data/latest/ would be a symlink of .data/03-validate-local-build-caching-different-locations/20240311T121415-65ef3be7/.

This is convenient when you know you know what you want to inspect is the most recent experiment's artifacts. This can also help simplify automation scenarios when you want to grab the receipt file of the latest experiment run because you do not need to know the name of the script to grab the receipt.