Skip to content

Commit 082141e

Browse files
authored
Update microsoft-codeql-pack-publish.yml
1 parent 4b3c612 commit 082141e

File tree

1 file changed

+77
-19
lines changed

1 file changed

+77
-19
lines changed

.github/workflows/microsoft-codeql-pack-publish.yml

Lines changed: 77 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
11
name: Microsoft CodeQL Pack Publish
2-
description: Fetches the latest version of CodeQL
32

4-
# on:
5-
# push:
6-
# branches:
7-
# - dilan/publish-opensource-packs
3+
on:
4+
push:
5+
branches:
6+
- dilan/publish-opensource-packs
87

98
jobs:
109
codeqlversion:
@@ -25,12 +24,12 @@ jobs:
2524
CURRENT_TAG=$(git describe --tags --abbrev=0 --match 'codeql-cli/v*' $CURRENT_COMMIT)
2625
CODEQL_VERSION="${CURRENT_TAG#codeql-cli/}"
2726
echo "CODEQL_VERSION=$CODEQL_VERSION" >> $GITHUB_OUTPUT
28-
publish:
27+
publishlibs:
2928
needs: codeqlversion
3029
runs-on: ubuntu-latest
3130
strategy:
3231
matrix:
33-
language: ['csharp', 'cpp', 'java', 'javascript', 'python', 'ruby', 'go', 'rust', 'swift', 'powershell']
32+
language: ['powershell']
3433
steps:
3534
- name: Checkout repository
3635
uses: actions/checkout@v4
@@ -42,12 +41,12 @@ jobs:
4241
gh codeql set-version "${{ needs.codeqlversion.outputs.codeql_version }}"
4342
env:
4443
GITHUB_TOKEN: ${{ github.token }}
45-
- name: Publish OS Microsoft CodeQL Pack
44+
- name: Publish OS Microsoft CodeQL Lib Pack
4645
shell: bash
4746
run: |
4847
# Download latest qlpack
49-
gh codeql pack download "microsoft/$LANGUAGE-queries"
50-
PACK_DIR="$HOME/.codeql/packages/microsoft/$LANGUAGE-queries"
48+
gh codeql pack download "microsoft/$LANGUAGE-all"
49+
PACK_DIR="$HOME/.codeql/packages/microsoft/$LANGUAGE-all"
5150
VERSION_COUNT=$(ls -d "$PACK_DIR"/*/ | wc -l)
5251
[[ "$VERSION_COUNT" -ne 1 ]] && { echo "Expected exactly one version in $PACK_DIR, but found $VERSION_COUNT. Exiting."; exit 1; }
5352
@@ -59,26 +58,85 @@ jobs:
5958
NEXT_VERSION="$MAJOR.$MINOR.$((PATCH + 1))"
6059
6160
# Extract dependencies from the existing qlpack.yml before deleting
62-
DEPENDENCIES=$(yq 'select(has("dependencies")) | .dependencies | {"dependencies": .}' "$LANGUAGE/ql/src/qlpack.yml" 2>/dev/null)
63-
rm -f "$LANGUAGE/ql/src/qlpack.yml" "$LANGUAGE/ql/src/qlpack.lock"
61+
DEPENDENCIES=$(yq 'select(has("dependencies")) | .dependencies | {"dependencies": .}' "$LANGUAGE/ql/lib/qlpack.yml" 2>/dev/null)
62+
DATAEXTENSIONS=$(yq 'select(has("dataExtensions")) | .dataExtensions | {"dataExtensions": .}' "$LANGUAGE/ql/lib/qlpack.yml" 2>/dev/null)
63+
rm -f "$LANGUAGE/ql/lib/qlpack.yml" "$LANGUAGE/ql/lib/qlpack.lock"
6464
6565
# Create new qlpack.yml with modified content
66-
cat <<EOF > "$LANGUAGE/ql/src/qlpack.yml"
67-
name: microsoft/$LANGUAGE-queries
66+
cat <<EOF > "$LANGUAGE/ql/lib/qlpack.yml"
67+
name: microsoft/$LANGUAGE-all
6868
version: $NEXT_VERSION
6969
extractor: $LANGUAGE
7070
groups:
7171
- $LANGUAGE
72-
- queries
73-
suites: microsoft-suites
74-
defaultSuiteFile: codeql-suites/csharp-code-scanning.qls
72+
- microsoft-all
73+
dbscheme: semmlecode.$LANGUAGE.dbscheme
74+
extractor: $LANGUAGE
75+
library: true
76+
upgrades: upgrades
7577
$DEPENDENCIES
78+
$DATAEXTENSIONS
79+
warnOnImplicitThis: true
7680
EOF
7781
7882
# Publish pack
79-
cat "$LANGUAGE/ql/src/qlpack.yml"
80-
gh codeql pack publish "$LANGUAGE/ql/src"
83+
cat "$LANGUAGE/ql/lib/qlpack.yml"
84+
gh codeql pack publish "$LANGUAGE/ql/lib"
8185
env:
8286
LANGUAGE: ${{ matrix.language }}
8387
GITHUB_TOKEN: ${{ secrets.PACKAGE_PUBLISH }}
88+
# publish:
89+
# needs: codeqlversion
90+
# runs-on: ubuntu-latest
91+
# strategy:
92+
# matrix:
93+
# language: ['csharp', 'cpp', 'java', 'javascript', 'python', 'ruby', 'go', 'rust', 'swift', 'powershell']
94+
# steps:
95+
# - name: Checkout repository
96+
# uses: actions/checkout@v4
97+
# - name: Install CodeQL
98+
# shell: bash
99+
# run: |
100+
# gh extension install github/gh-codeql
101+
# gh codeql download "${{ needs.codeqlversion.outputs.codeql_version }}"
102+
# gh codeql set-version "${{ needs.codeqlversion.outputs.codeql_version }}"
103+
# env:
104+
# GITHUB_TOKEN: ${{ github.token }}
105+
# - name: Publish OS Microsoft CodeQL Pack
106+
# shell: bash
107+
# run: |
108+
# # Download latest qlpack
109+
# gh codeql pack download "microsoft/$LANGUAGE-queries"
110+
# PACK_DIR="$HOME/.codeql/packages/microsoft/$LANGUAGE-queries"
111+
# VERSION_COUNT=$(ls -d "$PACK_DIR"/*/ | wc -l)
112+
# [[ "$VERSION_COUNT" -ne 1 ]] && { echo "Expected exactly one version in $PACK_DIR, but found $VERSION_COUNT. Exiting."; exit 1; }
113+
114+
# # Increment version
115+
# CURRENT_VERSION=$(ls -v "$PACK_DIR" | tail -n 1)
116+
# MAJOR=$(echo "$CURRENT_VERSION" | cut -d. -f1)
117+
# MINOR=$(echo "$CURRENT_VERSION" | cut -d. -f2)
118+
# PATCH=$(echo "$CURRENT_VERSION" | cut -d. -f3)
119+
# NEXT_VERSION="$MAJOR.$MINOR.$((PATCH + 1))"
120+
121+
# # Extract dependencies from the existing qlpack.yml before deleting
122+
# DEPENDENCIES=$(yq 'select(has("dependencies")) | .dependencies | {"dependencies": .}' "$LANGUAGE/ql/src/qlpack.yml" 2>/dev/null)
123+
# rm -f "$LANGUAGE/ql/src/qlpack.yml" "$LANGUAGE/ql/src/qlpack.lock"
124+
125+
# # Create new qlpack.yml with modified content
126+
# cat <<EOF > "$LANGUAGE/ql/src/qlpack.yml"
127+
# name: microsoft/$LANGUAGE-queries
128+
# version: $NEXT_VERSION
129+
# extractor: $LANGUAGE
130+
# groups:
131+
# - $LANGUAGE
132+
# - queries
133+
# $DEPENDENCIES
134+
# EOF
135+
136+
# # Publish pack
137+
# cat "$LANGUAGE/ql/src/qlpack.yml"
138+
# gh codeql pack publish "$LANGUAGE/ql/src"
139+
# env:
140+
# LANGUAGE: ${{ matrix.language }}
141+
# GITHUB_TOKEN: ${{ secrets.PACKAGE_PUBLISH }}
84142

0 commit comments

Comments
 (0)