diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index d0db6c4..2088850 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -1,9 +1,13 @@ -name: Github Actions Demo -run-name: ${{ github.actor }} is testing out GitHub Actions (on Gitea) 🚀 +name: Build Container and update Flux on: push: - paths-ignore: - - k/** + branches: + - '*' + - '!k-*' + +env: + DEPLOY_MANIFEST: "${{ vars.DEPLOY_MANIFEST || 'deploy.yaml' }}" + FLUX_MANIFEST: "${{ vars.FLUX_MANIFEST || 'flux.yaml' }}" jobs: Explore-Gitea-Actions: @@ -21,14 +25,35 @@ jobs: docker tag "`cat iid.txt`" "$DOCKER_REGISTRY/$GITHUB_REPOSITORY:$TAG" docker push "$DOCKER_REGISTRY/$GITHUB_REPOSITORY:$TAG" done - git checkout -B k-$GITHUB_REF_NAME - git checkout $GITHUB_REF_NAME - git branch -D k-$GITHUB_REF_NAME - git checkout -b k-$GITHUB_REF_NAME - sed -i -e "s@image: $DOCKER_REGISTRY/$GITHUB_REPOSITORY:.*@image: $DOCKER_REGISTRY/$GITHUB_REPOSITORY:$STAG@" k/runner.yaml - sed -i -e "s@branch: .*@k-$GITHUB_REF_NAME@" k/flux.yaml + + 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 k-$GITHUB_REF_NAME + 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