Skip to content

Commit

Permalink
Add smoke test for production build
Browse files Browse the repository at this point in the history
Currently we don't seem to have any automated test that verifies whether
the production build works as expected.

For a recent issue and its root cause, which remained unrevealed by the
CI, see
eclipse-theia#12962

Contributed on behalf of STMicroelectronics

Change-Id: Ia2fdb54873344e5d0da12522441a649b6b90bdac
  • Loading branch information
planger committed Sep 30, 2023
1 parent bb7cdbb commit f0a4571
Show file tree
Hide file tree
Showing 2 changed files with 56 additions and 0 deletions.
54 changes: 54 additions & 0 deletions .github/workflows/production-smoke-test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
name: Production Build Smoke Test

on:
push:
branches:
- master
workflow_dispatch:
pull_request:
branches:
- master
schedule:
- cron: "0 5 * * *" # Runs every day at 5am: https://docs.github.com/en/actions/reference/events-that-trigger-workflows#scheduled-events-schedule

jobs:
build-and-test-playwright:
name: Smoke Test for Browser Example Production Build on ubuntu-latest with Node.js 18.x

runs-on: ubuntu-latest
timeout-minutes: 60

steps:
- name: Checkout
uses: actions/checkout@v3

- name: Use Node.js "18.x"
uses: actions/setup-node@v3
with:
node-version: "18.x"
registry-url: "https://registry.npmjs.org"

- name: Use Python 3.x
uses: actions/setup-python@v4
with:
python-version: "3.x"

- name: Build Browser Example Application for Production
shell: bash
run: |
yarn global add node-gyp
yarn --skip-integrity-check --network-timeout 100000
yarn browser build:production
env:
NODE_OPTIONS: --max_old_space_size=4096
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # https://github.com/microsoft/vscode-ripgrep/issues/9

- name: Build Playwright
shell: bash
run: |
yarn --cwd examples/playwright build
- name: Run Smoke Test (examples/playwright/src/tests/theia-app)
uses: GabrielBB/xvfb-action@v1
with:
run: yarn test:playwright theia-app
2 changes: 2 additions & 0 deletions examples/browser/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,9 @@
"scripts": {
"clean": "theia clean",
"build": "yarn -s compile && yarn -s bundle",
"build:production": "yarn -s compile && yarn -s bundle:production",
"bundle": "yarn rebuild && theia build --mode development",
"bundle:production": "yarn rebuild && theia build --mode production",
"compile": "tsc -b",
"coverage": "yarn -s test --test-coverage && yarn -s coverage:report",
"coverage:clean": "rimraf .nyc_output && rimraf coverage",
Expand Down

0 comments on commit f0a4571

Please sign in to comment.