name: Build and Push Docker Image on: push: branches: [develop] paths-ignore: - 'README.md' - '.github/**' pull_request: branches: [develop] paths-ignore: - 'README.md' - '.github/**' jobs: build-and-push: runs-on: ubuntu-latest # needs: test # if: startsWith(github.ref, 'refs/tags') steps: - name: Extract Version id: version_step run: | echo "##[set-output name=version;]VERSION=${GITHUB_REF#$"refs/tags/v"}" echo "##[set-output name=version_tag;]$GITHUB_REPOSITORY:${GITHUB_REF#$"refs/tags/v"}" echo "##[set-output name=latest_tag;]$GITHUB_REPOSITORY:latest" - name: Print Version run: | echo ${{steps.version_step.outputs.version_tag}} echo ${{steps.version_step.outputs.latest_tag}} - name: Set up QEMU uses: docker/setup-qemu-action@v3 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 with: platforms: | linux/amd64 - name: Login to DockerHub uses: docker/login-action@v3 with: registry: docker.savin.nyc username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.DOCKER_PASSWORD }} - name: PrepareReg Names id: read-docker-image-identifiers run: | echo VERSION_TAG=$(echo ${{ steps.version_step.outputs.version_tag }} | tr '[:upper:]' '[:lower:]') >> $GITHUB_ENV echo LASTEST_TAG=$(echo ${{ steps.version_step.outputs.latest_tag }} | tr '[:upper:]' '[:lower:]') >> $GITHUB_ENV - name: Build and push id: docker_build uses: docker/build-push-action@v6 with: context: . file: ./Dockerfile platforms: | linux/amd64 push: true tags: | ${{env.VERSION_TAG}} ${{env.LASTEST_TAG}} build-args: | ${{steps.version_step.outputs.version}} docker.savin.nyc/${{ github.event.repository.name }}:latest docker.savin.nyc/${{ github.event.repository.name }}:${{ env.RELEASE_VERSION }}