-
Notifications
You must be signed in to change notification settings - Fork 0
95 lines (82 loc) · 3.19 KB
/
publish.yml
File metadata and controls
95 lines (82 loc) · 3.19 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
name: Publish CodeQL Packs
on:
push:
branches: [main]
workflow_dispatch:
jobs:
publish_core:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
strategy:
fail-fast: false
steps:
- uses: actions/checkout@v4
- name: Check core qtil (src) pack
id: check_version
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
PUBLISHED_VERSION=$(gh api /orgs/advanced-security/packages/container/qtil/versions --jq '.[0].metadata.container.tags[0]')
CURRENT_VERSION=$(grep version src/qlpack.yml | awk '{print $2}')
echo "Published version: $PUBLISHED_VERSION"
echo "Local version: $CURRENT_VERSION"
if [ "$PUBLISHED_VERSION" != "$CURRENT_VERSION" ]; then
echo "publish=true" >> $GITHUB_OUTPUT
else
echo "publish=false" >> $GITHUB_OUTPUT
fi
- name: Log skipped publishing
if: steps.check_version.outputs.publish == 'false'
run: echo "Publishing is skipped as the local version matches the published version."
- name: Setup CodeQL
if: steps.check_version.outputs.publish == 'true'
uses: ./.github/actions/install-codeql
- name: Publish core qtil (src) pack
if: steps.check_version.outputs.publish == 'true'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
echo "Publishing pack 'qtil'."
codeql pack install "src"
codeql pack publish --dry-run "src"
publish_langs:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
strategy:
fail-fast: false
matrix:
language: ["cpp", "csharp", "go", "java", "javascript", "python", "ruby", "swift"]
steps:
- uses: actions/checkout@v4
- name: Check qtil-LANGUAGE (src) pack
id: check_version
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
PUBLISHED_VERSION=$(gh api /orgs/advanced-security/packages/container/qtil-${{ matrix.language }}/versions --jq '.[0].metadata.container.tags[0]')
CURRENT_VERSION=$(grep version ${{ matrix.language }}/src/qlpack.yml | awk '{print $2}')
echo "Published version: $PUBLISHED_VERSION"
echo "Local version: $CURRENT_VERSION"
if [ "$PUBLISHED_VERSION" != "$CURRENT_VERSION" ]; then
echo "publish=true" >> $GITHUB_OUTPUT
else
echo "publish=false" >> $GITHUB_OUTPUT
fi
- name: Log skipped publishing
if: steps.check_version.outputs.publish == 'false'
run: echo "Publishing is skipped as the local version matches the published version."
- name: Setup CodeQL
if: steps.check_version.outputs.publish == 'true'
uses: ./.github/actions/install-codeql
- name: Publish qtil-LANGUAGE (src) pack
if: steps.check_version.outputs.publish == 'true'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
echo "Publishing pack 'qtil-${{ matrix.language }}'."
codeql pack install "${{ matrix.language }}/src"
codeql pack publish --dry-run "${{ matrix.language }}/src"