diff --git a/.github/workflows/push-docker.yml b/.github/workflows/push-docker.yml index 306d2cbd..0aefaa00 100644 --- a/.github/workflows/push-docker.yml +++ b/.github/workflows/push-docker.yml @@ -4,15 +4,14 @@ on: push: branches: - master + - testGit - main - jobs: push: + runs-on: ubuntu-latest - permissions: - packages: write - contents: read steps: + - uses: actions/checkout@v3 - name: Set up JDK 17 @@ -20,6 +19,7 @@ jobs: with: java-version: '17' distribution: 'temurin' + - uses: gradle/gradle-build-action@v2.3.3 with: @@ -37,35 +37,43 @@ jobs: uses: docker/login-action@v2.1.0 with: username: ${{ secrets.DOCKER_HUB_USERNAME }} - password: ${{ secrets.DOCKER_HUB_API }} - - - name: Login to GitHub Container Registry - uses: docker/login-action@v2.1.0 - with: - registry: ghcr.io - username: ${{ github.actor }} - password: ${{ github.token }} - - - name: Generate tags - id: meta - uses: docker/metadata-action@v4.4.0 - with: - images: | - frooodle/s-pdf - ghcr.io/frooodle/s-pdf - tags: | - ${{ steps.versionNumber.outputs.versionNumber }}${{ github.ref == 'refs/heads/main' && '-alpha' || '' }} + password: ${{ secrets.DOCKER_HUB_API }} - - name: Set up QEMU - uses: docker/setup-qemu-action@v2.1.0 - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v2.5.0 + # - name: Check if tag exists + # id: checkIdExists + # continue-on-error: true + # run: | + # response=$(curl -s https://hub.docker.com/v2/repositories/frooodle/s-pdf/tags/?name=${{ steps.versionNumber.outputs.versionNumber }}) + # result=$(echo $response | jq ".results") + # if [ "$result" == "[]" ]; then + # echo "Tag ${{ steps.versionNumber.outputs.versionNumber }} doesnt exist. Continuing with build and push." + # else + # echo "Tag ${{ steps.versionNumber.outputs.versionNumber }} already exists. Skipping build and push." + # exit 1; + # fi + + + + - name: Setup buildx + run: | + docker buildx create --name mybuilder + docker buildx use mybuilder + + - name: Build and push versioned amd64 and v8 + if: github.ref == 'refs/heads/main' + run: | + docker buildx build --platform="linux/amd64,linux/arm64/v8" --push --tag "frooodle/s-pdf:${{ steps.versionNumber.outputs.versionNumber }}-alpha" . + + + - name: Build and push versioned amd64 and v8 + if: github.ref == 'refs/heads/master' + run: | + docker buildx build --platform="linux/amd64,linux/arm64/v8" --push --tag "frooodle/s-pdf:${{ steps.versionNumber.outputs.versionNumber }}" . + + + - name: Build and push latest amd64 and v8 + if: github.ref == 'refs/heads/master' + run: | + docker buildx build --platform="linux/amd64,linux/arm64/v8" --push --tag "frooodle/s-pdf:latest" . + - - name: Build and push - uses: docker/build-push-action@v4.0.0 - with: - push: true - tags: ${{ steps.meta.outputs.tags }} - labels: ${{ steps.meta.outputs.labels }} - platforms: linux/amd64,linux/arm64/v8