diff --git a/.github/workflows/deploy-docker.yaml b/.github/workflows/deploy-docker.yaml index 35a395f8..cc0a6953 100644 --- a/.github/workflows/deploy-docker.yaml +++ b/.github/workflows/deploy-docker.yaml @@ -51,7 +51,7 @@ jobs: - name: Build and push id: docker_build - uses: docker/build-push-action@v5 + uses: docker/build-push-action@v6 with: push: ${{ contains(github.ref, 'master') || startsWith(github.ref, 'refs/tags') }} tags: ${{ steps.meta.outputs.tags }} diff --git a/.github/workflows/mega-linter.yml b/.github/workflows/mega-linter.yml index 7d976cce..d4bb6c94 100644 --- a/.github/workflows/mega-linter.yml +++ b/.github/workflows/mega-linter.yml @@ -27,7 +27,7 @@ jobs: steps: # Git Checkout - name: Checkout Code - uses: actions/checkout@v2 + uses: actions/checkout@v4 with: token: ${{ secrets.PAT || secrets.GITHUB_TOKEN }} fetch-depth: 0 @@ -37,7 +37,7 @@ jobs: id: ml # You can override Mega-Linter flavor used to have faster performances # More info at https://megalinter.github.io/flavors/ - uses: megalinter/megalinter@v6 + uses: megalinter/megalinter@v8 env: # All available variables are described in documentation # https://megalinter.github.io/configuration/ @@ -48,12 +48,11 @@ jobs: # Upload Mega-Linter artifacts - name: Archive production artifacts if: ${{ success() }} || ${{ failure() }} - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v4 with: name: Mega-Linter reports path: | - report - mega-linter.log + megalinter-reports # Create pull request if applicable (for now works only on PR from same repository, not from forks) - name: Create Pull Request with applied fixes diff --git a/.github/workflows/run_regression_tests.yaml b/.github/workflows/run_regression_tests.yaml index ca790bf6..49ecfc41 100644 --- a/.github/workflows/run_regression_tests.yaml +++ b/.github/workflows/run_regression_tests.yaml @@ -18,15 +18,15 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: lfs: false - name: Install conda environment dependencies - uses: conda-incubator/setup-miniconda@v2 + uses: conda-incubator/setup-miniconda@v3 with: miniforge-version: latest - miniforge-variant: Mambaforge + miniforge-variant: Miniforge python-version: "3.11" mamba-version: "*" channels: conda-forge,bioconda #,defaults # see: https://github.com/conda-forge/status/issues/144 @@ -75,16 +75,16 @@ jobs: shell: bash -l {0} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: lfs: false # NOTE to save on bandwidth costs, GitHub Action will not use GitHub's own LFS - name: Install conda environment dependencies - uses: conda-incubator/setup-miniconda@v2 + uses: conda-incubator/setup-miniconda@v3 with: miniforge-version: latest - miniforge-variant: Mambaforge + miniforge-variant: Miniforge python-version: ${{ matrix.python-version }} mamba-version: "*" channels: conda-forge,bioconda #,defaults # see: https://github.com/conda-forge/status/issues/144 @@ -104,9 +104,12 @@ jobs: run: ./regression_tests.sh ${{ matrix.virus }} - name: Archive code coverage results - uses: actions/upload-artifact@v3 + if: ${{ success() }} || ${{ failure() }} + uses: actions/upload-artifact@v4 with: - name: regression test output and diffs + name: regression_test_${{ matrix.os }}_${{ matrix.python-version }}_${{ matrix.virus }} path: | /tmp/v-pipe_tests/* + !/tmp/v-pipe_tests/.snakemake/conda/*/ + include-hidden-files: true if-no-files-found: ignore diff --git a/.github/workflows/snakedeploy_tests.yaml b/.github/workflows/snakedeploy_tests.yaml index b5e82ff0..76931a06 100644 --- a/.github/workflows/snakedeploy_tests.yaml +++ b/.github/workflows/snakedeploy_tests.yaml @@ -27,7 +27,7 @@ jobs: steps: - name: Checkout test data - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: sparse-checkout: | tests @@ -37,10 +37,10 @@ jobs: # NOTE to save on bandwidth costs, GitHub Action will not use GitHub's own LFS - name: Install conda environment dependencies - uses: conda-incubator/setup-miniconda@v2 + uses: conda-incubator/setup-miniconda@v3 with: miniforge-version: latest - miniforge-variant: Mambaforge + miniforge-variant: Miniforge python-version: "3.11" # temporary fix for snakemake issue #2480 mamba-version: "*" channels: conda-forge,bioconda @@ -81,11 +81,13 @@ jobs: --keep-going - name: Archive test results - uses: actions/upload-artifact@v3 + if: ${{ success() }} || ${{ failure() }} + uses: actions/upload-artifact@v4 with: - name: test_output + name: test_output_${{ matrix.virus }} path: | ./* !./.git !./.snakemake/conda/*/ + include-hidden-files: true if-no-files-found: ignore diff --git a/.github/workflows/test-docker.yaml b/.github/workflows/test-docker.yaml index 2a91b52e..59568c60 100644 --- a/.github/workflows/test-docker.yaml +++ b/.github/workflows/test-docker.yaml @@ -42,7 +42,7 @@ jobs: - name: Build and save id: docker_build - uses: docker/build-push-action@v5 + uses: docker/build-push-action@v6 with: push: false tags: ${{ steps.meta.outputs.tags }} @@ -50,7 +50,7 @@ jobs: outputs: type=docker,dest=./vpipe-docker.tar.zst,compression=zstd,compression-level=6 - name: Upload artifact - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 if: "( !contains(github.ref, 'master') && !startsWith(github.ref, 'refs/tags') )" with: name: vpipe-docker diff --git a/.github/workflows/tutorials.yaml b/.github/workflows/tutorials.yaml index 6f5e10b6..5feb1c11 100644 --- a/.github/workflows/tutorials.yaml +++ b/.github/workflows/tutorials.yaml @@ -24,7 +24,7 @@ jobs: run: rm -rf /opt/hostedtoolcache - name: Checkout repository - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: sparse-checkout: | docs @@ -33,10 +33,10 @@ jobs: lfs: false - name: Install conda environment dependencies - uses: conda-incubator/setup-miniconda@v2 + uses: conda-incubator/setup-miniconda@v3 with: miniforge-version: latest - miniforge-variant: Mambaforge + miniforge-variant: Miniforge mamba-version: "*" channels: conda-forge,bioconda channel-priority: strict @@ -57,16 +57,16 @@ jobs: run: tar --zstd -cvf vpipeinstallation.tar.zst ./docs/vp-analysis - name: Keep installation - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: VPipeInstallation path: vpipeinstallation.tar.zst if-no-files-found: error - name: Save notebooks - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: - name: JupyterNotebooks + name: JupyterNotebooks-Install path: ./docs/*.ipynb @@ -93,7 +93,7 @@ jobs: run: rm -rf /opt/hostedtoolcache - name: Checkout repository - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: sparse-checkout: | docs @@ -102,7 +102,7 @@ jobs: lfs: false - name: Reuse installation - uses: actions/download-artifact@v2 + uses: actions/download-artifact@v4 with: name: VPipeInstallation @@ -110,10 +110,10 @@ jobs: run: tar --zstd -xvf vpipeinstallation.tar.zst - name: Install conda environment dependencies - uses: conda-incubator/setup-miniconda@v2 + uses: conda-incubator/setup-miniconda@v3 with: miniforge-version: latest - miniforge-variant: Mambaforge + miniforge-variant: Miniforge python-version: "3.11" mamba-version: "*" channels: conda-forge,bioconda @@ -131,9 +131,9 @@ jobs: run: ./convert.sh --branch tutorial*_${{ matrix.virus }}.md - name: Save notebooks - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: - name: JupyterNotebooks + name: JupyterNotebooks-${{ matrix.virus }} path: ./docs/*.ipynb # - name: Publish