Skip to content

Commit 2c1a92c

Browse files
committed
fix: revisions and release
Sometimes when the workflow gets the dependency.json it retrieves, from best I can determine, an older version of the file with outdated info. It's not failing to retrieve the file, which I initially thought was the case, it's getting the file, just not the current version of it. I've noticed this happen with more frequency lately. You assume that this could happen when running the tests in quick succession as the file might not have propagated across their network. The problem is this is happening with release assets that have been sitting there for weeks. I file I know has a revision of 2 yet the file it reads has 1. This must be some Github caching or system to work around action issues. In the testing for this changes my matrix would return something like all correct or 30% previous versions. So this change is a band aid. When github implements immutable tags i'll probably move to using revision appended tags.
1 parent 6dec27b commit 2c1a92c

File tree

2 files changed

+20
-24
lines changed

2 files changed

+20
-24
lines changed

.github/workflows/ci-alpine-release.yml

Lines changed: 19 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -53,40 +53,36 @@ jobs:
5353
merge-multiple: true
5454

5555
- name: Host - merge release-info ${{ inputs.distinct_id }}
56+
env:
57+
lt_version: ${{ matrix.qbt_libtorrent_version }}
5658
run: |
57-
if [[ ${{ matrix.qbt_libtorrent_version }} == "1.2" ]]; then
58-
for release in 1\.2/*-release.md; do
59-
[[ -f "${release}" ]] && release+=("${release}")
60-
done
61-
revision="$(jq -r .revision 1\.2/*-dependency-version.json | head -n1)"
62-
boost="$(jq -r .boost 1\.2/*-dependency-version.json | head -n1)"
63-
fi
64-
65-
if [[ ${{ matrix.qbt_libtorrent_version }} == "2.0" ]]; then
66-
for release in 2\.0/*-release.md; do
67-
[[ -f "${release}" ]] && release+=("${release}")
68-
done
69-
revision="$(jq -r .revision 2\.0/*-dependency-version.json | head -n1)"
70-
boost="$(jq -r .boost 2\.0/*-dependency-version.json | head -n1)"
71-
fi
72-
73-
readarray -t release_sorted < <(printf '%s\n' "${release[@]}" | sort)
74-
75-
for dependency_version_files in 1\.2/*-dependency-version.json 2\.0/*-dependency-version.json; do
76-
if [[ -f "${dependency_version_files}" ]]; then
77-
sed -r 's/"boost": (.*)/BOOST_PLACEHOLDER/g' -i "${dependency_version_files}"
78-
sed -r 's/"revision": (.*)/REVISION_PLACEHOLDER/g' -i "${dependency_version_files}"
79-
dependency_version+=("${dependency_version_files}")
59+
revision="$(jq -r .revision ${lt_version}/*-dependency-version.json | sort -nr | head -n1)"
60+
boost="$(jq -r .boost ${lt_version}/*-dependency-version.json | head -n1)"
61+
62+
for dependency_version_json in ${lt_version}/*-dependency-version.json; do
63+
if [[ -f ${dependency_version_json} ]]; then
64+
sed -r 's/"boost": (.*)/BOOST_PLACEHOLDER/g' -i "${dependency_version_json}"
65+
sed -r 's/"revision": (.*)/REVISION_PLACEHOLDER/g' -i "${dependency_version_json}"
66+
dependency_version+=("${dependency_version_json}")
8067
fi
8168
done
8269
70+
for release_md in ${lt_version}/*-release.md; do
71+
if [[ -f ${release_md} ]]; then
72+
sed -r 's/^\|(.*)revision(.*)\|(.*)\|$/REVISION_PLACEHOLDER/g' -i "${release_md}"
73+
release_md+=("${release_md}")
74+
fi
75+
done
76+
77+
readarray -t release_sorted < <(printf '%s\n' "${release_md[@]}" | sort)
8378
readarray -t dependency_version_sorted < <(printf '%s\n' "${dependency_version[@]}" | sort)
8479
8580
paste -d '\n' "${release_sorted[@]}" | uniq | awk '!(NF && seen[$0]++) || /^>/' > "tmp-release.md"
8681
paste -d '\n' "${dependency_version_sorted[@]}" | uniq | awk '!(NF && seen[$0]++)' > "dependency-version.json"
8782
8883
sed -i "s|BOOST_PLACEHOLDER|\"boost\": \"${boost}\",|" dependency-version.json
8984
sed -i "s|REVISION_PLACEHOLDER|\"revision\": \"${revision}\"|" dependency-version.json
85+
sed -i "s/REVISION_PLACEHOLDER/| revision |${revision} |/" tmp-release.md
9086
9187
./pandoc --wrap=preserve -f gfm tmp-release.md -t gfm -o release.md
9288

.pre-commit-config.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ repos:
2626
- id: check-shebang-scripts-are-executable
2727

2828
- repo: https://github.com/woodruffw/zizmor-pre-commit
29-
rev: v1.12.0
29+
rev: v1.12.1
3030
hooks:
3131
- id: zizmor
3232

0 commit comments

Comments
 (0)