From 8539317f2d65655bfe3afd834bec09662c8c57e3 Mon Sep 17 00:00:00 2001 From: shats Date: Sun, 15 Mar 2026 23:56:42 +0700 Subject: [PATCH] chore(workflows): remove deprecated docker-publish-fast workflow and enhance docker-publish with bundle size check --- .gitea/workflows/docker-publish-fast.yml | 89 ------------------------ .gitea/workflows/docker-publish.yml | 18 ++++- 2 files changed, 15 insertions(+), 92 deletions(-) delete mode 100644 .gitea/workflows/docker-publish-fast.yml diff --git a/.gitea/workflows/docker-publish-fast.yml b/.gitea/workflows/docker-publish-fast.yml deleted file mode 100644 index ddbc577..0000000 --- a/.gitea/workflows/docker-publish-fast.yml +++ /dev/null @@ -1,89 +0,0 @@ -name: Publish Fast Tabler Docker image - -on: - push: - branches: - - tabler - - v3 - - v4 - -jobs: - lint-and-test: - runs-on: ubuntu-latest - defaults: - run: - working-directory: frontend - steps: - - name: Checkout repository - uses: actions/checkout@v4 - with: - fetch-depth: 1 - - - name: Set up Node.js - uses: actions/setup-node@v4 - with: - node-version: '20' - cache: 'npm' - cache-dependency-path: frontend/package-lock.json - - - name: Install dependencies - run: npm ci - - - name: Lint - run: npm run lint - - - name: Test (frontend build) - run: npm run build - - build-and-push-fast: - runs-on: ubuntu-latest - needs: lint-and-test - timeout-minutes: 15 - steps: - - name: Checkout repository - uses: actions/checkout@v4 - with: - fetch-depth: 1 - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - with: - driver-opts: | - image=moby/buildkit:v0.13.2 - - - name: Log in to Gitea Registry - uses: docker/login-action@v3 - with: - registry: git.shts.su - username: ${{ gitea.actor }} - password: ${{ secrets.ACTIONS_PAT }} - - - name: Build and push Fast Tabler Docker image - uses: docker/build-push-action@v5 - with: - context: . - file: ./Dockerfile.fast - push: true - platforms: linux/amd64 - cache-from: | - type=registry,ref=git.shts.su/${{ gitea.repository }}:tabler-fast - cache-to: type=inline - tags: | - git.shts.su/${{ gitea.repository }}:latest - git.shts.su/${{ gitea.repository }}:tabler-fast - git.shts.su/${{ gitea.repository }}:tabler-fast-${{ gitea.sha }} - labels: | - org.opencontainers.image.title=RouterOS Manager with Tabler UI (Fast Build) - org.opencontainers.image.description=Modern RouterOS Manager with Tabler UI design - Fast Alpine build - org.opencontainers.image.version=tabler-fast - org.opencontainers.image.revision=${{ gitea.sha }} - org.opencontainers.image.created=${{ gitea.event.head_commit.timestamp }} - provenance: false - - - name: Cleanup old images - run: | - echo "Skipping container registry cleanup (inline cache in image). Keep 3 latest image tags logic can be added with regctl if needed." - - - name: Trigger container update webhook - run: | - curl -X POST -sS --fail "${{ secrets.portainer_webhook }}" \ No newline at end of file diff --git a/.gitea/workflows/docker-publish.yml b/.gitea/workflows/docker-publish.yml index 2115e24..208ee52 100644 --- a/.gitea/workflows/docker-publish.yml +++ b/.gitea/workflows/docker-publish.yml @@ -5,7 +5,9 @@ on: branches: - main - v4 - workflow_dispatch: # Ручной запуск из Gitea Actions + - tabler + - v3 + workflow_dispatch: jobs: lint-and-test: @@ -30,9 +32,19 @@ jobs: - name: Lint run: npm run lint - - name: Test (frontend build) + - name: Build run: npm run build + - name: Check bundle size + run: | + SIZE_BYTES=$(du -sb dist | cut -f1) + SIZE_MB=$(awk "BEGIN {printf \"%.2f\", $SIZE_BYTES / 1048576}") + echo "## Bundle size: ${SIZE_MB} MB" >> $GITHUB_STEP_SUMMARY + if [ "$SIZE_BYTES" -gt 5242880 ]; then + echo "::error::Bundle size (${SIZE_MB} MB) exceeds 5MB limit" + exit 1 + fi + build-and-push: runs-on: ubuntu-latest needs: lint-and-test @@ -76,4 +88,4 @@ jobs: - name: Trigger container update webhook run: | - curl -X POST -sS --fail "${{ secrets.portainer_webhook }}" \ No newline at end of file + curl -X POST -sS --fail "${{ secrets.portainer_webhook }}"