Files
router-lists-ui/.gitea/workflows/docker-publish-fast.yml
T
Workflow config file is invalid. Please check your config file: read workflow: yaml: unmarshal errors: line 39: mapping key "runs-on" already defined at line 37

88 lines
2.5 KiB
YAML

name: Publish Fast Tabler Docker image
on:
push:
branches:
- tabler
- v3
- v4
jobs:
lint-and-test:
runs-on: ubuntu-latest
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'
- name: Install dependencies
run: |
npm ci
cd frontend && npm ci
- name: Lint
run: npm run lint
- name: Test (frontend build)
run: npm run test
build-and-push-fast:
runs-on: ubuntu-latest
needs: lint-and-test
runs-on: ubuntu-latest
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 }}"