Skip to content

Commit da3ae33

Browse files
authored
Merge pull request #63 from ArielSAdamsNASA/fix-62-implement-coding-standard-codeql
Fix #62, Implement Coding Standard CodeQL
2 parents 12c82b5 + 5acb286 commit da3ae33

File tree

1 file changed

+62
-3
lines changed

1 file changed

+62
-3
lines changed

.github/workflows/codeql-build.yml

Lines changed: 62 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@ name: "CodeQL Analysis"
22

33
on:
44
push:
5+
pull_request:
56
branches:
67
- main
7-
pull_request:
88

99
env:
1010
SIMULATION: native
@@ -13,8 +13,67 @@ env:
1313
BUILDTYPE: release
1414

1515
jobs:
16+
#Checks for duplicate actions. Skips push actions if there is a matching or duplicate pull-request action.
17+
check-for-duplicates:
18+
runs-on: ubuntu-latest
19+
# Map a step output to a job output
20+
outputs:
21+
should_skip: ${{ steps.skip_check.outputs.should_skip }}
22+
steps:
23+
- id: skip_check
24+
uses: fkirc/skip-duplicate-actions@master
25+
with:
26+
concurrent_skipping: 'same_content'
27+
skip_after_successful_duplicate: 'true'
28+
do_not_skip: '["pull_request", "workflow_dispatch", "schedule"]'
29+
30+
CodeQL-Security-Build:
31+
needs: check-for-duplicates
32+
if: ${{ needs.check-for-duplicates.outputs.should_skip != 'true' }}
33+
runs-on: ubuntu-18.04
34+
timeout-minutes: 15
35+
36+
steps:
37+
# Checks out a copy of your repository on the ubuntu-latest machine
38+
- name: Checkout bundle
39+
uses: actions/checkout@v2
40+
with:
41+
repository: nasa/cFS
42+
submodules: true
43+
44+
- name: Checkout submodule
45+
uses: actions/checkout@v2
46+
with:
47+
path: apps/sample_lib
48+
49+
- name: Check versions
50+
run: git submodule
51+
52+
- name: Initialize CodeQL
53+
uses: github/codeql-action/init@v1
54+
with:
55+
languages: c
56+
config-file: nasa/cFS/.github/codeql/codeql-security.yml@main
57+
58+
# Setup the build system
59+
- name: Set up for build
60+
run: |
61+
cp ./cfe/cmake/Makefile.sample Makefile
62+
cp -r ./cfe/cmake/sample_defs sample_defs
63+
make prep
64+
65+
# Build the code
66+
- name: Build
67+
run: |
68+
make sample_lib
69+
make native/default_cpu1/apps/sample_lib/unit-test/
70+
71+
- name: Perform CodeQL Analysis
72+
uses: github/codeql-action/analyze@v1
1673

17-
CodeQL-Build:
74+
CodeQL-Coding-Standard-Build:
75+
needs: check-for-duplicates
76+
if: ${{ needs.check-for-duplicates.outputs.should_skip != 'true' }}
1877
runs-on: ubuntu-18.04
1978
timeout-minutes: 15
2079

@@ -38,7 +97,7 @@ jobs:
3897
uses: github/codeql-action/init@v1
3998
with:
4099
languages: c
41-
queries: +security-extended, security-and-quality
100+
config-file: nasa/cFS/.github/codeql/codeql-coding-standard.yml@main
42101

43102
# Setup the build system
44103
- name: Set up for build

0 commit comments

Comments
 (0)