name: Build and push on: push: branches: [main] pull_request: branches: [main] workflow_dispatch: jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: '26' - name: Enable Corepack run: corepack enable - name: Install dependencies run: yarn install --immutable - name: Lint run: yarn lint - name: Test run: yarn test - uses: docker/setup-buildx-action@v3 - name: Login to Gitea registry uses: docker/login-action@v3 with: registry: docker.allmy.work username: ${{ gitea.actor }} password: ${{ secrets.REGISTRY_TOKEN }} - name: Build and push uses: docker/build-push-action@v6 with: context: . push: ${{ gitea.event_name != 'pull_request' }} build-args: | PB_PUBLIC_URL=${{ vars.PB_PUBLIC_URL }} tags: | docker.allmy.work/${{ gitea.repository }}:latest docker.allmy.work/${{ gitea.repository }}:${{ gitea.sha }} cache-from: type=registry,ref=docker.allmy.work/${{ gitea.repository }}:buildcache cache-to: type=registry,ref=docker.allmy.work/${{ gitea.repository }}:buildcache,mode=max