Skip to content

Commit d49015a

Browse files
committed
Swift: infrastructure for upgrade/downgrade scripts
1 parent e69d003 commit d49015a

File tree

5 files changed

+5029
-1
lines changed

5 files changed

+5029
-1
lines changed

.github/workflows/swift.yml

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,4 +111,19 @@ jobs:
111111
- uses: actions/upload-artifact@v3
112112
with:
113113
name: swift-generated-cpp-files
114-
path: swift/generated-cpp-files/**
114+
path: swift/generated-cpp-files/**
115+
qlformat:
116+
runs-on: ubuntu-latest
117+
needs: changes
118+
if: ${{ needs.changes.outputs.ql == 'true' }}
119+
steps:
120+
- uses: actions/checkout@v3
121+
- uses: ./.github/actions/fetch-codeql
122+
- name: Check QL formatting
123+
run: find swift/ql "(" -name "*.ql" -or -name "*.qll" ")" -print0 | xargs -0 codeql query format --check-only
124+
database-upgrade-scripts:
125+
runs-on: ubuntu-latest
126+
steps:
127+
- uses: actions/checkout@v3
128+
- uses: ./.github/actions/fetch-codeql
129+
- uses: ./swift/actions/database-upgrade-scripts
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
name: Check Swift database upgrade/downgrade scripts
2+
runs:
3+
using: composite
4+
steps:
5+
- name: Check upgrade scripts
6+
shell: bash
7+
working-directory: swift
8+
run: |
9+
echo > empty.trap
10+
codeql dataset import -S ql/lib/upgrades/initial/swift.dbscheme testdb empty.trap
11+
codeql dataset upgrade testdb --additional-packs ql/lib
12+
diff -q testdb/swift.dbscheme ql/lib/swift.dbscheme
13+
- name: Check downgrade scripts
14+
shell: bash
15+
working-directory: swift
16+
run: |
17+
echo > empty.trap
18+
rm -rf testdb
19+
codeql dataset import -S ql/lib/swift.dbscheme testdb empty.trap
20+
codeql resolve upgrades --format=lines --allow-downgrades --additional-packs downgrades \
21+
--dbscheme=ql/lib/swift.dbscheme --target-dbscheme=downgrades/initial/swift.dbscheme |
22+
xargs -r codeql execute upgrades testdb
23+
diff -q testdb/swift.dbscheme downgrades/initial/swift.dbscheme

0 commit comments

Comments
 (0)