projectsyn/commodore

View on GitHub
.github/workflows/coverage.yml

Summary

Maintainability
Test Coverage
name: Test coverage with codeclimate
on:
  pull_request:
    branches:
      - master
  push:
    branches:
      - master

jobs:
  coverage:
    # Only run coverage (which includes the integration test) for PRs which don't originate from a fork
    if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.fork == false
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v4
    - uses: actions/setup-python@v5
      with:
        python-version: '3.11'
    - uses: Gr1N/setup-poetry@v9
    - uses: actions/cache@v4
      with:
        path: ~/.cache/pypoetry/virtualenvs
        key: ${{ runner.os }}-poetry-${{ hashFiles('poetry.lock') }}
    - name: Install Poetry and setup Poetry virtualenv
      run: |
        poetry env use python3.11
        poetry install
    - name: Install jsonnet-bundler
      run: |
        mkdir -p /opt/bin && curl -sLo /opt/bin/jb \
          https://github.com/projectsyn/jsonnet-bundler/releases/download/v0.6.1/jb_linux_amd64 \
          && chmod +x /opt/bin/jb
    - name: Update PATH
      run: echo "/opt/bin" >> $GITHUB_PATH
    - name: Pull in SSH deploy key for integration test
      env:
        SSH_AUTH_SOCK: /tmp/ssh_agent.sock
      run: |
          mkdir -p ~/.ssh
          echo "github.com ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==" >> ~/.ssh/known_hosts
          ssh-agent -a $SSH_AUTH_SOCK > /dev/null
          ssh-add - <<< "${{ secrets.CATALOG_DEPLOY_KEY }}"
    - name: Run test coverage
      run: make test_coverage
      env:
        SSH_AUTH_SOCK: /tmp/ssh_agent.sock
    - name: Upload code coverage report to Code Climate
      uses: paambaati/codeclimate-action@v9.0.0
      env:
        CC_TEST_REPORTER_ID: f9c194f25b65bf9c9413d736386e70d32c128516218768333cd7205e79076506
      with:
        coverageLocations: coverage.xml:coverage.py