From 5bc337b9a2355e7ecf18cbc47d4abb9dc56a5150 Mon Sep 17 00:00:00 2001 From: crasbe Date: Mon, 11 May 2026 15:39:38 +0200 Subject: [PATCH 1/2] .github/workflows: only push images if creds set --- .github/workflows/build.yml | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 96ec851d..bb0afd0c 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -33,9 +33,27 @@ on: workflow_dispatch: jobs: + check-secret: + runs-on: ubuntu-latest + outputs: + secret-configured: ${{ steps.secret-exists-check.outputs.defined }} + steps: + - name: Check if Secret is configured + id: secret-exists-check + # check if the secrets are configured before running the tasks + # see: https://stackoverflow.com/a/70249520 + shell: bash + run: | + if [ "${{ secrets.DOCKER_REGISTRY }}" != '' ]; then + echo "defined=true" >> $GITHUB_OUTPUT; + else + echo "defined=false" >> $GITHUB_OUTPUT; + fi + build-test: name: Build and Test runs-on: ubuntu-latest + needs: [check-secret] env: RIOT_BRANCH: '2026.04-branch' VERSION_TAG: '2026.07' @@ -183,14 +201,14 @@ jobs: DOCKER_REGISTRY=${{ env.DOCKER_REGISTRY }} - name: Login to DockerHub - if: "${{ github.ref == 'refs/heads/master' }}" + if: "${{ github.ref == 'refs/heads/master' && needs.check-secret.outputs.secret-configured == 'true' }}" uses: docker/login-action@v1 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} - name: Push Images - if: "${{ github.ref == 'refs/heads/master' }}" + if: "${{ github.ref == 'refs/heads/master' && needs.check-secret.outputs.secret-configured == 'true' }}" run: | docker image push ${{ env.DOCKER_REGISTRY }}/riotdocker-base:latest docker image push ${{ env.DOCKER_REGISTRY }}/riotdocker-base:${{ env.VERSION_TAG }} From 1407d43d1c2268a3426a4e8bc2f6dd11dd0c33fc Mon Sep 17 00:00:00 2001 From: crasbe Date: Mon, 11 May 2026 16:04:39 +0200 Subject: [PATCH 2/2] .github/workflows: update actions to be NodeJS 24 compliant --- .github/workflows/build.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index bb0afd0c..be0897bb 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -61,17 +61,17 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v2 + uses: actions/checkout@main with: lfs: 'true' - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v1 + uses: docker/setup-buildx-action@v4 with: driver: docker - name: Build riotdocker-base - uses: docker/build-push-action@v2 + uses: docker/build-push-action@v7 with: context: ./riotdocker-base tags: | @@ -79,7 +79,7 @@ jobs: ${{ env.DOCKER_REGISTRY }}/riotdocker-base:${{ env.VERSION_TAG }} - name: Build static-test-tools - uses: docker/build-push-action@v2 + uses: docker/build-push-action@v7 with: context: ./static-test-tools tags: | @@ -95,7 +95,7 @@ jobs: echo "RIOTBUILD_VERSION=$(git describe --always)" >> $GITHUB_ENV - name: Build riotbuild - uses: docker/build-push-action@v2 + uses: docker/build-push-action@v7 with: context: ./riotbuild tags: | @@ -108,7 +108,7 @@ jobs: RIOTBUILD_VERSION=${{ env.RIOTBUILD_VERSION }} - name: Checkout RIOT - uses: actions/checkout@v2 + uses: actions/checkout@main with: repository: RIOT-OS/RIOT ref: ${{ env.RIOT_BRANCH }} @@ -191,7 +191,7 @@ jobs: ./dist/tools/ci/static_tests.sh - name: Build murdock worker - uses: docker/build-push-action@v2 + uses: docker/build-push-action@v7 with: context: ./murdock-worker tags: | @@ -202,7 +202,7 @@ jobs: - name: Login to DockerHub if: "${{ github.ref == 'refs/heads/master' && needs.check-secret.outputs.secret-configured == 'true' }}" - uses: docker/login-action@v1 + uses: docker/login-action@v4 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }}