diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml index de559e79..d38862fa 100644 --- a/.github/workflows/docker-publish.yml +++ b/.github/workflows/docker-publish.yml @@ -28,9 +28,6 @@ jobs: packages: write steps: - - name: Checkout repository - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 - - name: Set up Docker Buildx uses: docker/setup-buildx-action@d70bba72b1f3fd22344832f00baa16ece964efeb # v3.3.0 with: @@ -57,10 +54,11 @@ jobs: - name: Build and push Docker image uses: docker/build-push-action@2cdde995de11925a030ce8070c3d77a52ffcf1c0 # v5.3.0 with: - context: . push: ${{ github.event_name != 'pull_request' }} platforms: linux/amd64,linux/arm64 tags: ${{ steps.metadata.outputs.tags }} labels: ${{ steps.metadata.outputs.labels }} + build-args: | + BUILDKIT_CONTEXT_KEEP_GIT_DIR=1 cache-from: type=gha cache-to: type=gha,mode=max diff --git a/Dockerfile b/Dockerfile index 73bbca03..5698e4e3 100644 --- a/Dockerfile +++ b/Dockerfile @@ -20,6 +20,9 @@ COPY --link ./package*.json ./ RUN --mount=type=cache,id=npm-$TARGETPLATFORM,target=/.npm \ npm ci COPY --link ./src/ ./src/ +RUN --mount=type=bind,source=./.git/,target=./.git/ \ + GIT_DERIVED_VERSION=$(git describe --tags)$(git diff --quiet HEAD -- ./src/ || echo ' - changed') \ + && npm pkg set "version=${GIT_DERIVED_VERSION#v}" RUN npm run build FROM --platform=$BUILDPLATFORM node:20.14.0-bookworm@sha256:ab71b9da5ba19445dc5bb76bf99c218941db2c4d70ff4de4e0d9ec90920bfe3f AS dictionary