1
0
Fork 0
oci-builder/.forgejo/workflows/build-image.yaml

90 lines
2.8 KiB
YAML

on:
push:
jobs:
build-oci-builder:
name: 'Build oci-builder'
runs-on: 'oci-builder'
steps:
- name: Checkout
uses: actions/checkout@v4
- name: 'Build image'
uses: 'https://git.uncontrol.me/ver4a-actions/buildah-build@v2-compat'
with:
image: 'registry.uncontrol.me/ver4a/oci-builder'
tags: 'ci-dev'
containerfiles: 'Dockerfile'
oci: true
extra-args: |
--userns=container
--security-opt=no-new-privileges
--annotation=quay.expires-after=
build-args: |
REGISTRY_DOMAIN=${{ vars.REGISTRY_DOMAIN }}
NAMESPACE=${{ vars.NAMESPACE }}
GITHUB_RUN_ID=${{ env.GITHUB_RUN_ID }}
- name: 'Log in to registry'
uses: 'actions/podman-login@v1'
with:
registry: ${{ vars.REGISTRY_DOMAIN }}
username: ${{ vars.REGISTRY_USERNAME }}
password: ${{ secrets.REGISTRY_PASSWORD }}
auth_file_path: '$HOME/.config/containers/auth.json'
- name: 'Push :ci-dev to registry'
uses: 'actions/push-to-registry@v2'
with:
image: 'ver4a/oci-builder'
tags: 'ci-dev'
registry: 'registry.uncontrol.me'
test-oci-builder:
name: 'Test oci-builder'
runs-on: 'oci-builder-ci-dev'
needs: 'build-oci-builder'
steps:
- name: Make sure oci-builder originates from current workflow run
run: diff <(echo $GITHUB_RUN_ID) /.github_run_id
- name: Checkout
uses: actions/checkout@v4
- name: 'Build image'
uses: 'https://git.uncontrol.me/ver4a-actions/buildah-build@v2-compat'
with:
image: 'registry.uncontrol.me/ver4a/oci-builder'
tags: 'throwaway'
containerfiles: 'Dockerfile'
oci: true
extra-args: |
--userns=container
--security-opt=no-new-privileges
--annotation=quay.expires-after=
build-args: |
REGISTRY_DOMAIN=${{ vars.REGISTRY_DOMAIN }}
NAMESPACE=${{ vars.NAMESPACE }}
GITHUB_RUN_ID=${{ env.GITHUB_RUN_ID }}
release-oci-builder:
name: 'Release oci-builder'
runs-on: 'oci-builder-ci-dev'
needs: 'test-oci-builder'
steps:
- name: Make sure oci-builder originates from current workflow run
run: diff <(echo $GITHUB_RUN_ID) /.github_run_id
- name: 'Log in to registry'
uses: 'actions/podman-login@v1'
with:
registry: ${{ vars.REGISTRY_DOMAIN }}
username: ${{ vars.REGISTRY_USERNAME }}
password: ${{ secrets.REGISTRY_PASSWORD }}
auth_file_path: '$HOME/.config/containers/auth.json'
- name: 'Move :ci-dev to :stable'
run: skopeo copy docker://registry.uncontrol.me/ver4a/oci-builder:ci-dev docker://registry.uncontrol.me/ver4a/oci-builder:stable