Test tiobe integration #8682
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Linux | |
| on: | |
| push: | |
| branches: | |
| - main | |
| - release/[0-9]+.[0-9]+ | |
| tags: | |
| - v[0-9]+.[0-9]+.[0-9]+ | |
| pull_request: | |
| types: [opened, synchronize, reopened, ready_for_review] | |
| jobs: | |
| build: | |
| runs-on: [self-hosted, reactive, amd64, 2xlarge, noble] | |
| outputs: | |
| label: ${{ steps.build-params.outputs.label }} | |
| channel: ${{ steps.build-params.outputs.channel }} | |
| env: | |
| VCPKG_FORCE_SYSTEM_BINARIES: 1 | |
| BUILD_DIR: ${{ github.workspace }}/build | |
| COVERAGE_DIR: ${{ github.workspace }}/coverage | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v3 | |
| with: | |
| submodules: recursive | |
| fetch-depth: 0 | |
| - name: Determine build parameters | |
| id: build-params | |
| uses: ./.github/actions/build-params | |
| - name: Install build dependencies | |
| run: | | |
| sudo --preserve-env apt-get install --yes devscripts equivs lcov | |
| sudo --preserve-env apt-get build-dep --yes ./ | |
| # mk-build-deps -s sudo -i | |
| - name: Configure | |
| run: | | |
| cmake -B${{ env.BUILD_DIR }} \ | |
| -DCMAKE_BUILD_TYPE=Coverage \ | |
| -DMULTIPASS_BUILD_LABEL=${{ steps.build-params.outputs.label }} | |
| - name: Generate coverage report | |
| run: | | |
| cmake --build ${{ env.BUILD_DIR }} \ | |
| --target covreport \ | |
| -j$(nproc) | |
| mkdir -p ${{ env.COVERAGE_DIR }} | |
| mv ${{ env.BUILD_DIR }}/coverage/index.html ${{ env.COVERAGE_DIR }}/coverage.html | |
| - name: Run TICS Analysis | |
| uses: tiobe/tics-github-action@v3 | |
| with: | |
| mode: qserver | |
| project: multipass | |
| viewerUrl: https://canonical.tiobe.com/tiobeweb/TICS/api/cfg?name=default | |
| ticsAuthToken: ${{ secrets.TICSAUTHTOKEN }} | |
| installTics: true | |
| - if: ${{ failure() }} | |
| name: Setup tmate session | |
| uses: mxschmitt/action-tmate@v3 | |
| with: | |
| limit-access-to-actor: true |