Switch from coveralls to codecov (#84) #62
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: Pipeline | |
| on: | |
| push: | |
| branches: [ main ] | |
| pull_request: | |
| jobs: | |
| black: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: psf/black@stable | |
| with: | |
| options: "--check --diff" | |
| src: ./src/${{ github.event.repository.name }} | |
| black_fix: # in most cases pre-commit is faster | |
| needs: [black] | |
| if: failure() | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| token: ${{ secrets.DEPENDABOT_WORKFLOW_TOKEN }} | |
| ref: ${{ github.event.pull_request.head.ref }} # Check out the head of the actual branch, not the PR | |
| fetch-depth: 0 # otherwise, you will fail to push refs to dest repo | |
| - name: format black | |
| uses: psf/black@stable | |
| with: | |
| options: "" | |
| src: "./src/${{ github.event.repository.name }}" | |
| - name: commit | |
| run: | | |
| git config --local user.email "pyiron@mpie.de" | |
| git config --local user.name "pyiron-runner" | |
| git commit -m "Format black" -a | |
| - name: push | |
| uses: ad-m/github-push-action@master | |
| with: | |
| github_token: ${{ secrets.DEPENDABOT_WORKFLOW_TOKEN }} | |
| branch: ${{ github.event.pull_request.head.ref }} | |
| mypy: | |
| needs: [black] | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Setup Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.14" | |
| architecture: x64 | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Install mypy | |
| run: pip install mypy | |
| - name: Test | |
| run: mypy --ignore-missing-imports src/${{ github.event.repository.name }} | |
| pip_check: | |
| needs: [black] | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Conda config | |
| run: echo -e "channels:\n - conda-forge\n" > .condarc | |
| - uses: conda-incubator/setup-miniconda@v3 | |
| with: | |
| python-version: "3.14" | |
| miniforge-version: latest | |
| condarc-file: .condarc | |
| environment-file: .ci_support/environment.yml | |
| - name: Setup | |
| shell: bash -l {0} | |
| run: | | |
| pip install tomlkit | |
| pip install . --no-deps --no-build-isolation | |
| pip check | |
| unittest: | |
| needs: [black] | |
| runs-on: ${{ matrix.operating-system }} | |
| strategy: | |
| matrix: | |
| operating-system: [ubuntu-latest, macos-latest] | |
| python-version: ['3.10', '3.11', '3.12', '3.13', '3.14'] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Conda config | |
| shell: bash -l {0} | |
| run: echo -e "channels:\n - conda-forge\n" > .condarc | |
| - uses: conda-incubator/setup-miniconda@v3 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| miniforge-version: latest | |
| condarc-file: .condarc | |
| environment-file: .ci_support/environment.yml | |
| - name: Test | |
| shell: bash -l {0} | |
| run: | | |
| pip install --no-deps . | |
| coverage run | |
| coverage: | |
| needs: [black] | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Conda config | |
| shell: bash -l {0} | |
| run: echo -e "channels:\n - conda-forge\n" > .condarc | |
| - uses: conda-incubator/setup-miniconda@v3 | |
| with: | |
| python-version: '3.14' | |
| miniforge-version: latest | |
| condarc-file: .condarc | |
| environment-file: .ci_support/environment.yml | |
| - name: Test | |
| shell: bash -l {0} | |
| run: | | |
| pip install --no-deps . | |
| coverage run | |
| coverage report | |
| coverage xml | |
| - name: Upload coverage reports to Codecov | |
| uses: codecov/codecov-action@v5 | |
| with: | |
| token: ${{ secrets.CODECOV_TOKEN }} | |
| notebooks: | |
| needs: [black] | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Merge Notebook environment | |
| run: | | |
| cp .ci_support/environment.yml environment.yml | |
| tail --lines=+4 .ci_support/environment-notebooks.yml >> environment.yml | |
| - name: Conda config | |
| shell: bash -l {0} | |
| run: echo -e "channels:\n - conda-forge\n" > .condarc | |
| - name: Setup Mambaforge | |
| uses: conda-incubator/setup-miniconda@v3 | |
| with: | |
| python-version: '3.14' | |
| miniforge-version: latest | |
| condarc-file: .condarc | |
| environment-file: environment.yml | |
| - name: Install | |
| shell: bash -l {0} | |
| run: pip install . --no-deps --no-build-isolation | |
| - name: Notebooks | |
| shell: bash -l {0} | |
| timeout-minutes: 5 | |
| run: | | |
| cp -r docs/images . | |
| papermill docs/technology.ipynb docs/technology-out.ipynb -k python3 | |
| papermill docs/implementation.ipynb docs/implementation-out.ipynb -k python3 |