Skip to content

Commit 9d2dd72

Browse files
committed
feat(ci): Update publishing workflow
1 parent 9408291 commit 9d2dd72

File tree

1 file changed

+36
-1
lines changed

1 file changed

+36
-1
lines changed

.github/workflows/publish.yml

Lines changed: 36 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,40 @@ permissions:
1010
packages: write
1111

1212
jobs:
13+
release-check:
14+
runs-on: ubuntu-latest
15+
outputs:
16+
release: ${{ steps.get_version.outputs.release }}
17+
version: ${{ steps.get_version.outputs.version }}
18+
steps:
19+
- uses: actions/checkout@v4
20+
21+
- name: "Check release version"
22+
id: get_version
23+
env:
24+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
25+
run: |
26+
set -e
27+
28+
pip install yq
29+
current_version=$(cat .release.yml | yq -r ".version")
30+
31+
released_version=$(gh api -H "Accept: application/vnd.github+json" -H "X-GitHub-Api-Version: 2022-11-28" /repos/:owner/:repo/releases/latest | jq -r ".tag_name")
32+
33+
if [[ "$current_version" == "NA" || "$current_version" == "$released_version" ]]; then
34+
echo "No new release found"
35+
echo "release=false" >> "$GITHUB_OUTPUT"
36+
else
37+
echo "New release found"
38+
echo "version=$current_version" >> "$GITHUB_OUTPUT"
39+
echo "release=true" >> "$GITHUB_OUTPUT"
40+
fi
41+
42+
1343
queries:
1444
runs-on: ubuntu-latest
45+
needs: [release-check]
46+
if: ${{ needs.release-check.outputs.release == 'true' }}
1547

1648
permissions:
1749
contents: read
@@ -23,7 +55,8 @@ jobs:
2355
packs: ["lib", "src"]
2456

2557
steps:
26-
- uses: actions/checkout@v4
58+
- name: "Checkout"
59+
uses: actions/checkout@v4
2760

2861
- name: "Check and Publish CodeQL Packs"
2962
env:
@@ -45,6 +78,8 @@ jobs:
4578
4679
compile:
4780
runs-on: ubuntu-latest
81+
needs: [release-check]
82+
if: ${{ needs.release-check.outputs.release == 'true' }}
4883

4984
steps:
5085
- uses: actions/checkout@v4

0 commit comments

Comments
 (0)