name: Verdaccio Website CI on: workflow_dispatch: permissions: contents: read # to fetch code (actions/checkout) concurrency: group: website-${{ github.ref }} cancel-in-progress: true jobs: build: permissions: contents: read # to fetch code (actions/checkout) deployments: write pull-requests: write # to comment on pull-requests runs-on: ubuntu-latest if: github.repository == 'verdaccio/verdaccio' name: setup verdaccio services: verdaccio: image: verdaccio/verdaccio:6 ports: - 4873:4873 env: NODE_ENV: production env: NODE_OPTIONS: --max_old_space_size=4096 steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - name: Build application with Node 20 uses: ./.github/actions/build-app with: node-version: 20 - name: Build Translations percentage run: pnpm --filter @verdaccio/crowdin-translations build - name: Cache Docusaurus Build uses: actions/cache@6849a6489940f00c2f30c0fb92c6274307ccb58a # v4.0.2 with: path: website/node_modules/.cache/webpack key: cache/webpack-${{github.ref}}-${{ hashFiles('**/pnpm-lock.yaml') }} restore-keys: cache/webpack-${{github.ref}} - name: Build Production if: (github.event_name == 'push' && github.ref == 'refs/heads/master') || github.event_name == 'workflow_dispatch' env: CROWDIN_VERDACCIO_API_KEY: ${{ secrets.CROWDIN_VERDACCIO_API_KEY }} SENTRY_KEY: ${{ secrets.SENTRY_KEY }} CONTEXT: production run: pnpm --filter @verdaccio/website netlify:build - name: Deploy to Netlify if: (github.event_name == 'push' && github.ref == 'refs/heads/master') || github.event_name == 'workflow_dispatch' env: NETLIFY_SITE_ID: ${{ secrets.NETLIFY_SITE_ID }} NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }} run: pnpm --filter ...@verdaccio/website netlify:deploy