Fix strict syntax errors #1257
Workflow file for this run
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 cloud tests (both full size and smaller) | |
| # This workflow is triggered on PRs opened against the main/master branch. | |
| # It can be additionally triggered manually with GitHub actions workflow dispatch button. | |
| # It runs the -profile 'test_full' on cloud | |
| # or the -profile 'test' on cloud (smaller tests) | |
| on: | |
| pull_request_review: | |
| types: [submitted] | |
| release: | |
| types: [published] | |
| workflow_dispatch: | |
| inputs: | |
| test: | |
| description: "-profile test (smaller)" | |
| type: boolean | |
| default: true | |
| somatic: | |
| description: "Somatic full test" | |
| type: boolean | |
| default: false | |
| germline: | |
| description: "Germline full test" | |
| type: boolean | |
| default: false | |
| germline_ncbench_agilent: | |
| description: "Germline Agilent NCBench test" | |
| type: boolean | |
| default: false | |
| jobs: | |
| setup-matrix: | |
| name: Build test matrix | |
| if: github.repository == 'nf-core/sarek' && (github.event.review.state == 'approved' && (github.event.pull_request.base.ref == 'master' || github.event.pull_request.base.ref == 'main') || github.event_name == 'workflow_dispatch' || github.event_name == 'release') | |
| runs-on: ubuntu-latest | |
| outputs: | |
| matrix: ${{ steps.build-matrix.outputs.matrix }} | |
| steps: | |
| - name: Build matrix from inputs | |
| id: build-matrix | |
| run: | | |
| # All available profiles | |
| all='[ | |
| { | |
| "profile": "test_aws", | |
| "test": "test", | |
| "compute_env": "TOWER_COMPUTE_ENV", | |
| "workdir": "TOWER_BUCKET_AWS" | |
| }, | |
| { | |
| "profile": "test_full_aws", | |
| "test": "somatic", | |
| "compute_env": "TOWER_COMPUTE_ENV", | |
| "workdir": "TOWER_BUCKET_AWS" | |
| }, | |
| { | |
| "profile": "test_full_germline_aws", | |
| "test": "germline", | |
| "compute_env": "TOWER_COMPUTE_ENV", | |
| "workdir": "TOWER_BUCKET_AWS" | |
| }, | |
| { | |
| "profile": "test_full_germline_ncbench_agilent", | |
| "test": "germline_ncbench_agilent", | |
| "compute_env": "TOWER_COMPUTE_ENV", | |
| "workdir": "TOWER_BUCKET_AWS" | |
| } | |
| ]' | |
| if [[ "${{ github.event_name }}" == "workflow_dispatch" ]]; then | |
| # Filter to only selected profiles | |
| matrix=$(echo "$all" | jq -c '[.[] | select( | |
| (.test == "test" and ${{ inputs.test }}) or | |
| (.test == "somatic" and ${{ inputs.somatic }}) or | |
| (.test == "germline" and ${{ inputs.germline }}) or | |
| (.test == "germline_ncbench_agilent" and ${{ inputs.germline_ncbench_agilent }}) | |
| )]') | |
| else | |
| # PR review or release: run all profiles | |
| matrix=$(echo "$all" | jq -c '.') | |
| fi | |
| echo "matrix={\"include\":$matrix}" >> "$GITHUB_OUTPUT" | |
| run-platform: | |
| needs: setup-matrix | |
| if: fromJson(needs.setup-matrix.outputs.matrix).include[0] != null | |
| strategy: | |
| fail-fast: false | |
| matrix: ${{ fromJson(needs.setup-matrix.outputs.matrix) }} | |
| name: Run ${{ matrix.profile }} | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Set revision variable | |
| id: revision | |
| run: | | |
| echo "revision=${{ (github.event_name == 'workflow_dispatch' || github.event_name == 'release') && github.sha || 'dev' }}" >> "$GITHUB_OUTPUT" | |
| - name: Launch workflow via Seqera Platform | |
| id: tower-launch | |
| uses: seqeralabs/action-tower-launch@v2 | |
| with: | |
| run_name: sarek_${{ matrix.profile }} | |
| workspace_id: ${{ secrets.TOWER_WORKSPACE_ID }} | |
| access_token: ${{ secrets.TOWER_ACCESS_TOKEN }} | |
| compute_env: ${{ secrets[matrix.compute_env] }} | |
| revision: ${{ steps.revision.outputs.revision }} | |
| workdir: ${{ secrets[matrix.workdir] }}/work/sarek/work-${{ steps.revision.outputs.revision }}/${{ matrix.profile }} | |
| parameters: | | |
| { | |
| "outdir": "${{ secrets[matrix.workdir] }}/sarek/results-${{ steps.revision.outputs.revision }}/${{ matrix.profile }}/" | |
| } | |
| nextflow_config: | | |
| plugins { | |
| id 'nf-slack@0.5.0' | |
| } | |
| slack { | |
| enabled = true | |
| bot { | |
| token = '${{ secrets.NFSLACK_BOT_TOKEN }}' | |
| channel = 'sarek_dev' | |
| } | |
| onStart { | |
| enabled = false | |
| } | |
| onComplete { | |
| message = ':white_check_mark: *sarek/${{ matrix.profile }}* completed successfully! :tada:' | |
| } | |
| onError { | |
| message = ':x: *sarek/${{ matrix.profile }}* failed :crying_cat_face:' | |
| } | |
| } | |
| profiles: ${{ matrix.profile }} | |
| - name: Comment Platform link on PR | |
| if: github.event_name == 'pull_request_review' | |
| env: | |
| GH_TOKEN: ${{ github.token }} | |
| run: | | |
| gh pr comment ${{ github.event.pull_request.number }} \ | |
| --repo ${{ github.repository }} \ | |
| --body "Cloud test **${{ matrix.profile }}** launched on [Seqera Platform](${{ steps.tower-launch.outputs.workflowUrl }})" | |
| - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 | |
| with: | |
| name: Seqera Platform debug log file - ${{ matrix.profile }} | |
| path: | | |
| seqera_platform_action_*.log | |
| seqera_platform_action_*.json |