docker-act_runner/.github/workflows/build.yaml
James Andariese b83a8e02e7
Some checks failed
Build Container and update Flux / Explore-Gitea-Actions (push) Failing after 7s
add bash to test
2024-03-28 23:32:08 -05:00

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@" "$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