Files
nuttx/.github/workflows/docker_linux.yml
Lup Yuen Lee a84d263f09
Some checks failed
Docker-Linux / push (push) Has been cancelled
CI: Revert GitHub Actions for Docker, by hash
All CI Builds have been failing since 18 hours ago:
- https://github.com/apache/nuttx/pull/18571#issuecomment-4104792750
- https://github.com/apache/nuttx/actions/runs/23389990049

> _The action docker/login-action@v4 is not allowed in apache/nuttx because all actions must be from a repository owned by your enterprise, created by GitHub, or match one of the patterns: 1Password/load-secrets-action@13f58eec61, 1Password/load-secrets-action@8d0d610af1, 1Password/load-secrets-action@dafbe7cb03, AdoptOpenJDK/install-jdk@*, BobAnkh/auto-generate-changelog@*, DavidAnson/markdownlint-cli2-action@07035fd053, DavidAnson/markdownlint-cli2-action@30a0e04f18, EnricoMi/publish-unit-test-result-action@*, JamesIves/github-pages-deploy-action@4a3abc783e, JamesIves/github-pages-deploy-action@d92aa235d0, Jimver/cuda-toolkit@6008063726, Jimver/cuda-toolkit@b6fc3a9f3f, JustinBeckwith/linkinator-action@af984b9f30f63e796..._

That's because ASF Infrastructure Team has mandated that we use the Hash Versions of GitHub Actions for Docker, stated below:
- https://github.com/apache/infrastructure-actions/blob/main/actions.yml
- Which generates: https://github.com/apache/infrastructure-actions/blob/main/approved_patterns.yml
- Due to: https://github.com/apache/infrastructure-actions/pull/547

```yaml
docker/build-push-action:
  10e90e3645eae34f1e60eeb005ba3a3d33f178e8:
    tag: v6.19.2
docker/login-action:
  c94ce9fb468520275223c153574b00df6fe4bcc9:
    tag: v3.7.0
docker/metadata-action:
  c299e40c65443455700f0fdfc63efafe5b349051:
    tag: v5.10.0
docker/setup-buildx-action:
  8d2750c68a42422c14e847fe6c8ac0403b4cbd6f:
    tag: v3.12.0
```

This PR reverts our GitHub Actions for Docker to the hash versions stated above.

Signed-off-by: Lup Yuen Lee <luppy@appkaki.com>
2026-03-22 07:35:04 +01:00

91 lines
2.6 KiB
YAML

# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
name: Docker-Linux
on:
workflow_dispatch:
push:
# Publish `master` as Docker `latest` image.
branches:
- master
paths:
- 'tools/ci/docker/linux/**'
- '.github/workflows/docker_linux.yml'
# Run builds for any PRs.
pull_request:
paths:
- 'tools/ci/docker/linux/**'
- '.github/workflows/docker_linux.yml'
env:
IMAGE_NAME: apache-nuttx-ci-linux
concurrency:
group: docker-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
permissions:
packages: write
contents: read
jobs:
# Push image to GitHub Packages.
push:
runs-on: ubuntu-latest
env:
IMAGE_TAG: ghcr.io/${{ github.repository }}/apache-nuttx-ci-linux
steps:
- name: Checkout repository
uses: actions/checkout@v6
- name: Free Disk Space (Ubuntu)
uses: ./.github/actions/free-disk-space
with:
# this might remove tools that are actually needed,
# if set to "true" but frees about 6 GB
tool-cache: false
# all of these default to true, but feel free to set to
# "false" if necessary for your workflow
android: true
dotnet: true
haskell: true
large-packages: true
docker-images: true
swap-storage: true
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@8d2750c68a42422c14e847fe6c8ac0403b4cbd6f # v3.12.0
- name: Log into registry
uses: docker/login-action@c94ce9fb468520275223c153574b00df6fe4bcc9 # v3.7.0
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Pre-build Disk Stats
run: |
df -h
- name: Push Linux image
uses: docker/build-push-action@10e90e3645eae34f1e60eeb005ba3a3d33f178e8 # v6.19.2
with:
context: tools/ci/docker/linux
platforms: linux/amd64
push: ${{ github.ref == 'refs/heads/master' }}
tags: ${{ env.IMAGE_TAG }}
- name: Post-build Disk Stats
if: always()
run: |
df -h