Files
express/.gitea/workflows/build.yml
ardi e95b35d16d
All checks were successful
Build and Test / build (push) Successful in 1m17s
Update .gitea/workflows/build.yml
2025-10-09 09:06:18 +00:00

71 lines
1.8 KiB
YAML

name: Build and Test
on:
push:
branches:
- "main"
pull_request:
branches:
- "main"
jobs:
build:
runs-on: k8s-runner-00
env:
REGISTRY: registry.staging
IMAGE_NAME: ${{ gitea.repository }}
IMAGE_TAG: ${{ gitea.sha }}
steps:
- name: "Checkout repository"
uses: actions/checkout@v4
- id: generator
name: "Generate Dockerfile & Manifest K8S"
uses: ardipc/devops-generator@v1.0.2
with:
name: "hello-app"
language: "node"
- name: "Print Output Docker"
id: output
run: |
echo "${{ steps.generator.outputs.docker }}" > Dockerfile
echo "${{ steps.generator.outputs.k8s }}" > k8s.yml
- name: "Replace APP_NAME"
run: |
NAME=$(echo "$IMAGE_NAME" | sed 's/\//-/g')
sed -i "s|APP_NAME|$NAME|g" k8s.yml
sed -i "s|IMAGE_NAME|$REGISTRY/$IMAGE_NAME:$IMAGE_TAG|g" k8s.yml
cat k8s.yml
- name: "Create buildkitd.toml"
run: |
cat <<EOF > buildkitd.toml
[registry."registry.staging"]
http = true
insecure = true
EOF
- name: "Set up Buildx builder"
run: |
BUILDER_NAME="builder-$(date +%s)"
echo "BUILDER_NAME=$BUILDER_NAME" >> $GITEA_ENV
docker buildx create \
--use \
--name $BUILDER_NAME \
--driver docker-container \
--config buildkitd.toml
- name: "Build & Push Docker"
run: |
docker buildx build \
--builder $BUILDER_NAME \
-t $REGISTRY/$IMAGE_NAME:$IMAGE_TAG \
--push .
- name: "Cleanup builder"
if: always()
run: docker buildx rm $BUILDER_NAME || true