aboutsummaryrefslogtreecommitdiff
path: root/.github/workflows/reportBrokenPlugins.yml
blob: 719eca753179311fbc0dca212579699899c4cf49 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
name: Test Patches
on:
    workflow_dispatch:
    schedule:
      # Every day at midnight
      - cron: 0 0 * * *

jobs:
    TestPlugins:
        runs-on: ubuntu-latest

        steps:
            - uses: actions/checkout@v3

            - uses: pnpm/action-setup@v2 # Install pnpm using packageManager key in package.json

            - name: Use Node.js 19
              uses: actions/setup-node@v3
              with:
                  node-version: 19
                  cache: "pnpm"

            - name: Install dependencies
              run: |
                pnpm install --frozen-lockfile
                pnpm add puppeteer

                sudo apt-get install -y chromium-browser

            - name: Build web
              run: pnpm buildWeb --standalone

            - name: Create Report
              timeout-minutes: 10
              run: |
                export PATH="$PWD/node_modules/.bin:$PATH"
                export CHROMIUM_BIN=$(which chromium-browser)

                esbuild test/generateReport.ts > dist/report.mjs
                node dist/report.mjs >> $GITHUB_STEP_SUMMARY
              env:
                DISCORD_TOKEN: ${{ secrets.DISCORD_TOKEN }}
                DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }}

            - name: Create Report (Canary)
              timeout-minutes: 10
              if: success() || failure() # even run if previous one failed
              run: |
                export PATH="$PWD/node_modules/.bin:$PATH"
                export CHROMIUM_BIN=$(which chromium-browser)
                export USE_CANARY=true

                esbuild test/generateReport.ts > dist/report.mjs
                node dist/report.mjs >> $GITHUB_STEP_SUMMARY
              env:
                DISCORD_TOKEN: ${{ secrets.DISCORD_TOKEN }}
                DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }}