name: nf-core AWS full size tests
# This workflow is triggered on published releases.
# It can be additionally triggered manually with GitHub actions workflow dispatch button.
# It runs the -profiles 'test_lfq' 'test_tmt' and 'test_dia' on AWS batch

on:
  release:
    types: [published]
  workflow_dispatch:

jobs:
  run-tower:
    name: Run AWS full tests
    if: github.repository == 'nf-core/quantms'
    runs-on: ubuntu-latest
    # Do a full-scale run with data from each acquisition/quantification mode
    strategy:
      matrix:
        mode: ["lfq", "tmt", "dia"]
    steps:
      - name: Launch workflow via tower
        uses: nf-core/tower-action@v3

        with:
          workspace_id: ${{ secrets.TOWER_WORKSPACE_ID }}
          access_token: ${{ secrets.TOWER_ACCESS_TOKEN }}
          compute_env: ${{ secrets.TOWER_COMPUTE_ENV }}
          workdir: s3://${{ secrets.AWS_S3_BUCKET }}/work/quantms/work-${{ github.sha }}
          parameters: |
            {
              "outdir": "s3://${{ secrets.AWS_S3_BUCKET }}/quantms/results-${{ github.sha }}/mode_${{ matrix.mode }}"
            }

          profiles: test_${{ matrix.mode }},aws_tower
      - uses: actions/upload-artifact@v3
        with:
          name: Tower debug log file
          path: tower_action_*.log
          nextflow_config: |
            process.errorStrategy = 'retry'
            process.maxRetries = 3
