Skip to content

ci(dependabot): bump actions/cache from 4 to 5 #159

ci(dependabot): bump actions/cache from 4 to 5

ci(dependabot): bump actions/cache from 4 to 5 #159

Workflow file for this run

name: build
on: [push]
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.10"]
steps:
- name: Checkout the repo
uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install Conda
uses: conda-incubator/setup-miniconda@v3
with:
auto-update-conda: true
python-version: ${{ matrix.python-version }}
activate-environment: subcell_pipeline
environment-file: ./environment.yml
- name: Set up PDM
uses: pdm-project/setup-pdm@v4
with:
python-version: "3.10"
version: 2.12.2
cache: true
- name: Cache environment
id: cached-dependencies
uses: actions/cache@v5
env:
CACHE_NUMBER: 0 # Increment this number if you wish to hard-refresh the cache.
with:
path: /usr/share/miniconda/envs/subcell_pipeline
key: ${{ runner.os }}-${{ hashFiles('**/pdm.lock', '**/environment.yml') }}-${{ env.CACHE_NUMBER }}
- name: Install dependencies
if: steps.cached-dependencies.outputs.cache-hit != 'true'
shell: bash -l {0}
run: |
conda create -n subcell_pipeline python=3.10
conda activate subcell_pipeline
conda env update --file environment.yml --prune
pdm sync
- name: Test with pytest
shell: bash -l {0}
run: |
pdm run pytest --cov=subcell_pipeline/ --cov-report html
rm htmlcov/.gitignore
- name: Publish coverage report
if: ${{ github.ref == 'refs/heads/main' && matrix.python-version == '3.10' }}
uses: JamesIves/github-pages-deploy-action@v4
with:
branch: gh-pages
folder: htmlcov
target-folder: _coverage
- name: Extract coverage percent
if: ${{ github.ref == 'refs/heads/main' && matrix.python-version == '3.10' }}
run: |
echo "COVERAGE=$(grep -oP 'pc_cov">\K([0-9]+)' htmlcov/index.html)" >> $GITHUB_ENV
- name: Generate coverage badge
if: ${{ github.ref == 'refs/heads/main' && matrix.python-version == '3.10' }}
uses: knightdave/[email protected]
with:
file: docs/_badges/coverage.svg
label: coverage
value: ${{ env.COVERAGE }}
value_format: "%d%%"
anybadge_args: 50=red 60=orange 80=yellow 100=green
template: docs/_badges/template.svg
overwrite: true
- name: Publish badge
if: ${{ github.ref == 'refs/heads/main' && matrix.python-version == '3.10' }}
uses: JamesIves/github-pages-deploy-action@v4
with:
branch: gh-pages
folder: docs/_badges
target-folder: _badges
clean: false
result:
if: ${{ always() && github.ref == 'refs/heads/main' }}
runs-on: ubuntu-latest
needs: [build]
steps:
- name: Checkout the repo
uses: actions/checkout@v4
- name: Get build result
run: |
if [[ ${{ needs.build.result }} == "success" || ${{ needs.build.result }} == "skipped" ]]; then
exit 0
else
exit 1
fi
- name: Generate passing badge
if: success()
uses: knightdave/[email protected]
with:
file: docs/_badges/build.svg
label: build
value: passing
color: green
template: docs/_badges/template.svg
overwrite: true
- name: Generate failing badge
if: failure()
uses: knightdave/[email protected]
with:
file: docs/_badges/build.svg
label: build
value: failing
color: red
template: docs/_badges/template.svg
overwrite: true
- name: Publish badge
if: success() || failure()
uses: JamesIves/github-pages-deploy-action@v4
with:
branch: gh-pages
folder: docs/_badges
target-folder: _badges
clean: false