name: Docker Build Pipeline on: push: branches: - testing jobs: Cleanup-Old-Artifacts: runs-on: self-hosted defaults: run: working-directory: /home/builds/src steps: - name: Cleanup old code run: rm -rfv * Check-Environment: runs-on: self-hosted defaults: run: working-directory: /home/builds/src steps: - name: Environment check run: | hostnamectl && echo env && echo whoami && echo pwd && echo tree && echo Clone-Repo: runs-on: self-hosted defaults: run: working-directory: /home/builds/src steps: - name: Clone repository uses: actions/checkout@v3 # - name: Clone repository # run: | # git clone https://gitea.thezengarden.net/podman/ansible-dev.git # cd ansible-dev # git checkout ${{ env.GITHUB_REF_NAME }} Build-Images: runs-on: self-hosted defaults: run: working-directory: /home/builds/src/ansible-dev steps: - name: Build Fedora Image run: | echo "docker build --no-cache -f build/Containerfile.fedora39 -t ${{ vars.REGISTRY }}/${{ env.GITHUB_REPOSITORY }}/${{ vars.BUILD_NAME_FEDORA }}:${{ env.GITHUB_REF_NAME }} ." docker build --no-cache -f build/Containerfile.fedora39 -t ${{ vars.REGISTRY }}/${{ env.GITHUB_REPOSITORY }}/${{ vars.BUILD_NAME_FEDORA }}:${{ env.GITHUB_REF_NAME }} . - name: Build CentOS Image run: | echo "docker build --no-cache -f build/Containerfile.centos9 -t ${{ vars.REGISTRY }}/${{ env.GITHUB_REPOSITORY }}/${{ vars.BUILD_NAME_CENTOS }}:${{ env.GITHUB_REF_NAME }} ." docker build --no-cache -f build/Containerfile.centos9 -t ${{ vars.REGISTRY }}/${{ env.GITHUB_REPOSITORY }}/${{ vars.BUILD_NAME_CENTOS }}:${{ env.GITHUB_REF_NAME }} . - name: Build Debian Image run: | echo "docker build --no-cache -f build/Containerfile.debian12 -t ${{ vars.REGISTRY }}/${{ env.GITHUB_REPOSITORY }}/${{ vars.BUILD_NAME_DEBIAN }}:${{ env.GITHUB_REF_NAME }} ." docker build --no-cache -f build/Containerfile.debian12 -t ${{ vars.REGISTRY }}/${{ env.GITHUB_REPOSITORY }}/${{ vars.BUILD_NAME_DEBIAN }}:${{ env.GITHUB_REF_NAME }} . Push-Images: runs-on: self-hosted steps: - name: Docker login run: echo "${{ secrets.REGISTRY_PASSWORD }}" | docker login --username ${{ secrets.REGISTRY_USER }} --password-stdin ${{ vars.REGISTRY }} - name: Push Registry Images 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_CENTOS }}:${{ 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 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_CENTOS }}:${{ 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 steps: - name: Cleanup Docker login run: rm -v /home/builds/.docker/config.json