diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index bfc58665..1b904ff5 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -37,18 +37,18 @@ jobs: sudo chown -R $UID build make package-zip ls -lath build - - if: startsWith(github.ref, 'refs/tags/v') + - if: startsWith(github.ref, 'refs/tags/v') || startsWith(github.ref, 'refs/heads/master') name: Set up Docker Buildx uses: docker/setup-buildx-action@v4 - - if: startsWith(github.ref, 'refs/tags/v') + - if: startsWith(github.ref, 'refs/tags/v') || startsWith(github.ref, 'refs/heads/master') name: Set up QEMU uses: docker/setup-qemu-action@v4 - - if: startsWith(github.ref, 'refs/tags/v') + - if: startsWith(github.ref, 'refs/tags/v') || startsWith(github.ref, 'refs/heads/master') uses: docker/login-action@v4 with: username: ${{ secrets.DOCKER_USER }} password: ${{ secrets.DOCKER_PASS }} - - if: startsWith(github.ref, 'refs/tags/v') + - if: startsWith(github.ref, 'refs/tags/v') || startsWith(github.ref, 'refs/heads/master') uses: docker/login-action@v4 with: registry: ghcr.io @@ -57,6 +57,9 @@ jobs: - if: startsWith(github.ref, 'refs/tags/v') run: | make DOCKER_BUILD_PUSH=true build-docker + - if: startsWith(github.ref, 'refs/heads/master') + run: | + make DOCKER_BUILD_PUSH=true build-docker-multiarch-master - if: startsWith(github.ref, 'refs/tags/v') uses: svenstaro/upload-release-action@v2 with: diff --git a/Makefile b/Makefile index 30542ad4..02410123 100644 --- a/Makefile +++ b/Makefile @@ -107,6 +107,20 @@ build-docker-multiarch: require-version --platform linux/amd64,linux/arm64,linux/386,linux/arm/v7,linux/riscv64 \ -f docker/Dockerfile . +build-docker-multiarch-master: + docker buildx build --sbom=true --provenance=true \ + $(if $(DOCKER_BUILD_PUSH),--push) \ + --label org.opencontainers.image.revision=$(shell git rev-parse HEAD) \ + --label org.opencontainers.image.version=$(shell git describe --tags) \ + --label org.opencontainers.image.created=$(shell date -u +%Y-%m-%dT%H:%M:%SZ) \ + -t gotify/server:master \ + -t ghcr.io/gotify/server:master \ + --build-arg RUN_TESTS=$(DOCKER_TEST_LEVEL) \ + --build-arg GO_VERSION=$(GO_VERSION) \ + --build-arg LD_FLAGS="-w -s -X main.Version=$(shell git describe --tags) -X main.BuildDate=$(shell date "+%F-%T") -X main.Commit=$(shell git rev-parse --verify HEAD) -X main.Mode=prod" \ + --platform linux/amd64,linux/arm64,linux/386,linux/arm/v7,linux/riscv64 \ + -f docker/Dockerfile . + build-docker: build-docker-multiarch _build_within_docker: OUTPUT = gotify-app