refactor: move shared functions to ccbr_tools and import them here #4
Workflow file for this run
This file contains 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: build | |
# TODO replace tool_name with the name of your tool | |
on: | |
push: | |
branches: | |
- main | |
- develop | |
pull_request: | |
branches: | |
- main | |
- develop | |
workflow_dispatch: | |
inputs: | |
test_run: | |
type: boolean | |
default: false | |
required: true | |
env: | |
test_run: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.test_run }} | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
timeout-minutes: 2 | |
strategy: | |
matrix: | |
python-version: ["3.11"] | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python-version }} | |
cache: "pip" | |
- name: Install nextflow | |
uses: nf-core/setup-nextflow@v1 | |
- name: Install Python dependencies | |
run: | | |
python -m pip install --upgrade pip setuptools | |
pip install .[dev,test] | |
- name: Check CLI basics | |
run: | | |
which tool_name | |
tool_name --help | |
tool_name --version | |
tool_name --citation | |
- name: Stub run | |
run: | | |
mkdir -p tmp && pushd tmp | |
tool_name init | |
tool_name run -c conf/ci_stub.config -stub | |
popd | |
- name: Test run | |
if: ${{ env.test_run == 'true' }} | |
run: | | |
mkdir -p tmp && pushd tmp | |
tool_name init | |
tool_name run -c conf/ci_stub.config -profile docker | |
popd | |
- name: "Upload Artifact" | |
uses: actions/upload-artifact@v3 | |
if: always() # run even if previous steps fail | |
with: | |
name: nextflow-log | |
path: .nextflow.log | |
build-status: # https://github.com/orgs/community/discussions/4324#discussioncomment-3477871 | |
runs-on: ubuntu-latest | |
needs: [build] | |
if: always() | |
steps: | |
- name: Successful build | |
if: ${{ !(contains(needs.*.result, 'failure')) }} | |
run: exit 0 | |
- name: Failing build | |
if: ${{ contains(needs.*.result, 'failure') }} | |
run: exit 1 |