From 74e029b155b148229d4a32d0b0a55623697b7316 Mon Sep 17 00:00:00 2001 From: Chris Hammer Date: Wed, 15 Jan 2025 16:43:21 -0500 Subject: [PATCH] Add staging CI file for testing releases --- .gitea/workflows/build-stage.yml | 73 ++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 .gitea/workflows/build-stage.yml diff --git a/.gitea/workflows/build-stage.yml b/.gitea/workflows/build-stage.yml new file mode 100644 index 0000000..a65f856 --- /dev/null +++ b/.gitea/workflows/build-stage.yml @@ -0,0 +1,73 @@ +name: Docker Image Build Pipeline + +on: + push: + branches: + - staging + +jobs: + Checkout-Branch: + runs-on: self-hosted + defaults: + run: + working-directory: /home/builds/src/ansible-dev + + steps: + - name: Checkout staging branch + run: | + git checkout ${{ env.GITHUB_REF_NAME }} + + - name: Verify current commit + run: git log -1 + + + Build-Images: + runs-on: self-hosted + needs: [Checkout-Branch] + defaults: + run: + working-directory: /home/builds/src/ansible-dev + + steps: + - name: Fedora + run: | + echo "docker build -f build/Containerfile.fedora -t ${{ vars.REGISTRY }}/${{ env.GITHUB_REPOSITORY }}/${{ vars.BUILD_NAME_FEDORA }}:${{ env.GITHUB_REF_NAME }} ." + docker build -f build/Containerfile.fedora -t ${{ vars.REGISTRY }}/${{ env.GITHUB_REPOSITORY }}/${{ vars.BUILD_NAME_FEDORA }}:${{ env.GITHUB_REF_NAME }} . + + - name: Debian + run: | + echo "docker build -f build/Containerfile.debian -t ${{ vars.REGISTRY }}/${{ env.GITHUB_REPOSITORY }}/${{ vars.BUILD_NAME_DEBIAN }}:${{ env.GITHUB_REF_NAME }} ." + docker build -f build/Containerfile.debian -t ${{ vars.REGISTRY }}/${{ env.GITHUB_REPOSITORY }}/${{ vars.BUILD_NAME_DEBIAN }}:${{ env.GITHUB_REF_NAME }} . + + + Push-Images: + runs-on: self-hosted + needs: [Build-Images] + steps: + - name: Docker login + run: echo "${{ secrets.REGISTRY_PASSWORD }}" | docker login --username ${{ secrets.REGISTRY_USER }} --password-stdin ${{ vars.REGISTRY }} + + - name: Push images to registry + run: | + pwd + docker push ${{ vars.REGISTRY }}/${{ env.GITHUB_REPOSITORY }}/${{ vars.BUILD_NAME_FEDORA }}:${{ env.GITHUB_REF_NAME }} + docker push ${{ vars.REGISTRY }}/${{ env.GITHUB_REPOSITORY }}/${{ vars.BUILD_NAME_DEBIAN }}:${{ env.GITHUB_REF_NAME }} + + + Cleanup-Build-Images: + runs-on: self-hosted + needs: [Build-Images, Push-Images] + steps: + - name: Cleanup build images + run: | + pwd + docker rmi ${{ vars.REGISTRY }}/${{ env.GITHUB_REPOSITORY }}/${{ vars.BUILD_NAME_FEDORA }}:${{ env.GITHUB_REF_NAME }} + docker rmi ${{ vars.REGISTRY }}/${{ env.GITHUB_REPOSITORY }}/${{ vars.BUILD_NAME_DEBIAN }}:${{ env.GITHUB_REF_NAME }} + + + Cleanup-Docker-Login: + runs-on: self-hosted + needs: [Push-Images] + steps: + - name: Cleanup Docker login + run: rm -v /home/builds/.docker/config.json