diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml new file mode 100644 index 0000000..f4cf3c5 --- /dev/null +++ b/.github/workflows/docker.yml @@ -0,0 +1,43 @@ +name: Build and push Docker image + +on: + release: + types: [ published ] + +jobs: + setup-build-push: + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + ref: ${{ github.event.release.tag_name }} + + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Login to Docker Hub + uses: docker/login-action@v3 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + + - name: Setup building file structure + run: | + cp -lr $GITHUB_WORKSPACE/src/ $GITHUB_WORKSPACE/docker/ + + - name: Build and push Docker image + uses: docker/build-push-action@v6 + with: + context: ./docker + push: true + platforms: linux/amd64,linux/arm64 + tags: | + zoraxydocker/zoraxy:latest + zoraxydocker/zoraxy:${{ github.event.release.tag_name }} + cache-from: type=gha + cache-to: type=gha,mode=max + diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml deleted file mode 100644 index 9f84230..0000000 --- a/.github/workflows/main.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: Image Publisher - -on: - release: - types: [ published ] - -jobs: - setup-build-push: - runs-on: ubuntu-latest - steps: - - name: Checkout code - uses: actions/checkout@v4 - with: - ref: ${{ github.event.release.tag_name }} - - - name: Set up QEMU - uses: docker/setup-qemu-action@v3 - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - - - name: Login to Docker & GHCR - run: | - echo "${{ secrets.DOCKER_PASSWORD }}" | docker login -u "${{ secrets.DOCKER_USERNAME }}" --password-stdin - - - name: Setup building file structure - run: | - cp -r $GITHUB_WORKSPACE/src/ $GITHUB_WORKSPACE/docker/ - - - name: Build the image - run: | - cd $GITHUB_WORKSPACE/docker/ - docker buildx create --name mainbuilder --driver docker-container --platform linux/amd64,linux/arm64 --use - - docker buildx build --push \ - --provenance=false \ - --platform linux/amd64,linux/arm64 \ - --tag zoraxydocker/zoraxy:${{ github.event.release.tag_name }} \ - --tag zoraxydocker/zoraxy:latest \ - .