James Andariese
f56e86ac74
All checks were successful
Build Container and update Flux / Explore-Gitea-Actions (push) Successful in 7s
60 lines
2.1 KiB
YAML
60 lines
2.1 KiB
YAML
name: Build Container and update Flux
|
|
on:
|
|
push:
|
|
branches:
|
|
- '*'
|
|
- '!k-*'
|
|
|
|
env:
|
|
DEPLOY_MANIFEST: "${{ vars.DEPLOY_MANIFEST || 'deploy.yaml' }}"
|
|
FLUX_MANIFEST: "${{ vars.FLUX_MANIFEST || 'flux.yaml' }}"
|
|
|
|
jobs:
|
|
Explore-Gitea-Actions:
|
|
runs-on: metal-docker
|
|
steps:
|
|
- name: Check out repository code
|
|
uses: actions/checkout@v3
|
|
- run: |
|
|
ls -la
|
|
docker build --progress plain --iidfile iid.txt .
|
|
stringprefix() { [ ${#1} -le $2 ] && echo $1 && return 0 || stringprefix "${1%?}" $2 ; }
|
|
STAG="$GITHUB_REF_NAME-$(date +%Y-%m-%d-%H.%M.%S)"
|
|
SHORTSHA="$(stringprefix "$GITHUB_SHA" 8)"
|
|
for TAG in "$SHORTSHA" "$GITHUB_REF_NAME" "$STAG";do
|
|
docker tag "`cat iid.txt`" "$DOCKER_REGISTRY/$GITHUB_REPOSITORY:$TAG"
|
|
docker push "$DOCKER_REGISTRY/$GITHUB_REPOSITORY:$TAG"
|
|
done
|
|
|
|
BRANCH="$GITHUB_REF_NAME"
|
|
KBRANCH="k-$GITHUB_REF_NAME"
|
|
|
|
git config user.name "$GITHUB_REPOSITORY (act)"
|
|
git config user.email "gitea-actions@strudelline.net"
|
|
|
|
# ensure the branch exists so we can ensure it's deleted. no errors at all.
|
|
git checkout -B "$KBRANCH"
|
|
git checkout "$BRANCH"
|
|
git branch -D "$KBRANCH"
|
|
git checkout -b "$KBRANCH"
|
|
|
|
# now fix up the images in k/runner.yaml
|
|
sed -i -e "s@image: $DOCKER_REGISTRY/$GITHUB_REPOSITORY:.*@image: $DOCKER_REGISTRY/$GITHUB_REPOSITORY:$STAG@" "k/$DEPLOY_MANIFEST"
|
|
sed -i -e "s@branch: .*@$KBRANCH@" "k/$FLUX_MANIFEST"
|
|
|
|
git add k
|
|
git commit -m "upgrade runner sts to $STAG"
|
|
git push -f origin "$KBRANCH"
|
|
|
|
# now let's fix the origin branch's flux.yaml if it's needed.
|
|
# this will only happen once so it's not such an awful UX.
|
|
git checkout "$BRANCH"
|
|
sed -i -e "s@branch: .*@$KBRANCH@" "k/$FLUX_MANIFEST"
|
|
|
|
if git diff | grep -q .;then
|
|
echo fixing branch in flux.yaml of the origin branch
|
|
git add k/flux.yaml
|
|
git commit -m "fix flux.yaml in $BRANCH"
|
|
git push
|
|
fi
|