functions/.forgejo/workflows/functions.yml

68 lines
2.2 KiB
YAML
Raw Normal View History

2025-01-17 10:30:27 +01:00
name: functions
on:
- push
jobs:
build:
runs-on: ubuntu-latest
steps:
2025-01-17 13:19:27 +01:00
- name: Setup Git config
run: |
git config --global user.email "ci@icb4dc0.de"
git config --global user.name "Forgejo Actions"
2025-01-17 10:30:27 +01:00
- name: Setup `spin`
uses: fermyon/actions/spin/setup@v1
2025-01-17 11:48:31 +01:00
- name: Setup argocd CLI
run: |
2025-01-17 11:52:35 +01:00
curl -sSL -o /usr/local/bin/argocd https://github.com/argoproj/argo-cd/releases/latest/download/argocd-linux-arm64
2025-01-17 11:48:31 +01:00
chmod +x /usr/local/bin/argocd
argocd version --client
2025-01-17 13:10:38 +01:00
- name: Setup kustomize
run: |
unset GITHUB_TOKEN
curl -s "https://raw.githubusercontent.com/kubernetes-sigs/kustomize/master/hack/install_kustomize.sh" | bash -s -- /usr/local/bin
2025-01-17 11:28:51 +01:00
- name: Setup Go 1.23.x
uses: actions/setup-go@v5
with:
go-version: "1.23.x"
2025-01-17 11:03:10 +01:00
- name: Setup tinygo
uses: acifani/setup-tinygo@v2
with:
tinygo-version: "0.35.0"
install-binaryen: "false"
2025-01-17 11:34:00 +01:00
- name: Login to container registry
uses: docker/login-action@v3
with:
registry: code.icb4dc0.de
username: prskr
password: ${{ secrets.CONTAINER_REGISTRY_TOKEN }}
2025-01-17 10:30:27 +01:00
- name: Checkout
uses: actions/checkout@v4
- name: Build
run: |
2025-01-17 13:06:57 +01:00
spin registry push --build code.icb4dc0.de/infrastructure/functions/comics:${{ github.sha }}
2025-01-17 10:30:27 +01:00
working-directory: comics
2025-01-17 13:06:57 +01:00
- name: Update image reference
run: |
kustomize edit set image comics=code.icb4dc0.de/infrastructure/functions/comics:${{ github.sha }}
git add kustomization.yaml
git commit -m "chore(deploy): update comics image reference"
git push
working-directory: deploy
- name: Upsert Argo App
2025-01-17 11:48:31 +01:00
run: |
2025-01-17 11:54:46 +01:00
argocd app create functions -f deploy/argo-app.yaml --upsert --server argo-cd-argocd-server.argo-system.svc --auth-token ${{ secrets.ARGOCD_TOKEN }} --plaintext
- name: Deploy KubeSpin apps
2025-01-17 11:48:31 +01:00
run: |
argocd app sync functions --server argo-cd-argocd-server.argo-system.svc --auth-token ${{ secrets.ARGOCD_TOKEN }} --plaintext --assumeYes