ruff #81
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: ruff | |
on: | |
push: | |
branches: | |
- main | |
paths: | |
- ruff/* | |
- .github/workflows/ruff.yml | |
workflow_dispatch: | |
schedule: | |
- cron: "0 8 * * 1" | |
env: | |
BUILD_VERSION: "0.7.4" | |
DOCKER_CLI_EXPERIMENTAL: enabled | |
REPOSITORY: ${{ github.actor }}/${{ github.workflow }} | |
permissions: read-all | |
jobs: | |
deploy: | |
strategy: | |
fail-fast: false | |
matrix: | |
#distro: [ubuntu, alpine] | |
distro: [alpine] | |
runs-on: ubuntu-24.04 | |
permissions: | |
packages: write | |
steps: | |
- name: Harden Runner | |
uses: step-security/harden-runner@91182cccc01eb5e619899d80e4e971d6181294a7 # v1 | |
with: | |
egress-policy: block | |
disable-telemetry: true | |
allowed-endpoints: > | |
95s5acprodeus1file6.blob.core.windows.net:443 | |
api.github.com:443 | |
artifactcache.actions.githubusercontent.com:443 | |
auth.docker.io:443 | |
dl-cdn.alpinelinux.org:443 | |
files.pythonhosted.org:443 | |
ghcr.io:443 | |
github.com:443 | |
pkg-containers.githubusercontent.com:443 | |
production.cloudflare.docker.com:443 | |
pypi.org:443 | |
registry-1.docker.io:443 | |
www.piwheels.org:443 | |
- name: Source checkout | |
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v2.4.0 | |
- name: Setup QEMU | |
id: qemu | |
uses: docker/setup-qemu-action@49b3bc8e6bdd4a60e6116a5414239cba5943d3cf # v1.2.0 | |
- name: Setup Buildx | |
id: buildx | |
uses: docker/setup-buildx-action@c47758b77c9736f4b2ef4073d4d51994fabfe349 # v1 | |
- name: Set Docker metadata | |
id: docker_meta | |
uses: docker/metadata-action@8e5442c4ef9f78752691e2d8f8d19755c6f78e81 # v3 | |
with: | |
images: ${{ env.REPOSITORY }} | |
labels: | | |
org.opencontainers.image.version=${{ env.BUILD_VERSION }} | |
org.opencontainers.image.revision=${{ github.sha }} | |
org.opencontainers.image.title=${{ env.REPOSITORY }} | |
- name: GitHub login | |
if: ${{ github.event_name != 'pull_request' }} | |
uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # v1.12.0 | |
with: | |
registry: ghcr.io | |
username: ${{ github.actor }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
- name: DockerHub login | |
if: ${{ github.event_name != 'pull_request' }} | |
uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # v1.12.0 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_PASSWORD }} | |
- name: Build and push | |
uses: docker/build-push-action@4f58ea79222b3b9dc2c8bbdd6debcef730109a75 # v2.8.0 | |
with: | |
push: ${{ github.event_name != 'pull_request' }} | |
context: ${{ github.workflow }} | |
file: ${{ github.workflow }}/Dockerfile | |
#platforms: linux/amd64,linux/arm64,linux/ppc64le,linux/ppc64le,linux/arm/v7 | |
#platforms: linux/amd64,linux/arm64 | |
#platforms: linux/amd64 | |
#platforms: linux/amd64,linux/arm64,linux/ppc64le,linux/arm/v7,linux/arm/v6,linux/s390x | |
platforms: linux/amd64,linux/arm64,linux/arm/v7,linux/arm/v6 | |
build-args: | | |
BUILD_VERSION | |
sbom: true | |
provenance: true | |
cache-from: type=gha, scope=${{ github.workflow }}-${{ matrix.distro }} | |
cache-to: type=gha, scope=${{ github.workflow }}-${{ matrix.distro }} | |
labels: ${{ steps.docker_meta.outputs.labels }} | |
tags: | | |
docker.io/${{ env.REPOSITORY }}:${{ env.BUILD_VERSION }} | |
docker.io/${{ env.REPOSITORY }}:${{ env.BUILD_VERSION }}-${{ matrix.distro }} | |
docker.io/${{ env.REPOSITORY }}:latest | |
ghcr.io/${{ env.REPOSITORY }}:${{ env.BUILD_VERSION }} | |
ghcr.io/${{ env.REPOSITORY }}:${{ env.BUILD_VERSION }}-${{ matrix.distro }} | |
ghcr.io/${{ env.REPOSITORY }}:latest | |