File: summary.yml

package info (click to toggle)
libvpl 1%3A2.16.0-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 21,580 kB
  • sloc: cpp: 92,604; ansic: 6,176; python: 4,312; sh: 323; makefile: 7
file content (181 lines) | stat: -rw-r--r-- 6,600 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
---
name: Release Summary

permissions: read-all

on:
  workflow_call:
    inputs:
      output_prefix:
        description: 'Prefix to add to output artifacts'
        required: false
        default: ''
        type: string

env:
  BDBA: ${{ inputs.output_prefix }}bdba-scan
  HADOLINT: ${{ inputs.output_prefix }}hadolint
  IPLEAKS: ${{ inputs.output_prefix }}ip-leak-scan
  TRIVY: ${{ inputs.output_prefix }}trivy
  COVERITY_L: linux-${{ inputs.output_prefix }}coverity-scan
  COVERITY_W: windows-${{ inputs.output_prefix }}coverity-scan
  DIFF_L: linux-${{ inputs.output_prefix }}diff-report
  DIFF_W: windows-${{ inputs.output_prefix }}diff-report
  AV_S: source-malware-scan
  AV_L: linux-release-build-malware-scan
  AV_W: windows-release-build-malware-scan
  UTEST_L: linux-release-build-utests
  UTEST_W: windows-release-build-utests
  SSCB_L: linux-${{ inputs.output_prefix }}sscb
  SSCB_W: windows-${{ inputs.output_prefix }}sscb
  RHEL86: rhel8.6-release-gen12.5-acceptance
  SLES154: sles15.4-release-gen12.5-acceptance
  U2204: ubuntu22.04-release-gen12.5-acceptance
  U2404: ubuntu24.04-release-gen12.5-acceptance
  WIN11: windows11-release-gen12.5-acceptance


jobs:
  report:
    runs-on: [self-hosted, Linux, docker]
    steps:

      - name: Cleanup workspace
        run: sudo rm -rf ..?* .[!.]* *

      - name: Download All Artifacts
        uses: actions/download-artifact@v4
        with:
          path: artifacts

      - name: Checkout PR branch
        uses: actions/checkout@v4
        with:
          path: source
          ref: ${{ github.event.pull_request.head.sha }}


      - name: BOM artifacts
        if: >
          !cancelled()
        run: |
          . source/.github/workflows/summary/tools.sh

          export source_root=artifacts
          export dest_root=summary/bom/lib

          copy_all_artifacts "$DIFF_L" Linux
          copy_all_artifacts "$DIFF_W" Windows

      - name: SDL artifacts
        if: >
          !cancelled()
        run: |
          . source/.github/workflows/summary/tools.sh

          export source_root=artifacts
          export dest_root=summary/sdl/lib

          copy_artifact "$BDBA" vulns.csv CT7-KnownVulnerabilities
          copy_artifact "$BDBA" results.pdf CT7-KnownVulnerabilities
          copy_artifact "$BDBA" components.csv CT36-RegisterComponents
          copy_artifact "$AV_S" report.txt CT37-MalwareScan source-report.txt
          copy_artifact "$AV_L" report.txt CT37-MalwareScan linux-report.txt
          copy_artifact "$AV_W" report.txt CT37-MalwareScan windows-report.txt
          copy_artifact "$COVERITY_L/json" errors_v9_full.json \
                        CT39-StaticAnalysis linux-coverity.json
          copy_artifact "$COVERITY_L" cvss_report.pdf \
                        CT39-StaticAnalysis linux-cvss_report.pdf
          copy_artifact "$COVERITY_L" security_report.pdf \
                        CT39-StaticAnalysis linux-security_report.pdf
          copy_artifact "$COVERITY_W/json" errors_v9_full.json \
                        CT39-StaticAnalysis windows-coverity.json
          copy_artifact "$COVERITY_W" cvss_report.pdf \
                        CT39-StaticAnalysis windows-cvss_report.pdf
          copy_artifact "$COVERITY_W" security_report.pdf \
                        CT39-StaticAnalysis windows-security_report.pdf
          copy_artifact "$TRIVY" trivy-report.csv CT247-Trivy
          copy_all_artifacts $SSCB_L CT151-CompilerFlags
          copy_all_artifacts $SSCB_W CT151-CompilerFlags

      - name: SWLC artifacts
        run: |
          . source/.github/workflows/summary/tools.sh

          export source_root=artifacts
          export dest_root=summary/swlc/lib

          copy_all_artifacts "$IPLEAKS" ip_leaks

      - name: Quality artifacts
        if: >
          !cancelled()
        run: |
          . source/.github/workflows/summary/tools.sh

          export source_root=artifacts
          export dest_root=summary/quality

          copy_artifact "$UTEST_L" linux.xml unit/lib linux.xml
          copy_artifact "$UTEST_W" windows.xml unit/lib windows.xml
          copy_all_artifacts "$U2204" acceptance/Ubuntu22.04/gen12.5
          copy_all_artifacts "$U2404" acceptance/Ubuntu24.04/gen12.5
          copy_all_artifacts "$WIN11" acceptance/Win11/gen12.5
          copy_all_artifacts "$SLES154" acceptance/SLES15.4/gen12.5
          copy_all_artifacts "$RHEL86" acceptance/RHEL8.6/gen12.5
          copy_artifact linux-performance summary.csv \
                        performance linux-performance-summary.csv
          copy_artifact linux-performance summary.md \
                        performance linux-performance-summary.md

      - name: Build Docker image
        run: >
          docker build ${{ inputs.docker_opts }}
          -f "source/.github/workflows/summary/Dockerfile.ubuntu.summary"
          --build-arg USER_ID=$(id -u)
          --build-arg GROUP_ID=$(id -g)
          -t vpl_summary:ubuntu
          "source/.github/workflows/summary"

      - name: Evaluate Results
        run: |
          if [ -d summary/quality ]
          then
            docker run --rm -v $(pwd):/tmp/work -w /tmp/work  \
            vpl_summary:ubuntu \
            python3 \
            "/tmp/work/source/.github/workflows/summary/summarize_testing.py" \
            /tmp/work/summary/quality
          fi

      - name: Report security related tests
        run: |
          if [ -d summary/quality/unit/lib ]
          then
            mkdir -p -v summary/sdl/lib/CT40-SecurityValidation
            docker run --rm -v $(pwd):/tmp/work -w /tmp/work  \
            vpl_summary:ubuntu \
            python3 \
            "/tmp/work/source/.github/workflows/summary/filter_xunit.py" \
            "/tmp/work/summary/quality/unit/lib/linux.xml" \
            -o "/tmp/work/summary/sdl/lib/CT40-SecurityValidation/linux.csv" \
            -i Double Null Unsupported Invalid

            docker run --rm -v $(pwd):/tmp/work -w /tmp/work  \
            vpl_summary:ubuntu \
            python3 \
            "/tmp/work/source/.github/workflows/summary/filter_xunit.py" \
            "/tmp/work/summary/quality/unit/lib/windows.xml" \
            -o "/tmp/work/summary/sdl/lib/CT40-SecurityValidation/windows.csv" \
            -i Double Null Unsupported Invalid
          fi

      - name: Upload Summary
        if: success() || failure()
        uses: actions/upload-artifact@v4
        with:
          name: ${{ inputs.output_prefix }}release-summary
          path: summary/*

      - name: Cleanup workspace
        run: sudo rm -rf ..?* .[!.]* *