|
1 |
| -name: "CodeQL" |
2 |
| - |
3 |
| -on: |
4 |
| - merge_group: |
5 |
| - pull_request: |
6 |
| - branches: |
7 |
| - - main |
8 |
| - - '[0-9]+.[0-9]+' |
9 |
| - |
10 |
| -jobs: |
11 |
| - analyze: |
12 |
| - container: |
13 |
| - image: domjudge/gitlabci:24.04 |
14 |
| - options: --user domjudge |
15 |
| - name: Analyze |
16 |
| - runs-on: ubuntu-latest |
17 |
| - env: |
18 |
| - COMPILED: "cpp" |
19 |
| - USER: "domjudge" |
20 |
| - permissions: |
21 |
| - actions: read |
22 |
| - contents: read |
23 |
| - security-events: write |
24 |
| - |
25 |
| - strategy: |
26 |
| - fail-fast: false |
27 |
| - matrix: |
28 |
| - language: [ 'cpp', 'java', 'javascript', 'python' ] |
29 |
| - |
30 |
| - steps: |
31 |
| - - name: Checkout repository |
32 |
| - uses: actions/checkout@v4 |
33 |
| - |
34 |
| - - name: Initialize CodeQL |
35 |
| - uses: github/codeql-action/init@v3 |
36 |
| - with: |
37 |
| - languages: ${{ matrix.language }} |
38 |
| - |
39 |
| - - name: Install composer files |
40 |
| - if: ${{ contains(env.COMPILED, matrix.language) }} |
41 |
| - run: | |
42 |
| - cd webapp |
43 |
| - composer install --no-scripts |
44 |
| -
|
45 |
| - - name: Configure Makefile |
46 |
| - if: ${{ contains(env.COMPILED, matrix.language) }} |
47 |
| - run: | |
48 |
| - DIR=$(pwd) |
49 |
| - mkdir ./installdir |
50 |
| - make configure |
51 |
| - ./configure --enable-doc-build=no --prefix=$DIR/installdir |
52 |
| -
|
53 |
| - - name: Compile domserver |
54 |
| - if: ${{ contains(env.COMPILED, matrix.language) }} |
55 |
| - run: | |
56 |
| - make domserver |
57 |
| - make install-domserver |
58 |
| -
|
59 |
| - - name: Compile the build scripts for languages |
60 |
| - run: | |
61 |
| - make build-scripts |
62 |
| -
|
63 |
| - - name: Compile judgehost |
64 |
| - if: ${{ contains(env.COMPILED, matrix.language) }} |
65 |
| - run: | |
66 |
| - make judgehost |
67 |
| - sudo make install-judgehost |
68 |
| -
|
69 |
| - - name: Remove upstream code |
70 |
| - run: | |
71 |
| - rm -rf webapp/public/js/monaco doc/manual/_static |
72 |
| -
|
73 |
| - - name: Chown everything to the current runner user |
74 |
| - if: ${{ contains(env.COMPILED, matrix.language) }} |
75 |
| - run: sudo chown -R ${USER} ./installdir |
76 |
| - |
77 |
| - - name: Perform CodeQL Analysis |
78 |
| - uses: github/codeql-action/analyze@v3 |
0 commit comments