Test tiobe integration #8684
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: Setup tmate session | |
| uses: mxschmitt/action-tmate@v3 | |
| with: | |
| limit-access-to-actor: true | |
| - 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 |