Files
pulp-ui-cri/.gitea/workflows/build.yaml
T
CrazyHackGUT df1ac56ccf
Build image / Build base frontend image (push) Successful in 2m54s
Build image / Build nginx image (push) Successful in 32s
chore: rebuild image if Dockerfile/workflow/UI is changed
2026-09-06 13:43:59 +04:00

97 lines
3.2 KiB
YAML

name: "Build image"
on:
push:
paths:
- 'vendor/pulp-ui'
- 'Dockerfile*'
- '.gitea/workflows/build.yaml'
jobs:
build-frontend:
name: Build base frontend image
runs-on: ubuntu-latest
outputs:
ui_commit: ${{ steps.git-parse.outputs.PULP_UI_COMMIT }}
builder_commit: ${{ steps.git-parse.outputs.BUILDER_SHA_COMMIT }}
steps:
- name: Checkout
uses: actions/checkout@v3
with:
submodules: true
- name: Fetch commit hash for Pulp UI repository
id: git-parse
run: |
FULL_PULP_UI_COMMIT="$(git -C vendor/pulp-ui rev-parse HEAD)"
SHORT_PULP_UI_COMMIT="${FULL_PULP_UI_COMMIT:0:7}"
echo "PULP_UI_COMMIT=${SHORT_PULP_UI_COMMIT}" >> $GITEA_OUTPUT
FULL_BUILDER_SHA="${{ gitea.sha }}"
SHORT_BUILDER_SHA="${FULL_BUILDER_SHA:0:7}"
echo "BUILDER_SHA_COMMIT=${SHORT_BUILDER_SHA}" >> $GITEA_OUTPUT
- name: Setup Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Log in to built-in registry
uses: docker/login-action@v3
with:
registry: ${{ gitea.server_url }}
username: pat
password: ${{ secrets.IMAGE_PUSH_TOKEN }}
- name: Extract metadata
id: meta
uses: docker/metadata-action@v5
with:
images: code.kruzya.dev/${{ gitea.repository }}/base-frontend
tags: |
type=sha,format=short
type=raw,value=ui-${{ steps.git-parse.outputs.PULP_UI_COMMIT }}
- name: Build frontend image
uses: docker/build-push-action@v6
with:
context: vendor/pulp-ui
file: ./Dockerfile
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
build-args: |
PULP_UI_COMMIT=${{ steps.git-parse.outputs.PULP_UI_COMMIT }}
build-nginx:
name: Build nginx image
runs-on: ubuntu-latest
needs: build-frontend
env:
BUILDER_COMMIT: ${{ needs.build-frontend.outputs.builder_commit }}
UI_COMMIT: ${{ needs.build-frontend.outputs.ui_commit }}
steps:
- name: Checkout
uses: actions/checkout@v3
with:
submodules: false # We're using only Dockerfile.nginx
- name: Setup Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Log in to built-in registry
uses: docker/login-action@v3
with:
registry: ${{ gitea.server_url }}
username: pat
password: ${{ secrets.IMAGE_PUSH_TOKEN }}
- name: Extract metadata
id: meta
uses: docker/metadata-action@v5
with:
images: code.kruzya.dev/${{ gitea.repository }}/nginx
tags: |
type=sha,format=short
type=raw,value=ui-${{ env.UI_COMMIT }}
- name: Build nginx image
uses: docker/build-push-action@v6
with:
context: .
file: ./Dockerfile.nginx
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
build-args: |
BASE_IMG=code.kruzya.dev/crazyhackgut/pulp-ui-cri/base-frontend:sha-${{ env.BUILDER_COMMIT }}