Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Vault 🐳 Mirror

Vault 🐳 Mirror #1144

name:"Vault 🐳 Mirror"
on:
workflow_dispatch:
schedule:
-cron:"0 20 * * *"
push:
branches:
-'*'
paths:
-containers.yml
-'.github/workflows/vault-containers.yml'
-'mirrors/vault/**'
pull_request:
paths:
-containers.yml
-'.github/workflows/vault-containers.yml'
-'mirrors/vault/**'
env:
COLUMNS:190
PATH_IN_REPO:mirrors/vault
concurrency:
# New builds always cancel previous, still running, builds
group:mirrors/vault-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress:true
jobs:
matrix-generator:
name:Generate Matrix
runs-on:ubuntu-24.04
outputs:
tags:${{ steps.set-matrix.outputs.tags }}
name:${{ steps.set-matrix.outputs.name }}
dockerinfo:${{ steps.set-matrix.outputs.dockerinfo }}
steps:
-name:"Throttle Builds"
run:|
t="$(shuf -i 5-30 -n 1)"; echo "Sleeping $t seconds"; sleep "$t"
-name:"Fetching Repository Contents"
uses:actions/checkout@v4
-name:Setup Python
uses:actions/setup-python@v5
with:
python-version:'3.11'
-name:Install Requirements
run:|
python -m pip install -r requirements.txt
-name:Show tools version
run:|
tools --debug --version
-name:"Generate Matrix Data"
id:set-matrix
run:|
tools ci matrix ${{ env.PATH_IN_REPO }}
build:
runs-on:ubuntu-24.04
needs:matrix-generator
name:"Build ${{ matrix.dockerinfo.name }}:${{ matrix.dockerinfo.tag }}${{ matrix.dockerinfo.platform && format(' ({0})', matrix.dockerinfo.platform) || ''}}"
timeout-minutes:600
strategy:
fail-fast:false
max-parallel:10
matrix:
dockerinfo:${{ fromJson(needs.matrix-generator.outputs.dockerinfo) }}
permissions:
actions:read
checks:write
issues:read
packages:write
pull-requests:read
repository-projects:read
statuses:read
steps:
-name:"Fetching Repository Contents"
uses:actions/checkout@v4
-name:"Throttle concurrent pushes"
run:|
t="$(shuf -i 5-30 -n 1)"; echo "Sleeping $t seconds"; sleep "$t"
-name:Docker meta
id:meta
uses:docker/metadata-action@v5
with:
images:|
ghcr.io/${{ github.repository }}/${{ matrix.dockerinfo.name }}
tags:|
type=raw,value=${{ matrix.dockerinfo.tag }}
flavor:|
latest=false
-name:"Docker QEMU"
uses:docker/setup-qemu-action@v3
-name:"Docker BuildX"
id:buildx
uses:docker/setup-buildx-action@v3
-name:Inspect builder
run:|
echo "Name: ${{ steps.buildx.outputs.name }}"
echo "Endpoint: ${{ steps.buildx.outputs.endpoint }}"
echo "Status: ${{ steps.buildx.outputs.status }}"
echo "Flags: ${{ steps.buildx.outputs.flags }}"
echo "Platforms: ${{ steps.buildx.outputs.platforms }}"
-name:"Log into GitHub Container Registry"
uses:docker/login-action@v3
with:
registry:ghcr.io
username:${{ github.repository_owner }}
password:${{ secrets.GITHUB_TOKEN }}
-name:"Build & Publish"
uses:docker/build-push-action@v5
id:build
with:
file:${{ matrix.dockerinfo.file }}
context:${{ env.PATH_IN_REPO }}
platforms:${{ matrix.dockerinfo.platform }}
labels:${{ steps.meta.outputs.labels }}
outputs:type=image,name=ghcr.io/${{ github.repository }}/${{ matrix.dockerinfo.name }},push-by-digest=true,name-canonical=true,push=${{
github.repository == 'saltstack/salt-ci-containers' && contains(fromJSON('["push", "schedule", "workflow_dispatch"]'), github.event_name) }}
-name:Export digest
if:${{ github.repository == 'saltstack/salt-ci-containers' && contains(fromJSON('["push", "schedule", "workflow_dispatch"]'), github.event_name) }}
run:|
mkdir -p /tmp/digests
touch "/tmp/digests/$(echo ${{ steps.build.outputs.digest }} | cut -d ':' -f 2)"
ls -lah /tmp/digests
-name:Upload digest
if:${{ github.repository == 'saltstack/salt-ci-containers' && contains(fromJSON('["push", "schedule", "workflow_dispatch"]'), github.event_name) }}
uses:actions/upload-artifact@v4
with:
name:digests-${{ matrix.dockerinfo.name }}-${{ matrix.dockerinfo.tag }}-${{ matrix.dockerinfo.platform_slug }}
path:/tmp/digests/*
if-no-files-found:error
retention-days:1
merge:
runs-on:ubuntu-24.04
name:"Merge ${{ needs.matrix-generator.outputs.name }}:${{ matrix.tag }}"
if:${{ github.repository == 'saltstack/salt-ci-containers' && contains(fromJSON('["push", "schedule", "workflow_dispatch"]'), github.event_name) }}
strategy:
fail-fast:false
max-parallel:10
matrix:
tag:${{ fromJson(needs.matrix-generator.outputs.tags) }}
needs:
-matrix-generator
-build
permissions:
actions:read
checks:write
issues:read
packages:write
pull-requests:read
repository-projects:read
statuses:read
steps:
-name:"Fetching Repository Contents"
uses:actions/checkout@v4
-name:Setup Python
uses:actions/setup-python@v5
with:
python-version:'3.11'
-name:Install Requirements
run:|
python -m pip install -r requirements.txt
-name:Show tools version
run:|
tools --debug --version
-name:Download digests
uses:actions/download-artifact@v4
with:
pattern:digests-${{ needs.matrix-generator.outputs.name }}-${{ matrix.tag }}-*
merge-multiple:true
path:/tmp/digests
-name:Show digests
run:|
tree -a /tmp/digests
cat /tmp/digests/*
-name:Set up Docker Buildx
uses:docker/setup-buildx-action@v3
-name:Docker meta
id:meta
uses:docker/metadata-action@v5
with:
images:|
ghcr.io/${{ github.repository }}/${{ needs.matrix-generator.outputs.name }}
tags:|
type=raw,value=${{ matrix.tag }}
flavor:|
latest=false
-name:"Log into GitHub Container Registry"
uses:docker/login-action@v3
with:
registry:ghcr.io
username:${{ github.repository_owner }}
password:${{ secrets.GITHUB_TOKEN }}
-name:Create manifest list and push
run:|
tools ci create-manifest-list-and-push ghcr.io/${{ github.repository }}/${{ needs.matrix-generator.outputs.name }} /tmp/digests
-name:Inspect image
run:|
docker buildx imagetools inspect ghcr.io/${{ github.repository }}/${{ needs.matrix-generator.outputs.name }}:${{ steps.meta.outputs.version }}

[8]ページ先頭

©2009-2025 Movatter.jp