refactor: move shared functions to ccbr_tools and import them here #1
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 | |
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 | |
- name: Install tool_name python package | |
run: | | |
pip install .[dev,test] | |
python -c 'from tool_name.src.util import chmod_bins_exec; chmod_bins_exec()' | |
- 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 |