Skip to content

chore(deps): update pnpm to v10.4.1 (#114) #462

chore(deps): update pnpm to v10.4.1 (#114)

chore(deps): update pnpm to v10.4.1 (#114) #462

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.18.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@d005037f4b778e5c456510a397b91f8ac19078e6 # v3.9.0
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:
- 20.04
- 22.04
- 24.04
- latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
show-progress: false
- uses: sigstore/cosign-installer@c56c2d3e59e4281cc41dea2217323ba5694b171e # v3.8.0
- 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