This repository was archived by the owner on Apr 8, 2026. It is now read-only.
CI tests #846
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: CI tests | |
| on: | |
| push: | |
| branches: | |
| - main | |
| pull_request: | |
| branches: | |
| - main | |
| # Also run weekly, to make sure nothing has broken in the interim | |
| schedule: | |
| - cron: "0 0 * * 1" | |
| concurrency: tests | |
| jobs: | |
| run-tests: | |
| runs-on: ubuntu-latest | |
| environment: codecov | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| python_version: ["3.10", "3.11", "3.12", "3.13"] | |
| steps: | |
| - name: Checkout repo | |
| uses: actions/checkout@v6 | |
| - name: Setup Python ${{ matrix.python_version }} | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: ${{ matrix.python_version }} | |
| - name: Install dependencies and package | |
| run: | | |
| python -m pip install -U pip | |
| python -m pip install -r dev-requirements.txt | |
| python -m pip install . | |
| - name: Run tests | |
| run: | | |
| python -m coverage run -m pytest -vvv --color=yes | |
| - name: Generate coverate report | |
| run: | | |
| coverage report && coverage xml | |
| - name: "Upload coverage to Codecov" | |
| uses: codecov/codecov-action@v5 | |
| with: | |
| token: ${{ secrets.CODECOV_TOKEN }} | |
| run-test-chart: | |
| if: contains(github.head_ref, 'dependabot') == false | |
| runs-on: ubuntu-latest | |
| environment: github-app-token | |
| steps: | |
| - name: Checkout repo | |
| uses: actions/checkout@v6 | |
| - name: Setup Python 3.10 | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: "3.10" | |
| - name: Install package | |
| run: | | |
| python -m pip install -e . | |
| - name: Generate token | |
| id: generate_token | |
| uses: tibdex/github-app-token@v2 | |
| with: | |
| app_id: ${{ secrets.APP_ID }} | |
| private_key: ${{ secrets.PRIVATE_KEY }} | |
| - name: Run helm-bot | |
| run: helm-bot | |
| env: | |
| INPUT_CHART_PATH: "tests/assets/test-chart/Chart.yaml" | |
| INPUT_CHART_URLS: '{"binderhub": "https://raw.githubusercontent.com/jupyterhub/helm-chart/gh-pages/index.yaml", "cryptnono": "https://cryptnono.github.io/cryptnono/index.yaml", "prometheus": "https://prometheus-community.github.io/helm-charts/index.yaml", "ingress-nginx": "https://kubernetes.github.io/ingress-nginx/index.yaml", "grafana": "https://grafana.github.io/helm-charts/index.yaml"}' | |
| INPUT_GITHUB_TOKEN: ${{ steps.generate_token.outputs.token }} | |
| INPUT_REPOSITORY: ${{ github.repository }} | |
| INPUT_BASE_BRANCH: ${{ github.head_ref || github.ref_name }} | |
| INPUT_HEAD_BRANCH: "test" | |
| INPUT_DRY_RUN: "true" |