Fix usage of cache path and implement parallized testing #9328
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: Create a pipeline and run nf-core linting | |
on: | |
push: | |
branches: | |
- dev | |
paths-ignore: | |
- "docs/**" | |
- "CHANGELOG.md" | |
pull_request: | |
paths-ignore: | |
- "docs/**" | |
- "CHANGELOG.md" | |
release: | |
types: [published] | |
workflow_dispatch: | |
inputs: | |
runners: | |
description: "Runners to test on" | |
type: choice | |
options: | |
- "ubuntu-latest" | |
- "self-hosted" | |
default: "self-hosted" | |
# Cancel if a newer run is started | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
cancel-in-progress: true | |
env: | |
NXF_ANSI_LOG: false | |
jobs: | |
MakeTestWorkflow: | |
runs-on: ${{ github.event.inputs.runners || github.run_number > 1 && 'ubuntu-latest' || 'self-hosted' }} | |
env: | |
NXF_ANSI_LOG: false | |
strategy: | |
matrix: | |
NXF_VER: | |
- "24.04.2" | |
- "latest-everything" | |
steps: | |
- name: go to subdirectory and change nextflow workdir | |
run: | | |
mkdir -p create-lint-wf | |
cd create-lint-wf | |
export NXF_WORK=$(pwd) | |
# Get the repo code | |
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 | |
name: Check out source-code repository | |
# Set up nf-core/tools | |
- name: Set up Python 3.12 | |
uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5 | |
with: | |
python-version: "3.12" | |
cache: pip | |
- name: Install python dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install . | |
- name: run create-lint-wf | |
uses: ./.github/actions/create-lint-wf | |
with: | |
NXF_VER: ${{ matrix.NXF_VER }} | |
# Build a module from the template | |
- name: nf-core modules create | |
run: nf-core --verbose --log-file log.txt modules create bpipe --dir nf-core-testpipeline --author @nf-core-bot --label process_low --meta | |
working-directory: create-lint-wf | |
# Remove TODO statements | |
- name: remove TODO | |
run: find nf-core-testpipeline -type f -exec sed -i '/TODO nf-core:/d' {} \; | |
working-directory: create-lint-wf | |
# Uncomment includeConfig statement | |
- name: uncomment include config | |
run: find nf-core-testpipeline -type f -exec sed -i 's/\/\/ includeConfig/includeConfig/' {} \; | |
working-directory: create-lint-wf | |
# Run the other nf-core commands | |
- name: nf-core pipelines list | |
run: nf-core --log-file log.txt pipelines list | |
working-directory: create-lint-wf | |
- name: nf-core pipelines schema | |
run: nf-core --log-file log.txt pipelines schema build --dir nf-core-testpipeline/ --no-prompts | |
working-directory: create-lint-wf | |
- name: Cleanup work directory | |
run: sudo rm -rf create-lint-wf | |
if: always() |