chore(update): patch release 5.10.4 🐛 #167
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: 🚀 Publish to NPM | |
| on: | |
| push: | |
| tags: | |
| - 'v*' | |
| permissions: | |
| id-token: write # Required for OIDC | |
| contents: read | |
| jobs: | |
| npm_publish: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 5 | |
| name: 🚀 Publish to NPM | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: 📦 Enable Corepack | |
| run: corepack enable | |
| - name: 🔧 Use Node.js | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: 26 | |
| registry-url: 'https://registry.npmjs.org' | |
| cache: 'yarn' | |
| - name: 📦 Install dependencies | |
| # Use immutable install on CI to prevent accidental lockfile changes | |
| run: yarn install --immutable | |
| - name: 🏗️ Build app | |
| run: yarn build | |
| - name: 🧪 Tests | |
| run: yarn test:coverage | |
| - name: 📊 Upload coverage to Codecov | |
| uses: codecov/codecov-action@v6 | |
| with: | |
| token: ${{ secrets.CODECOV_TOKEN }} | |
| fail_ci_if_error: true | |
| - name: 🚀 Publish NPM | |
| if: startsWith(github.ref, 'refs/tags/v') && contains(github.ref, 'next') == false | |
| run: cd dist && npm publish --access public | |
| - name: 🚀 Publish NPM (NEXT) | |
| if: startsWith(github.ref, 'refs/tags/v') && contains(github.ref, 'next') == true | |
| run: cd dist && npm publish --access public --tag next | |
| docker_publish: | |
| name: 🐳 Docker Multi-Arch Build | |
| needs: npm_publish | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: 📥 Checkout code | |
| uses: actions/checkout@v6 | |
| - name: 🏷️ Docker Metadata extraction | |
| id: meta | |
| uses: docker/metadata-action@v6 | |
| with: | |
| images: ${{ github.repository_owner }}/${{ github.event.repository.name }} | |
| tags: | | |
| type=semver,pattern={{version}} | |
| type=raw,value=latest,enable=${{ !contains(github.ref, 'next') }} | |
| type=raw,value=next,enable=${{ contains(github.ref, 'next') }} | |
| - name: 🏗️ Setup QEMU (for ARM support) | |
| uses: docker/setup-qemu-action@v4 | |
| - name: 🛠️ Setup Docker Buildx | |
| uses: docker/setup-buildx-action@v4 | |
| - name: 🔑 Login to Docker Hub | |
| uses: docker/login-action@v4 | |
| with: | |
| username: ${{ github.repository_owner }} # Assuming Docker Hub username is same as GitHub username | |
| password: ${{ secrets.DOCKERHUB_TOKEN }} | |
| - name: 📦 Build and Push to Docker Hub | |
| uses: docker/build-push-action@v7 | |
| with: | |
| context: . | |
| push: true | |
| platforms: linux/amd64,linux/arm64 | |
| tags: ${{ steps.meta.outputs.tags }} | |
| labels: ${{ steps.meta.outputs.labels }} | |
| cache-from: type=gha | |
| cache-to: type=gha,mode=max |