diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index a1d1a48..16de2f7 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -8,6 +8,8 @@ jobs: docs: runs-on: ubuntu-latest if: "!contains(github.event.head_commit.message, '[skip ci]')" + outputs: + new_tag: ${{ steps.tag.outputs.new_tag }} steps: - name: Checkout uses: actions/checkout@v4 @@ -31,14 +33,13 @@ jobs: git add generated/ if git diff --cached --quiet; then echo "ARCHITECTURE.md не изменился, пропуск" - echo "CHANGED=false" >> $GITHUB_ENV else git commit -m "docs: обновить ARCHITECTURE.md [skip ci]" git push origin main - echo "CHANGED=true" >> $GITHUB_ENV fi - name: Автоматический тег (semver patch) + id: tag run: | LAST_TAG=$(git tag -l 'v*' --sort=-v:refname | head -1) if [ -z "$LAST_TAG" ]; then @@ -51,7 +52,7 @@ jobs: fi git tag "$NEW_TAG" git push origin "$NEW_TAG" - echo "NEW_TAG=$NEW_TAG" >> $GITHUB_ENV + echo "new_tag=$NEW_TAG" >> $GITHUB_OUTPUT echo "Создан тег: $NEW_TAG" docker: @@ -90,6 +91,7 @@ jobs: type=ref,event=branch type=sha,prefix= type=raw,value=latest,enable={{is_default_branch}} + type=raw,value=${{ needs.docs.outputs.new_tag }} - name: Build and push uses: docker/build-push-action@v5 @@ -100,6 +102,8 @@ jobs: push: true tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} + build-args: | + VERSION_TAG=${{ needs.docs.outputs.new_tag }} provenance: false sbom: false @@ -148,7 +152,7 @@ jobs: docker rmi "$OLD_IMAGE_ID" 2>/dev/null || true fi - # Очистка: dangling-образы, неиспользуемые volumes, build-кеш + # Очистка docker image prune -af --filter "label=org.opencontainers.image.title=$CONTAINER" docker image prune -f docker builder prune -f 2>/dev/null || true diff --git a/Dockerfile b/Dockerfile index 8577c52..7aff2dc 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,9 +1,11 @@ FROM node:24-alpine AS build +ARG VERSION_TAG=main WORKDIR /app COPY package*.json ./ RUN npm ci COPY . . -RUN npm run build +RUN sed -i "s|raw/branch/main/generated|raw/tag/${VERSION_TAG}/generated|" docs/ru/index.md \ + && npm run build FROM caddy:2-alpine COPY Caddyfile /etc/caddy/Caddyfile