Skip to content

ci(deps): update dependency skopeo to v1.23.0 #2203

ci(deps): update dependency skopeo to v1.23.0

ci(deps): update dependency skopeo to v1.23.0 #2203

Workflow file for this run

name: build
on:
push:
branches:
- main
pull_request:
merge_group:
schedule:
- cron: '0 2 * * *'
concurrency:
group: ${{ github.workflow }}-${{ github.event.number || github.ref }}
cancel-in-progress: true
env:
DRY_RUN: ${{ github.ref != 'refs/heads/main' }}
SKOPEO_VERSION: 1.23.0 # renovate: datasource=github-releases depName=skopeo packageName=visualon/skopeo-prebuild versioning=semver
permissions:
contents: read
jobs:
lint:
runs-on: ubuntu-24.04
timeout-minutes: 10
steps:
- name: ⚙️ Setup
uses: containerbase/internal-tools/setup@719da8bbfab13578331c047ab449ad5c71fd381f # v4.6.79
with:
save-cache: true
- run: pnpm prettier
build:
needs:
- lint
runs-on: ubuntu-24.04
permissions:
id-token: write
packages: write
strategy:
fail-fast: false
matrix:
tag:
- 22.04
- 24.04
- 26.04
- latest
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
show-progress: false
- uses: sigstore/cosign-installer@6f9f17788090df1f26f669e9d70d6ae9567deba6 # v4.1.2
- name: install skopeo v${{ env.SKOPEO_VERSION }}
run: |
tmp_dir="$(mktemp -d)"
curl -sSLf "https://github.com/visualon/skopeo-prebuild/releases/download/${{ env.SKOPEO_VERSION }}/skopeo-${{ env.SKOPEO_VERSION }}-x86_64.tar.xz" -o "${tmp_dir}/skopeo.tar.xz"
tar --strip 2 -xf "${tmp_dir}/skopeo.tar.xz"
ls -la .
- name: Docker registry login
if: env.DRY_RUN == 'false'
run: |
echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.repository_owner }} --password-stdin
- name: Publish ${{matrix.tag}} to ghcr.io
if: env.DRY_RUN == 'false'
run: |
./skopeo copy --multi-arch all --digestfile=digest.txt docker://docker.io/library/ubuntu:${{matrix.tag}} docker://ghcr.io/${{ github.repository }}:${{matrix.tag}}
cosign sign -y "ghcr.io/${{ github.repository }}@$(cat digest.txt)"
success:
runs-on: ubuntu-24.04
needs:
- lint
- build
timeout-minutes: 1
if: always()
steps:
- name: Fail for failed or cancelled build
if: |
needs.build.result == 'failure' ||
needs.build.result == 'cancelled'
run: exit 1
- name: Fail for failed or cancelled lint
if: |
needs.lint.result == 'failure' ||
needs.lint.result == 'cancelled'
run: exit 1