Files
notely/.gitea/workflows/build-and-push.yml
domrichardson 3bfdf24fff
All checks were successful
Build and Push App Image / build-and-push (push) Successful in 59s
feat: more workflow fixes
2026-03-24 16:25:53 +00:00

55 lines
1.8 KiB
YAML

name: Build and Push App Image
on:
push:
branches:
- main
- master
tags:
- "v*"
workflow_dispatch:
env:
# Example: registry.example.com/your-user/noteapp
IMAGE_NAME: ${{ secrets.REGISTRY_IMAGE }}
jobs:
build-and-push:
runs-on: ubuntu-docker
container: docker:dind
steps:
- name: install nodejs
run: apk add --update nodejs npm
- name: Checkout
uses: actions/checkout@v4
- name: Set image tags
id: vars
shell: sh
run: |
SHORT_SHA=$(printf '%s' "$GITHUB_SHA" | cut -c1-7)
BRANCH=$(printf '%s' "$GITHUB_REF_NAME" | tr '/' '-')
echo "short_sha=${SHORT_SHA}" >> "$GITHUB_OUTPUT"
echo "branch=${BRANCH}" >> "$GITHUB_OUTPUT"
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Login to Gitea Container Registry
uses: docker/login-action@v3
with:
registry: ${{ secrets.REGISTRY_HOST }}
username: ${{ secrets.REGISTRY_USERNAME }}
password: ${{ secrets.REGISTRY_PASSWORD }}
- name: Build and push app image
uses: docker/build-push-action@v6
with:
context: .
file: ./devops/docker/Dockerfile
push: true
build-args: |
VITE_API_BASE_URL=${{ secrets.VITE_API_BASE_URL }}
tags: |
${{ env.IMAGE_NAME }}:latest
${{ env.IMAGE_NAME }}:${{ steps.vars.outputs.short_sha }}
${{ env.IMAGE_NAME }}:${{ steps.vars.outputs.branch }}