diff --git a/.github/dependabot.yaml b/.github/dependabot.yaml new file mode 100644 index 0000000000..6055c3ada4 --- /dev/null +++ b/.github/dependabot.yaml @@ -0,0 +1,10 @@ +version: 2 +updates: + - package-ecosystem: "github-actions" + directory: "/" + # Check for updates once a week + schedule: + interval: "weekly" + groups: + all-actions: + patterns: [ "*" ] diff --git a/.github/workflows/build_C-PAC.yml b/.github/workflows/build_C-PAC.yml index d126f6a778..fb103acdd7 100644 --- a/.github/workflows/build_C-PAC.yml +++ b/.github/workflows/build_C-PAC.yml @@ -13,20 +13,20 @@ jobs: runs-on: ubuntu-latest steps: - name: Maximize build space - uses: easimon/maximize-build-space@v6 + uses: easimon/maximize-build-space@v10 with: remove-dotnet: 'true' remove-android: 'true' remove-haskell: 'true' overprovision-lvm: 'true' - name: Check out C-PAC - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: fetch-depth: 2 - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v2.2.1 + uses: docker/setup-buildx-action@v3.9.0 - name: Log in to GitHub Container Registry - uses: docker/login-action@v2 + uses: docker/login-action@v3 with: registry: ghcr.io username: ${{ github.actor }} @@ -87,7 +87,7 @@ jobs: echo $DOCKERFILE cat $DOCKERFILE - name: Build and push Docker image - uses: docker/build-push-action@v4.0.0 + uses: docker/build-push-action@v6.13.0 with: context: . file: ${{ env.DOCKERFILE }} diff --git a/.github/workflows/build_and_test.yml b/.github/workflows/build_and_test.yml index 6dadd8f9f9..ddfabc4001 100644 --- a/.github/workflows/build_and_test.yml +++ b/.github/workflows/build_and_test.yml @@ -58,7 +58,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Check out C-PAC - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: fetch-depth: 0 - name: Set tag & see if it exists @@ -80,17 +80,17 @@ jobs: sudo rm -rf "$AGENT_TOOLSDIRECTORY" - name: Set up Docker Buildx if: contains(fromJSON(env.REBUILD), matrix.Dockerfile) || steps.docker_tag.outputs.not_yet_exists == 1 - uses: docker/setup-buildx-action@v2.2.1 + uses: docker/setup-buildx-action@v3.9.0 - name: Log in to GitHub Container Registry if: contains(fromJSON(env.REBUILD), matrix.Dockerfile) || steps.docker_tag.outputs.not_yet_exists == 1 - uses: docker/login-action@v2 + uses: docker/login-action@v3 with: registry: ghcr.io username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - name: Build and push Docker image if: contains(fromJSON(env.REBUILD), matrix.Dockerfile) || steps.docker_tag.outputs.not_yet_exists == 1 - uses: docker/build-push-action@v4.0.0 + uses: docker/build-push-action@v6.13.0 with: file: .github/Dockerfiles/${{ matrix.Dockerfile }}.Dockerfile push: true @@ -110,7 +110,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Check out C-PAC - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: fetch-depth: 0 - name: Set tag & see if it exists @@ -140,17 +140,17 @@ jobs: sudo rm -rf "$AGENT_TOOLSDIRECTORY" - name: Set up Docker Buildx if: contains(fromJSON(env.REBUILD), matrix.Dockerfile) || steps.docker_tag.outputs.not_yet_exists == 1 - uses: docker/setup-buildx-action@v2.2.1 + uses: docker/setup-buildx-action@v3.9.0 - name: Log in to GitHub Container Registry if: contains(fromJSON(env.REBUILD), matrix.Dockerfile) || steps.docker_tag.outputs.not_yet_exists == 1 - uses: docker/login-action@v2 + uses: docker/login-action@v3 with: registry: ghcr.io username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - name: Build and push Docker image if: contains(fromJSON(env.REBUILD), matrix.Dockerfile) || steps.docker_tag.outputs.not_yet_exists == 1 - uses: docker/build-push-action@v4.0.0 + uses: docker/build-push-action@v6.13.0 with: context: . file: .github/Dockerfiles/${{ matrix.Dockerfile }}.Dockerfile @@ -172,14 +172,14 @@ jobs: variant: ${{ fromJSON(inputs.phase_three) }} steps: - name: Maximize build space - uses: easimon/maximize-build-space@v6 + uses: easimon/maximize-build-space@v10 with: remove-dotnet: 'true' remove-android: 'true' remove-haskell: 'true' overprovision-lvm: 'true' - name: Check out C-PAC - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: fetch-depth: 0 - name: Prep source files @@ -215,17 +215,17 @@ jobs: sudo rm -rf "$AGENT_TOOLSDIRECTORY" - name: Set up Docker Buildx if: contains(fromJSON(env.REBUILD), matrix.variant) || steps.docker_tag.outputs.not_yet_exists == 1 - uses: docker/setup-buildx-action@v2.2.1 + uses: docker/setup-buildx-action@v3.9.0 - name: Log in to GitHub Container Registry if: contains(fromJSON(env.REBUILD), matrix.variant) || steps.docker_tag.outputs.not_yet_exists == 1 - uses: docker/login-action@v2 + uses: docker/login-action@v3 with: registry: ghcr.io username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - name: Build and push base image if: contains(fromJSON(env.REBUILD), matrix.variant) || steps.docker_tag.outputs.not_yet_exists == 1 - uses: docker/build-push-action@v4.0.0 + uses: docker/build-push-action@v6.13.0 with: context: . file: .github/Dockerfiles/base-${{ matrix.variant }}.Dockerfile @@ -244,14 +244,14 @@ jobs: REBUILD: ${{ inputs.rebuild_phase_three }} steps: - name: Maximize build space - uses: easimon/maximize-build-space@v6 + uses: easimon/maximize-build-space@v10 with: remove-dotnet: 'true' remove-android: 'true' remove-haskell: 'true' overprovision-lvm: 'true' - name: Check out C-PAC - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: fetch-depth: 0 - name: Prep source files @@ -287,17 +287,17 @@ jobs: sudo rm -rf "$AGENT_TOOLSDIRECTORY" - name: Set up Docker Buildx if: contains(fromJSON(env.REBUILD), 'standard') || steps.docker_tag.outputs.not_yet_exists == 1 - uses: docker/setup-buildx-action@v2.2.1 + uses: docker/setup-buildx-action@v3.9.0 - name: Log in to GitHub Container Registry if: contains(fromJSON(env.REBUILD), 'standard') || steps.docker_tag.outputs.not_yet_exists == 1 - uses: docker/login-action@v2 + uses: docker/login-action@v3 with: registry: ghcr.io username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - name: Build and push base image if: contains(fromJSON(env.REBUILD), 'standard') || steps.docker_tag.outputs.not_yet_exists == 1 - uses: docker/build-push-action@v4.0.0 + uses: docker/build-push-action@v6.13.0 with: context: . file: .github/Dockerfiles/base-standard.Dockerfile @@ -350,7 +350,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Check out C-PAC - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: fetch-depth: 2 - name: Trigger CircleCI tests diff --git a/.github/workflows/delete_images.yml b/.github/workflows/delete_images.yml index 91ed5e98df..ce259fd811 100644 --- a/.github/workflows/delete_images.yml +++ b/.github/workflows/delete_images.yml @@ -18,7 +18,7 @@ jobs: IMAGE: c-pac steps: - name: Check out C-PAC - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: 'Delete branch image' run: | OWNER=$(echo ${GITHUB_REPOSITORY} | cut -d '/' -f 1) @@ -41,7 +41,7 @@ jobs: -X DELETE \ https://api.github.com/${OWNER_TYPE}/${OWNER}/packages/container/c-pac/versions/${VERSION_ID} - name: Delete all containers from repository without tags - uses: Chizkiyahu/delete-untagged-ghcr-action@v2 + uses: Chizkiyahu/delete-untagged-ghcr-action@v6 with: token: ${GITHUB_TOKEN} repository_owner: ${{ github.repository_owner }} diff --git a/.github/workflows/deploy_to_Docker_Hub.yml b/.github/workflows/deploy_to_Docker_Hub.yml index a9aaec8fab..a8ee3e6547 100644 --- a/.github/workflows/deploy_to_Docker_Hub.yml +++ b/.github/workflows/deploy_to_Docker_Hub.yml @@ -18,7 +18,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Log in to Docker Hub - uses: docker/login-action@v2 + uses: docker/login-action@v3 with: username: ${{ secrets.DOCKERHUB_USER }} password: ${{ secrets.DOCKERHUB_TOKEN }} diff --git a/.github/workflows/on_push.yml b/.github/workflows/on_push.yml index 60f6354dc5..c584dd14f5 100644 --- a/.github/workflows/on_push.yml +++ b/.github/workflows/on_push.yml @@ -32,11 +32,11 @@ jobs: runs-on: ubuntu-latest steps: - name: Check out C-PAC - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: fetch-depth: 2 - name: Get changed files since last commit - uses: tj-actions/changed-files@v41.0.0 + uses: tj-actions/changed-files@v45.0.7 id: changed-files with: since_last_remote_commit: "true" diff --git a/.github/workflows/regression_test_full.yml b/.github/workflows/regression_test_full.yml index 6dba2d1bf2..2c95bf209b 100644 --- a/.github/workflows/regression_test_full.yml +++ b/.github/workflows/regression_test_full.yml @@ -23,7 +23,7 @@ jobs: fi - name: Checkout Code - uses: actions/checkout@v2 + uses: actions/checkout@v4 - name: Clone reg-suite run: | git clone https://github.com/amygutierrez/reg-suite.git @@ -34,7 +34,7 @@ jobs: echo "Running full regression test" echo "୧(๑•̀ヮ•́)૭ LET'S GO! ٩(^ᗜ^ )و " - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 if: always() with: name: logs diff --git a/.github/workflows/regression_test_lite.yml b/.github/workflows/regression_test_lite.yml index 4e6b5a46f6..a68baa0cda 100644 --- a/.github/workflows/regression_test_lite.yml +++ b/.github/workflows/regression_test_lite.yml @@ -57,7 +57,7 @@ jobs: ssh-keyscan -H -t rsa "${{ env.SSH_HOST }}" > ~/.ssh/known_hosts - name: Initiate check - uses: guibranco/github-status-action-v2@v1.1.7 + uses: guibranco/github-status-action-v2@v1.1.13 with: authToken: ${{ secrets.GITHUB_TOKEN }} context: Launch lite regression test @@ -65,7 +65,7 @@ jobs: state: pending - name: Connect and Run Regression Test Lite - uses: appleboy/ssh-action@v1.0.0 + uses: appleboy/ssh-action@v1.2.0 with: host: ${{ secrets.SSH_HOST }} username: ${{ secrets.SSH_USER }} diff --git a/.github/workflows/smoke_test_participant.yml b/.github/workflows/smoke_test_participant.yml index 3fde0de8aa..347a489d07 100644 --- a/.github/workflows/smoke_test_participant.yml +++ b/.github/workflows/smoke_test_participant.yml @@ -104,7 +104,7 @@ jobs: --participant_label ${{ matrix.participant }} \ --preconfig ${{ matrix.preconfig }} \ --n_cpus 2 - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 if: ${{ always() }} with: name: expectedOutputs human ${{ matrix.preconfig }} ${{ matrix.variant }} ${{ matrix.participant }} @@ -144,14 +144,13 @@ jobs: TAG=$TAG$VARIANT echo DOCKER_TAG=$(echo "ghcr.io/${{ github.repository }}" | tr '[:upper:]' '[:lower:]'):$TAG >> $GITHUB_ENV cat $GITHUB_ENV + - name: setup-conda + uses: s-weigand/setup-conda@v1.2.3 - name: Set up datalad-OSF run: | git config --global user.email "CMI_CPAC_Support@childmind.org" git config --global user.name "Theodore (Machine User)" - wget -O- http://neuro.debian.net/lists/jammy.us-tn.libre | sudo tee /etc/apt/sources.list.d/neurodebian.sources.list - sudo apt-key adv --recv-keys --keyserver hkps://keyserver.ubuntu.com 0xA5D32F012649A5A9 - sudo apt-get update - sudo apt-get install datalad git-annex-standalone + yes | conda install -c conda-forge datalad pip install datalad-osf - name: Get NHP test data run: | @@ -168,7 +167,7 @@ jobs: --preconfig ${{ matrix.preconfig }} \ --participant_label ${{ matrix.participant }} \ --n_cpus 2 - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 if: ${{ always() }} with: name: expectedOutputs nhp ${{ matrix.preconfig }} ${{ matrix.variant }} ${{ matrix.participant }} @@ -203,14 +202,13 @@ jobs: TAG=$TAG$VARIANT echo DOCKER_TAG=$(echo "ghcr.io/${{ github.repository }}" | tr '[:upper:]' '[:lower:]'):$TAG >> $GITHUB_ENV cat $GITHUB_ENV + - name: setup-conda + uses: s-weigand/setup-conda@v1.2.3 - name: Set up datalad-OSF run: | git config --global user.email "CMI_CPAC_Support@childmind.org" git config --global user.name "Theodore (Machine User)" - wget -O- http://neuro.debian.net/lists/jammy.us-tn.libre | sudo tee /etc/apt/sources.list.d/neurodebian.sources.list - sudo apt-key adv --recv-keys --keyserver hkps://keyserver.ubuntu.com 0xA5D32F012649A5A9 - sudo apt-get update - sudo apt-get install datalad git-annex-standalone + yes | conda install -c conda-forge datalad pip install datalad-osf - name: Get rodent test data run: | @@ -226,7 +224,7 @@ jobs: /test-data /outputs test_config \ --preconfig rodent \ --n_cpus 2 - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 if: ${{ always() }} with: name: expectedOutputs rodent ${{ matrix.variant }}