@@ -4,60 +4,39 @@ name: nf-core AWS full size tests
44# It runs the -profile 'test_full' on AWS batch
55
66on :
7- pull_request :
8- branches :
9- - main
10- - master
117 workflow_dispatch :
128 pull_request_review :
139 types : [submitted]
10+ release :
11+ types : [published]
1412
1513jobs :
1614 run-platform :
1715 name : Run AWS full tests
18- # run only if the PR is approved by at least 2 reviewers and against the master branch or manually triggered
19- if : github.repository == '{{ name }}' && github.event.review.state == 'approved' && github.event.pull_request.base.ref == 'master' || github.event_name == 'workflow_dispatch'
16+ # run only if the PR is approved by at least 2 reviewers and against the master/main branch or manually triggered
17+ if : github.repository == '{{ name }}' && github.event.review.state == 'approved' && ( github.event.pull_request.base.ref == 'master' || github.event.pull_request.base.ref == 'main') || github.event_name == 'workflow_dispatch'
2018 runs-on : ubuntu-latest
2119 steps :
22- - name : Get PR reviews
23- 24- if : github.event_name != 'workflow_dispatch'
25- id : check_approvals
26- continue-on-error : true
27- with :
28- route : GET /repos/{%- raw -%}${{ github.repository }}/pulls/${{ github.event.pull_request.number }}/reviews?per_page=100
29- env :
30- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
31-
32- - name : Check for approvals
33- if : ${{ failure() && github.event_name != 'workflow_dispatch' }}
34- run : |
35- echo "No review approvals found. At least 2 approvals are required to run this action automatically."
36- exit 1
37-
38- - name : Check for enough approvals (>=2)
39- id : test_variables
40- if : github.event_name != 'workflow_dispatch'
20+ - name : Set revision variable
21+ id : revision
4122 run : |
42- JSON_RESPONSE='${{ steps.check_approvals.outputs.data }}'{% endraw %}
43- CURRENT_APPROVALS_COUNT=$(echo $JSON_RESPONSE | jq -c '[.[] | select(.state | contains("APPROVED")) ] | length')
44- test $CURRENT_APPROVALS_COUNT -ge 2 || exit 1 # At least 2 approvals are required
23+ echo "revision={%- raw -%}${{ (github.event_name == 'workflow_dispatch' || github.event_name == 'release') && github.sha || 'dev' }}" >> "$GITHUB_OUTPUT"
4524
4625 - name : Launch workflow via Seqera Platform
4726 uses : seqeralabs/action-tower-launch@v2
4827 # TODO nf-core: You can customise AWS full pipeline tests as required
4928 # Add full size test data (but still relatively small datasets for few samples)
50- # on the `test_full.config` test runs with only one set of parameters {%- raw %}
29+ # on the `test_full.config` test runs with only one set of parameters
5130 with :
5231 workspace_id : ${{ secrets.TOWER_WORKSPACE_ID }}
5332 access_token : ${{ secrets.TOWER_ACCESS_TOKEN }}
5433 compute_env : ${{ secrets.TOWER_COMPUTE_ENV }}
55- revision : ${{ github.sha }}
56- workdir : s3://${{ secrets.AWS_S3_BUCKET }}{% endraw %}/work/{{ short_name }}/{% raw %}work-${{ github.sha }}{% endraw %}
34+ revision : ${{ steps.revision.outputs.revision }}
35+ workdir : s3://${{ secrets.AWS_S3_BUCKET }}{% endraw %}/work/{{ short_name }}/{% raw %}work-${{ steps.revision.outputs.revision }}{% endraw %}
5736 parameters : |
5837 {
5938 "hook_url": "{% raw %}${{ secrets.MEGATESTS_ALERTS_SLACK_HOOK_URL }}{% endraw %}",
60- "outdir": "s3://{% raw %}${{ secrets.AWS_S3_BUCKET }}{% endraw %}/{{ short_name }}/{% raw %}results-${{ github.sha }}{% endraw %}"
39+ "outdir": "s3://{% raw %}${{ secrets.AWS_S3_BUCKET }}{% endraw %}/{{ short_name }}/{% raw %}results-${{ steps.revision.outputs.revision }}{% endraw %}"
6140 }
6241 profiles : test_full
6342
0 commit comments