Game #382
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: Continuous integration | |
| jobs: | |
| # Stage 1: bun, dependency-review, devskim, install | |
| # bun: | |
| # name: bun | |
| # runs-on: ubuntu-latest | |
| # steps: | |
| # - name: Checkout repo | |
| # uses: actions/checkout@v4 | |
| # - name: Install bun | |
| # uses: oven-sh/setup-bun@v1 | |
| # - name: Install dependencies | |
| # run: bun install | |
| # - name: Build | |
| # run: bun run build | |
| # - name: Test | |
| # run: bun run test | |
| # dependency-review: | |
| # name: Dependency review | |
| # runs-on: ubuntu-latest | |
| # permissions: | |
| # pull-requests: write | |
| # steps: | |
| # - name: Checkout repository | |
| # uses: actions/checkout@v4 | |
| # - name: Review dependencies | |
| # uses: actions/dependency-review-action@v2 | |
| devskim: | |
| name: DevSkim | |
| runs-on: ubuntu-latest | |
| permissions: | |
| actions: read | |
| contents: read | |
| security-events: write | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Scan | |
| uses: microsoft/devskim-action@v1 | |
| with: | |
| options-json: config/devskim.json | |
| - name: Upload SARIF | |
| uses: github/codeql-action/upload-sarif@v2 | |
| with: | |
| sarif_file: devskim-results.sarif | |
| wait-for-processing: true | |
| install: | |
| name: Install | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Setup Node | |
| uses: actions/setup-node@v4 | |
| with: | |
| cache: npm | |
| node-version: latest | |
| - name: Install dependencies | |
| run: npm install --legacy-peer-deps | |
| # Stage 2: build | |
| build: | |
| name: Build | |
| needs: install | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Setup Node | |
| uses: actions/setup-node@v4 | |
| with: | |
| cache: npm | |
| node-version: latest | |
| - name: Install dependencies | |
| run: npm install --legacy-peer-deps | |
| - name: Build | |
| run: npm run-script build | |
| env: | |
| CLARITY_TAG: ln18ya61ca | |
| CLOUD_ACCOUNT_ID: quisido | |
| CLOUD_PLATFORM: GitHub | |
| CLOUD_PROVIDER: GitHub Pages | |
| CSP_ORIGIN: https://localhost:6586 | |
| DASHBOARD_ENDPOINT: https://localhost:9778/ | |
| DD_API_KEY: ${{ secrets.DATADOG_API_KEY }} | |
| DD_APPLICATION_ID: 3e55f7ef-a00a-41ab-9857-baf7ad00daa1 | |
| DD_CLIENT_TOKEN: pubee0abcc4e08cef309eda284ba1d44e32 | |
| DD_ENV: staging | |
| DD_PROFILING_ENABLED: true | |
| DD_SERVICE: quisi.do-(staging) | |
| DD_VERSION: ${{ github.sha }} | |
| DEPLOYMENT_ENVIRONMENT: integration | |
| GITHUB_REPOSITORY: ${{ github.repository }} | |
| GITHUB_SHA: ${{ github.sha }} | |
| GOOGLE_ANALYTICS_TRACKING_ID: G-GMKFW5ZZ9G | |
| HONEYCOMB_API_KEY: hcaik_01hwsd84kyjjrwjgg4kqbzzvp2 | |
| PATREON_OAUTH_CLIENT_ID: 4kCae2AHZdKyyuonaPzhGillxJ2HyyLQEDu8StvMtixBHmWmN4KVG0QVP6R45tjG | |
| PATREON_OAUTH_REDIRECT_URI: https://localhost:5882/patreon/ | |
| SENTRY_ENVIRONMENT: staging | |
| WHOAMI: https://localhost:5882/whoami/ | |
| - name: Upload artifacts | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: build | |
| path: packages/*/dist/ | |
| lighthouse: | |
| name: Lighthouse | |
| needs: build | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Download artifacts | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: build | |
| path: packages/ | |
| - name: Setup Node | |
| uses: actions/setup-node@v4 | |
| with: | |
| cache: npm | |
| node-version: latest | |
| - name: Install dependencies | |
| run: npm install --legacy-peer-deps | |
| - name: Audit | |
| run: npm run-script lighthouse:report --workspace=packages/vite | |
| - name: Validate | |
| run: npm run-script postlighthouse --workspace=packages/vite | |
| - name: Upload report | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: lighthouse | |
| path: | | |
| packages/*/lighthouse.report.* | |
| packages/*/lighthouse-*.devtoolslog.json | |
| packages/*/lighthouse-*.trace.json | |
| test: | |
| name: Test | |
| needs: build | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Download artifacts | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: build | |
| path: packages/ | |
| - name: Setup Node | |
| uses: actions/setup-node@v4 | |
| with: | |
| cache: npm | |
| node-version: latest | |
| - name: Install dependencies | |
| run: npm install --legacy-peer-deps | |
| - name: Test | |
| run: npm run-script test --include-workspace-root --workspaces | |
| env: | |
| CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_EDIT_WORKERS_API_TOKEN }} | |
| DD_API_KEY: ${{ secrets.DATADOG_API_KEY }} | |
| DD_CIVISIBILITY_AGENTLESS_ENABLED: true | |
| DD_ENV: ci | |
| DD_SERVICE: quisi.do | |
| # This requires some more setup to work. Configure the test step to upload report artifacts. | |
| # Then add this to the CD file. | |
| sentry-prevent: | |
| name: Sentry Prevent | |
| needs: test | |
| runs-on: ubuntu-latest | |
| permissions: | |
| id-token: write | |
| steps: | |
| - name: Download artifacts | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: test | |
| path: packages/*/ | |
| - name: Upload test results | |
| if: ${{ !cancelled() }} | |
| uses: getsentry/prevent-action@v0 | |
| # Stage 4: coverage | |
| # coverage: | |
| # name: Coverage | |
| # needs: [test] # cypress | |
| # runs-on: ubuntu-latest | |
| # steps: | |
| # - name: Checkout repository | |
| # uses: actions/checkout@v4 | |
| # - name: Download Cypress artifacts | |
| # uses: actions/download-artifact@v4 | |
| # with: | |
| # name: cypress | |
| # path: packages/ | |
| # - name: Download test artifacts | |
| # uses: actions/download-artifact@v4 | |
| # with: | |
| # name: test | |
| # path: / | |
| # - name: Setup Node | |
| # uses: actions/setup-node@v4 | |
| # with: | |
| # cache: npm | |
| # node-version: latest | |
| # - name: Install dependencies | |
| # run: npm install --legacy-peer-deps | |
| # - name: Report coverage | |
| # run: npm run-script coverage --workspace=packages/vite | |
| # env: | |
| # BRANCHES_COVERAGE_THRESHOLD: 1 | |
| # FUNCTIONS_COVERAGE_THRESHOLD: 1 | |
| # LINES_COVERAGE_THRESHOLD: 1 | |
| # STATEMENTS_COVERAGE_THRESHOLD: 1 | |
| # - name: Upload coverage | |
| # if: always() | |
| # uses: actions/upload-artifact@v4 | |
| # with: | |
| # name: coverage | |
| # path: | | |
| # packages/*/.nyc_output/ | |
| # packages/*/coverage/ | |
| on: | |
| pull_request: |