This commit is contained in:
mats committed 2026-09-27 16:45:10 +02:00
1 parent f5015581a4
commit e046bd86d1
18 files changed
+3020 -46

No files matched your search

+26 -34
View File
@@ -1,6 +1,9 @@
name: Build and Publish
run-name: ${{ gitea.actor }} build 🚀
on: [push]
on:
push:
branches: [main]
workflow_dispatch:
jobs:
Metadata:
@@ -26,7 +29,7 @@ jobs:
echo "version=$VERSION" >> $GITHUB_OUTPUT
echo "build_date=$BUILD_DATE" >> $GITHUB_OUTPUT
BuildAndDeployAmd64:
BuildAndPushAmd64:
needs: Metadata
runs-on: amd64
steps:
@@ -39,15 +42,32 @@ jobs:
--build-arg GIT_COMMIT=${{ needs.Metadata.outputs.git_commit }} \
--build-arg BUILD_DATE=${{ needs.Metadata.outputs.build_date }} \
--progress=plain \
-t matst80/otel-debug:${{ needs.Metadata.outputs.version }} \
-t matst80/otel-debug:latest \
.
- name: Push amd64 images
- name: Push images
run: |
docker push matst80/otel-debug:${{ needs.Metadata.outputs.version }}
docker push matst80/otel-debug:latest
- name: Rollout amd64 otel deployment
- name: Reconcile after image is published
env:
GITOPS_WEBHOOK_SECRET: ${{ secrets.GITOPS_WEBHOOK_SECRET }}
run: |
kubectl rollout restart deployment/otel-debug-receiver -n monitoring
kubectl rollout status deployment/otel-debug-receiver -n monitoring
if [ -z "$GITOPS_WEBHOOK_SECRET" ]; then
echo "GITOPS_WEBHOOK_SECRET must match the k8s-helper Gitea webhook secret" >&2
exit 1
fi
payload="$(mktemp)"
trap 'rm -f "$payload"' EXIT
printf '{"ref":"%s","after":"%s","repository":{"clone_url":"https://git.k6n.net/mats/go-otel.git","ssh_url":"git@git.k6n.net:mats/go-otel.git"}}' \
"$GITHUB_REF" "$GITHUB_SHA" > "$payload"
signature="$(openssl dgst -sha256 -hmac "$GITOPS_WEBHOOK_SECRET" "$payload" | awk '{print $NF}')"
curl --fail --silent --show-error \
-X POST \
-H "Content-Type: application/json" \
-H "X-Gitea-Signature: $signature" \
--data-binary "@$payload" \
https://ui.k6n.net/api/gitops/webhooks/gitea
- name: Upload source maps
env:
RELEASE: ${{ needs.Metadata.outputs.version }}
@@ -69,31 +89,3 @@ jobs:
done < <(find "$maps_dir" -type f -name '*.js.map' -print0)
rm -rf "$maps_dir"
[ "$found" = 1 ] || { echo "no source maps found in UI build" >&2; exit 1; }
# - name: Rollout amd64 deployment (pin to version)
# run: |
# kubectl set image deployment/cart-actor-x86 -n cart cart-actor-amd64=registry.knatofs.se/go-otel-debug-amd64:${{ needs.Metadata.outputs.version }}
# # kubectl rollout status deployment/cart-actor-x86 -n cart
# BuildAndDeployArm64:
# needs: Metadata
# runs-on: arm64
# steps:
# - uses: actions/checkout@v4
# - name: Build arm64 image
# run: |
# docker build \
# --build-arg VERSION=${{ needs.Metadata.outputs.version }} \
# --build-arg GIT_COMMIT=${{ needs.Metadata.outputs.git_commit }} \
# --build-arg BUILD_DATE=${{ needs.Metadata.outputs.build_date }} \
# --progress=plain \
# -t registry.knatofs.se/go-otel-debug:latest \
# -t registry.knatofs.se/go-otel-debug:${{ needs.Metadata.outputs.version }} \
# .
# - name: Push arm64 images
# run: |
# docker push registry.knatofs.se/go-otel-debug:latest
# docker push registry.knatofs.se/go-otel-debug:${{ needs.Metadata.outputs.version }}
# - name: Rollout arm64 deployment (pin to version)
# run: |
# kubectl set image deployment/cart-actor-arm64 -n cart cart-actor-arm64=registry.knatofs.se/go-otel-debug:${{ needs.Metadata.outputs.version }}
# # kubectl rollout status deployment/cart-actor-arm64 -n cart