Skip to content

debugging running tests #170

debugging running tests

debugging running tests #170

Workflow file for this run

name: CI/CD
on:
push:
branches: [ main, develop ]
pull_request:
branches: [ main, develop ]
release:
types: [published]
defaults:
run:
shell: bash
jobs:
download-task-template:
runs-on: ubuntu-latest
steps:
- name: Download task template
run: |
LATEST=$(curl -s https://api.github.com/repos/nipype/pydra-tasks-template/releases/latest | grep tag_name | awk -F\" '{print $4}')
curl -Lo pydra-tasks-template.tar.gz https://github.com/nipype/pydra-tasks-template/archive/refs/tags/$LATEST.tar.gz
tar xzf pydra-tasks-template.tar.gz
rm pydra-tasks-template.tar.gz
mv pydra-tasks-template-${LATEST#v} pydra-tasks-template
tar czf pydra-tasks-template.tar.gz pydra-tasks-template
- uses: actions/upload-artifact@v4
with:
name: tasks-template
path: pydra-tasks-template.tar.gz
test:
needs: [download-task-template]
strategy:
matrix:
os: [macos-latest, ubuntu-latest]
python-version: ["3.8", "3.11"]
fail-fast: false
runs-on: ${{ matrix.os }}
defaults:
run:
shell: bash -l {0}
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Download the pydra-tasks-template artefact
uses: actions/download-artifact@v4
with:
name: tasks-template
path: .
- name: Extract the pydra-tasks-template
run: tar xzf pydra-tasks-template.tar.gz
- name: Unset header
# checkout@v2 adds a header that makes branch protection report errors
# because the Github action bot is not a collaborator on the repo
run: |
git config --local --unset http.https://github.com/.extraheader
git config --global init.defaultBranch main
git config --global user.email "[email protected]"
git config --global user.name "Dummy User"
- name: Fetch tags
run: git fetch --prune --unshallow
- name: Disable etelemetry
run: echo "NO_ET=TRUE" >> $GITHUB_ENV
- name: Set up Python ${{ matrix.python-version }} on ${{ matrix.os }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Update build tools
run: python3 -m pip install --break-system-packages --upgrade pip setuptools wheel
- name: Install required file-formats packages
run: |
pushd required-fileformats
python3 -m pip install --break-system-packages -r requirements.txt
popd
- name: Install Dipy separately as it was causing trouble
run: python3 -m pip install --break-system-packages dipy
- name: Install Package
run: python3 -m pip install --break-system-packages .[test]
- name: Pytest
run: >-
NIPYPE2PYDRA_PYDRA_TASK_TEMPLATE=$PWD/pydra-tasks-template
pytest -vvs --cov nipype2pydra --cov-config .coveragerc --cov-report xml
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v2
with:
fail_ci_if_error: true
token: ${{ secrets.CODECOV_TOKEN }}
deploy:
needs: [test]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
fetch-depth: 0
- name: Unset header
# checkout@v2 adds a header that makes branch protection report errors
# because the Github action bot is not a collaborator on the repo
run: git config --local --unset http.https://github.com/.extraheader
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3.11'
- name: Install build tools
run: python3 -m pip install --break-system-packages build twine
- name: Build source and wheel distributions
run: python3 -m build .
- name: Check distributions
run: twine check dist/*
- name: Check for PyPI token on tag
id: deployable
if: github.event_name == 'release'
env:
PYPI_API_TOKEN: "${{ secrets.PYPI_API_TOKEN }}"
run: if [ -n "$PYPI_API_TOKEN" ]; then echo "DEPLOY=true" >> $GITHUB_OUTPUT; fi
- name: Upload to PyPI
if: steps.deployable.outputs.DEPLOY
uses: pypa/gh-action-pypi-publish@release/v1
with:
user: __token__
password: ${{ secrets.PYPI_API_TOKEN }}
trigger_post_release:
needs: [deploy]
runs-on: ubuntu-latest
strategy:
matrix:
repo:
- afni
- ants
- fsl
- freesurfer
- mriqc
- niworkflows
- nireports
steps:
- name: Trigger post-release on downstream repos
if: github.event_name == 'release'
run: |
curl -XPOST -u "${{ env.POST_RELEASE_PAT }}" -H "Accept: application/vnd.github.everest-preview+json" \
"https://api.github.com/repos/nipype/pydra-${{ matrix.repo }}/dispatches" \
-d '{"event_type": "create-post-release"}'
env:
PAT: ${{ env.POST_RELEASE_PAT }}