|
1 |
| -name: FreeRTOS-Kernel Coverity Scan |
| 1 | +name: Coverity Scan |
2 | 2 | on:
|
3 |
| - schedule: ## Scheduled to run at 1:15 AM UTC daily. |
4 |
| - - cron: '15 1 * * *' |
| 3 | + # Run on every commit to mainline |
| 4 | + push: |
| 5 | + branches: main |
| 6 | + # Allow manual running of the scan |
| 7 | + workflow_dispatch: |
5 | 8 |
|
| 9 | +env: |
| 10 | + bashPass: \033[32;1mPASSED - |
| 11 | + bashInfo: \033[33;1mINFO - |
| 12 | + bashFail: \033[31;1mFAILED - |
| 13 | + bashEnd: \033[0m |
6 | 14 |
|
7 | 15 | jobs:
|
8 |
| - |
9 | 16 | Coverity-Scan:
|
| 17 | + if: ( github.repository == 'FreeRTOS/FreeRTOS-Kernel' ) |
10 | 18 | name: Coverity Scan
|
11 | 19 | runs-on: ubuntu-latest
|
12 | 20 | steps:
|
13 | 21 | - name: Checkout the Repository
|
14 | 22 | uses: actions/checkout@v3
|
15 | 23 |
|
16 |
| - - name: Install Build Essentials |
| 24 | + - env: |
| 25 | + stepName: Install Build Essentials |
17 | 26 | shell: bash
|
18 | 27 | run: |
|
| 28 | + # ${{ env.stepName }} |
| 29 | + echo -e "::group::${{ env.bashInfo }} ${{ env.stepName }} ${{ env.bashEnd }}" |
| 30 | +
|
19 | 31 | sudo apt-get -y update
|
20 | 32 | sudo apt-get -y install build-essential
|
21 | 33 |
|
22 |
| - - name: Install Coverity Build |
23 |
| - shell: bash |
24 |
| - env: |
| 34 | + echo "::endgroup::" |
| 35 | + echo -e "${{ env.bashPass }} ${{ env.stepName }} ${{ env.bashEnd }}" |
| 36 | +
|
| 37 | + - env: |
| 38 | + stepName: Install Coverity Build |
25 | 39 | COVERITY_TOKEN: ${{ secrets.COVERITY_SCAN_TOKEN }}
|
| 40 | + shell: bash |
26 | 41 | run: |
|
| 42 | + # ${{ env.stepName }} |
| 43 | + echo -e "::group::${{ env.bashInfo }} ${{ env.stepName }} ${{ env.bashEnd }}" |
| 44 | +
|
27 | 45 | wget -nv -qO- https://scan.coverity.com/download/linux64 --post-data "token=${COVERITY_TOKEN}&project=FreeRTOS-Kernel" | tar -zx --one-top-level=cov_scan --strip-components 1
|
28 | 46 | echo "cov_scan_path=$(pwd)/cov_scan/bin" >> $GITHUB_ENV
|
29 | 47 |
|
30 |
| - - name: Coverity Build & Upload for Scan |
31 |
| - shell: bash |
32 |
| - env: |
| 48 | + echo "::endgroup::" |
| 49 | + echo -e "${{ env.bashPass }} ${{ env.stepName }} ${{ env.bashEnd }} " |
| 50 | +
|
| 51 | + - env: |
| 52 | + stepName: Coverity Build & Upload for Scan |
33 | 53 | COVERITY_TOKEN: ${{ secrets.COVERITY_SCAN_TOKEN }}
|
34 | 54 | COVERITY_EMAIL: ${{ secrets.COVERITY_SCAN_EMAIL }}
|
| 55 | + shell: bash |
35 | 56 | run: |
|
| 57 | + # ${{ env.stepName }} |
| 58 | + echo -e "::group::${{ env.bashInfo }} ${{ env.stepName }} ${{ env.bashEnd }}" |
| 59 | +
|
36 | 60 | export PATH="$PATH:${{env.cov_scan_path}}"
|
37 | 61 | cmake -S ./examples/cmake_example/ -B build
|
38 | 62 | cd build
|
39 | 63 | cov-build --dir cov-int make -j
|
40 |
| - tar czvf gcc_freertos_kerenl_sample_build.tgz cov-int |
| 64 | + tar czvf gcc_freertos_kernel_sample_build.tgz cov-int |
| 65 | +
|
| 66 | + echo "::endgroup::" |
| 67 | + echo -e "${{ env.bashPass }} ${{ env.stepName }} ${{ env.bashEnd }} " |
| 68 | +
|
| 69 | + - env: |
| 70 | + stepName: Upload Coverity Report for Scan |
| 71 | + COVERITY_TOKEN: ${{ secrets.COVERITY_SCAN_TOKEN }} |
| 72 | + COVERITY_EMAIL: ${{ secrets.COVERITY_SCAN_EMAIL }} |
| 73 | + shell: bash |
| 74 | + run: | |
| 75 | + # ${{ env.stepName }} |
| 76 | + echo -e "::group::${{ env.bashInfo }} ${{ env.stepName }} ${{ env.bashEnd }}" |
| 77 | +
|
41 | 78 | COV_SCAN_UPLOAD_STATUS=$(curl --form token=${COVERITY_TOKEN} \
|
42 | 79 | --form email=${COVERITY_EMAIL} \
|
43 |
| - --form file=@gcc_freertos_kerenl_sample_build.tgz \ |
| 80 | + --form file=@gcc_freertos_kernel_sample_build.tgz \ |
44 | 81 | --form version="Mainline" \
|
45 |
| - --form description="FreeRTOS Kernel Nightly Scan" \ |
| 82 | + --form description="FreeRTOS Kernel Commit Scan" \ |
46 | 83 | https://scan.coverity.com/builds?project=FreeRTOS-Kernel)
|
| 84 | +
|
| 85 | + echo "::endgroup::" |
| 86 | + echo -e "${{ env.bashPass }} ${{ env.stepName }} ${{ env.bashEnd }} " |
47 | 87 | echo "${COV_SCAN_UPLOAD_STATUS}" | grep -q -e 'Build successfully submitted' || echo >&2 "Error submitting build for analysis: ${COV_SCAN_UPLOAD_STATUS}"
|
0 commit comments