Merge branch 'dev' into yuhsuan/react_18_upgrade #3322
Workflow file for this run
This file contains 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: CI | |
on: [push] | |
jobs: | |
format-check: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: 20 | |
cache: 'npm' | |
- run: npm install | |
- run: npm run checkformat | |
doc-format-check: | |
runs-on: ubuntu-latest | |
defaults: | |
run: | |
working-directory: ./docs_website | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: 20 | |
cache: npm | |
- run: npm ci | |
- run: npm run checkformat | |
test-doc: | |
name: Test deployment of the documentation website | |
runs-on: ubuntu-latest | |
defaults: | |
run: | |
working-directory: ./docs_website | |
needs: doc-format-check | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: 20 | |
cache: npm | |
- name: Install dependencies | |
run: npm ci | |
- name: Test build website | |
run: npm run build | |
node-v18: | |
runs-on: [self-hosted, Linux, X64, Docker] | |
needs: format-check | |
container: | |
image: carta/frontend-builder | |
options: --security-opt seccomp=unconfined | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- name: Fix ownership | |
run: | | |
chown -R $(id -u):$(id -g) $PWD | |
- name: Build libs | |
shell: bash | |
run: | | |
source /emsdk/emsdk_env.sh | |
./wasm_libs/build_libs.sh | |
- name: npm install with node 18 | |
shell: bash | |
run: | | |
n 18 | |
n exec 18 node -v | |
n exec 18 npm install | |
- name: Production build with node 18 | |
shell: bash | |
run: | | |
source /emsdk/emsdk_env.sh | |
n exec 18 npm run build | |
- name: Run unit tests | |
shell: bash | |
run: n exec 18 npm test | |
node-v20: | |
runs-on: [self-hosted, Linux, X64, Docker] | |
needs: format-check | |
container: | |
image: carta/frontend-builder | |
options: --security-opt seccomp=unconfined | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- name: Fix ownership | |
run: | | |
chown -R $(id -u):$(id -g) $PWD | |
- name: Build libs | |
shell: bash | |
run: | | |
source /emsdk/emsdk_env.sh | |
./wasm_libs/build_libs.sh | |
- name: npm install with node 20 | |
shell: bash | |
run: | | |
n 20 | |
n exec 20 node -v | |
n exec 20 npm install | |
- name: Production build with node 20 | |
shell: bash | |
run: | | |
source /emsdk/emsdk_env.sh | |
n exec 20 npm run build | |
- name: Run unit tests | |
shell: bash | |
run: n exec 20 npm test | |
Notify: | |
name: Send notifications | |
runs-on: ubuntu-latest | |
needs: [format-check, node-v18, node-v20] | |
if: always() | |
steps: | |
- name: Notify Slack | |
uses: baijunyao/[email protected] | |
if: ${{ github.event_name == 'push' }} | |
with: | |
slack_channel_id: actions-build-status | |
slack_bot_token: ${{ secrets.SLACK_BOT_TOKEN }} | |
github_context: ${{ toJson(github) }} |