Files
zitadel-resources-operator/.gitea/workflows/build-and-publish.yaml
HaimKortovich f2ce7efbb8
Some checks failed
Build and Deploy / build (push) Failing after 52s
try make it work
2026-03-31 17:11:46 -05:00

73 lines
2.5 KiB
YAML

# .gitea/workflows/build.yaml
name: Build and Deploy
on:
push:
branches:
- main
env:
REGISTRY: ${{ github.server_url }}
IMAGE_NAME: ${{ github.event.repository.name }}
CHART_NAME: ${{ github.event.repository.name }}
jobs:
build:
runs-on: ubuntu-latest
container:
image: nixos/nix:latest
options: --privileged
steps:
- name: Checkout
run: |
nix-shell -p git --run "git clone https://token:${{ secrets.GITHUB_TOKEN }}@$(echo ${{ github.server_url }} | sed 's|https://||')/${{ github.repository }}.git ."
nix-shell -p git --run "git checkout ${{ github.sha }}"
- name: Setup Nix
run: |
echo "experimental-features = nix-command flakes" >> /etc/nix/nix.conf
- name: Build with Nix
run: |
nix build .#dockerImage --print-build-logs
nix build .#helmChart --print-build-logs
- name: Setup Docker
run: |
nix-shell -p docker --run "dockerd &"
sleep 5
- name: Load and Push Docker Image
run: |
VERSION=${{ github.run_number }}
REGISTRY_HOST=$(echo "${{ env.REGISTRY }}" | sed -e 's|^https://||' -e 's|^http://||')
TARGET_IMAGE=${REGISTRY_HOST}/${{ github.repository_owner }}/${{ env.IMAGE_NAME }}
nix-shell -p docker --run "
docker load < result
SOURCE_IMAGE=\$(docker images --format '{{.Repository}}:{{.Tag}}' | head -n 1)
echo '${{ secrets.GITHUB_TOKEN }}' | docker login ${REGISTRY_HOST} -u ${{ github.actor }} --password-stdin
docker tag \$SOURCE_IMAGE ${TARGET_IMAGE}:${VERSION}
docker tag \$SOURCE_IMAGE ${TARGET_IMAGE}:latest
docker push ${TARGET_IMAGE}:${VERSION}
docker push ${TARGET_IMAGE}:latest
"
- name: Package and Push Helm Chart
run: |
VERSION=${{ github.run_number }}
nix-shell -p kubernetes-helm --run "
helm package result/chart --version ${VERSION} --app-version ${VERSION}
"
CHART_FILE=${{ env.CHART_NAME }}-${VERSION}.tgz
nix-shell -p curl --run "
curl -f --user '${{ github.actor }}:${{ secrets.GITHUB_TOKEN }}' \
-X POST \
--upload-file ./${CHART_FILE} \
'${{ github.server_url }}/api/packages/${{ github.repository_owner }}/helm/api/charts'
"