Skip to content

Commit 80e74a7

Browse files
sbfnk-botsbfnk
andcommitted
Skip R install in vendoring GHA when already up to date
Co-authored-by: sbfnk <sebastian.funk@lshtm.ac.uk>
1 parent a722d71 commit 80e74a7

File tree

1 file changed

+19
-0
lines changed

1 file changed

+19
-0
lines changed

.github/workflows/check-primarycensored.yaml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,15 +19,33 @@ jobs:
1919
steps:
2020
- uses: actions/checkout@v6
2121

22+
- name: Check if update needed
23+
id: check-version
24+
run: |
25+
vendored_version=$(head -1 inst/stan/functions/primarycensored.stan | grep -oP '[\d.]+$')
26+
cran_version=$(curl -s https://cran.r-project.org/package=primarycensored | grep -oP 'Version:</td>\s*<td>\K[^<]+')
27+
echo "vendored=$vendored_version" >> "$GITHUB_OUTPUT"
28+
echo "cran=$cran_version" >> "$GITHUB_OUTPUT"
29+
if [ "$vendored_version" = "$cran_version" ]; then
30+
echo "up_to_date=true" >> "$GITHUB_OUTPUT"
31+
echo "Vendored version $vendored_version matches CRAN"
32+
else
33+
echo "up_to_date=false" >> "$GITHUB_OUTPUT"
34+
echo "Vendored version $vendored_version != CRAN version $cran_version"
35+
fi
36+
2237
- uses: r-lib/actions/setup-r@v2
38+
if: steps.check-version.outputs.up_to_date == 'false'
2339

2440
- uses: r-lib/actions/setup-r-dependencies@v2
41+
if: steps.check-version.outputs.up_to_date == 'false'
2542
with:
2643
install-pandoc: false
2744
packages: |
2845
any::primarycensored
2946
3047
- name: Regenerate vendored Stan functions
48+
if: steps.check-version.outputs.up_to_date == 'false'
3149
run: |
3250
library(primarycensored)
3351
stan_code <- pcd_load_stan_functions(
@@ -50,6 +68,7 @@ jobs:
5068
shell: Rscript {0}
5169

5270
- name: Create Pull Request
71+
if: steps.check-version.outputs.up_to_date == 'false'
5372
uses: peter-evans/create-pull-request@v8
5473
with:
5574
commit-message: Update vendored primarycensored Stan functions

0 commit comments

Comments
 (0)