feat(diann): protein inference defaults to DIA-NN standard; relaxed/no-prot-inf opt-in #398
This file contains hidden or 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: nf-core CI | |
| # This workflow runs the pipeline with the minimal test dataset to check that it completes without any syntax errors | |
| on: | |
| push: | |
| branches: | |
| - dev | |
| - master | |
| pull_request: | |
| release: | |
| types: [published] | |
| workflow_dispatch: | |
| env: | |
| NXF_ANSI_LOG: false | |
| NXF_SINGULARITY_CACHEDIR: ${{ github.workspace }}/.singularity | |
| NXF_SINGULARITY_LIBRARYDIR: ${{ github.workspace }}/.singularity | |
| concurrency: | |
| group: "${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}" | |
| cancel-in-progress: true | |
| jobs: | |
| test: | |
| env: | |
| NXF_ANSI_LOG: false | |
| CAPSULE_LOG: none | |
| TEST_PROFILE: ${{ matrix.test_profile }} | |
| EXEC_PROFILE: ${{ matrix.exec_profile }} | |
| name: "CI [${{ matrix.test_profile }}] NXF=${{ matrix.NXF_VER }}" | |
| if: ${{ github.event_name != 'push' || (github.event_name == 'push' && github.repository == 'bigbio/quantmsdiann') }} | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| NXF_VER: | |
| - "25.10.4" | |
| test_profile: ["test_dia", "test_dia_dotd", "test_dda"] | |
| exec_profile: ["docker"] # extended ci tests singularity. | |
| steps: | |
| - name: Check out pipeline code | |
| uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4 | |
| with: | |
| fetch-depth: 0 | |
| - uses: actions/setup-java@v4 | |
| with: | |
| distribution: "temurin" | |
| java-version: "17" | |
| - name: Set up Nextflow | |
| uses: nf-core/setup-nextflow@v2 | |
| with: | |
| version: "${{ matrix.NXF_VER }}" | |
| - name: Set up Singularity | |
| if: matrix.exec_profile == 'singularity' | |
| run: | | |
| mkdir -p $NXF_SINGULARITY_CACHEDIR | |
| mkdir -p $NXF_SINGULARITY_LIBRARYDIR | |
| - name: Log in to GitHub Container Registry | |
| if: matrix.test_profile == 'test_dda' | |
| env: | |
| GHCR_TOKEN: ${{ secrets.GHCR_TOKEN }} | |
| GHCR_USERNAME: ${{ secrets.GHCR_USERNAME }} | |
| run: | | |
| if [ -z "$GHCR_TOKEN" ] || [ -z "$GHCR_USERNAME" ]; then | |
| echo "::warning::Skipping test_dda: GHCR credentials not available (expected for fork PRs)" | |
| echo "SKIP_DDA=true" >> $GITHUB_ENV | |
| exit 0 | |
| fi | |
| echo "$GHCR_TOKEN" | docker login ghcr.io -u "$GHCR_USERNAME" --password-stdin | |
| - name: Disk space cleanup | |
| uses: jlumbroso/free-disk-space@v1.3.1 | |
| - name: Run pipeline with test data in docker/singularity profile | |
| if: github.event.pull_request.base.ref != 'master' && env.SKIP_DDA != 'true' | |
| run: | | |
| nextflow run ${GITHUB_WORKSPACE} -profile $TEST_PROFILE,$EXEC_PROFILE,dev --outdir ${TEST_PROFILE}_${EXEC_PROFILE}_results | |
| - name: Gather failed logs | |
| if: failure() || cancelled() | |
| run: | | |
| mkdir failed_logs | |
| failed=$(grep "FAILED" ${TEST_PROFILE}_${EXEC_PROFILE}_results/pipeline_info/execution_trace.txt | cut -f 2) | |
| while read -r line ; do cp $(ls work/${line}*/*.log) failed_logs/ || true ; done <<< "$failed" | |
| - name: Set timestamp | |
| run: | | |
| echo "ARTIFACT_TIMESTAMP=$(date +%s)" >> $GITHUB_ENV | |
| - uses: actions/upload-artifact@v4 | |
| if: failure() || cancelled() | |
| name: Upload failed logs | |
| with: | |
| name: failed_logs_${{ matrix.test_profile }}_${{ matrix.NXF_VER }}_${{ github.run_id }}_${{ github.run_attempt }}_${{ env.ARTIFACT_TIMESTAMP }} | |
| include-hidden-files: true | |
| path: failed_logs | |
| overwrite: false | |
| if-no-files-found: warn | |
| - uses: actions/upload-artifact@v4 | |
| if: success() | |
| name: Upload results | |
| with: | |
| name: ${{ matrix.test_profile }}_${{ matrix.NXF_VER }}_${{ github.run_id }}_${{ github.run_attempt }}_${{ env.ARTIFACT_TIMESTAMP }}_results | |
| include-hidden-files: true | |
| path: ${{ matrix.test_profile }}_${{ matrix.exec_profile }}_results | |
| overwrite: false | |
| if-no-files-found: warn | |
| - uses: actions/upload-artifact@v4 | |
| if: always() | |
| name: Upload log | |
| with: | |
| name: nextflow_${{ matrix.test_profile }}_${{ matrix.NXF_VER }}_${{ github.run_id }}_${{ github.run_attempt }}_${{ env.ARTIFACT_TIMESTAMP }}.log | |
| include-hidden-files: true | |
| path: .nextflow.log | |
| overwrite: false | |
| if-no-files-found: warn |