name: deploy on: push: branches: [ main ] jobs: deploy-pages: name: deploy/pages runs-on: ubuntu-latest permissions: contents: write if: ${{ github.event_name == 'push' }} steps: - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 with: { persist-credentials: false } - name: Use Node.js from nvmrc uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0 with: node-version-file: '.nvmrc' - name: Install run: npm ci - name: Build run: npm run build - name: Upload to GitHub Pages uses: peaceiris/actions-gh-pages@4f9cc6602d3f66b9c108549d475ec49e8ef4d45e # v4.0.0 with: github_token: ${{ secrets.GITHUB_TOKEN }} publish_dir: dist # publish docker to GitHub registry deploy-docker: name: deploy/docker runs-on: ubuntu-latest if: ${{ github.event_name == 'push' }} permissions: contents: read packages: write strategy: fail-fast: false steps: - name: Login to GitHub Container Registry uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0 with: registry: ghcr.io username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 - run: docker build -t ghcr.io/maplibre/maputnik:main . - run: docker push ghcr.io/maplibre/maputnik:main