diff --git a/.github/workflows/build_check.yml b/.github/workflows/build_check.yml index 7ca71a0..d214e8c 100644 --- a/.github/workflows/build_check.yml +++ b/.github/workflows/build_check.yml @@ -45,15 +45,17 @@ jobs: run: | echo "SHORT_HASH=$(git rev-parse --short=7 HEAD)" >> $GITHUB_ENV echo $SHORT_HASH + echo "TAG=${GITHUB_REF/refs\/tags\//}" >> $GITHUB_ENV + echo $TAG - - name: Build Docker image - if: startsWith(github.ref, 'refs/tags/') != true && success() - uses: docker/build-push-action@v4 - with: - context: . - push: false - platforms: ${{ matrix.config.platforms }} - tags: "${{ secrets.DOCKER_REGISTRY }}/${{ secrets.IMAGE_NAME }}:${{ env.SHORT_HASH }}" - file: ${{ matrix.config.dockerfile }} + # - name: Build Docker image + # if: startsWith(github.ref, 'refs/tags/') != true && success() + # uses: docker/build-push-action@v4 + # with: + # context: . + # push: false + # platforms: ${{ matrix.config.platforms }} + # tags: "${{ secrets.DOCKER_REGISTRY }}/${{ secrets.IMAGE_NAME }}:${{ env.SHORT_HASH }}" + # file: ${{ matrix.config.dockerfile }} # run: | # docker build -t ${{ secrets.DOCKER_REGISTRY }}/${{ secrets.IMAGE_NAME }}:${GITHUB_SHA::7} . diff --git a/.github/workflows/release_image.yml b/.github/workflows/release_image.yml index 406d81b..bb918d5 100644 --- a/.github/workflows/release_image.yml +++ b/.github/workflows/release_image.yml @@ -9,20 +9,60 @@ jobs: name: 'Releasing Image 🐳' strategy: matrix: - os: - - ubuntu-latest - runs-on: ${{ matrix.os }} + config: + - { dockerfile: "Dockerfile", platforms: "linux/amd64,linux/arm64" } + runs-on: ubuntu-latest steps: - name: Check repository uses: actions/checkout@v4 + - name: Login to Container Registry uses: docker/login-action@v3 # if: github.event_name != 'pull_request' && startsWith(github.ref, 'refs/tags/') && success() with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} + + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + + # https://github.com/jlumbroso/free-disk-space/tree/54081f138730dfa15788a46383842cd2f914a1be#example + - name: Free Disk Space (Ubuntu) + uses: jlumbroso/free-disk-space@main + with: + # this might remove tools that are actually needed, + # if set to "true" but frees about 6 GB + tool-cache: false + + # all of these default to true, but feel free to set to + # "false" if necessary for your workflow + android: true + dotnet: true + haskell: true + large-packages: true + docker-images: true + swap-storage: true + + - name: Get tag name + id: tag + shell: bash + run: | + echo "TAG=${GITHUB_REF/refs\/tags\//}" >> $GITHUB_ENV + echo $TAG + + - name: Release Docker image if: github.event_name != 'pull_request' && startsWith(github.ref, 'refs/tags/') && success() - run: | - docker build -t ${{ secrets.DOCKER_REGISTRY }}/${{ secrets.IMAGE_NAME }}:${GITHUB_REF/refs\/tags\//} . - docker push ${{ secrets.DOCKER_REGISTRY }}/${{ secrets.IMAGE_NAME }}:${GITHUB_REF/refs\/tags\//} + uses: docker/build-push-action@v4 + with: + context: . + push: true + platforms: ${{ matrix.config.platforms }} + tags: "${{ secrets.DOCKER_REGISTRY }}/${{ secrets.IMAGE_NAME }}:${{ env.TAG }}" + file: ${{ matrix.config.dockerfile }} + # run: | + # docker build -t ${{ secrets.DOCKER_REGISTRY }}/${{ secrets.IMAGE_NAME }}:${GITHUB_REF/refs\/tags\//} . + # docker push ${{ secrets.DOCKER_REGISTRY }}/${{ secrets.IMAGE_NAME }}:${GITHUB_REF/refs\/tags\//}