Skip to content

Merge branch 'dev' into yuhsuan/react_18_upgrade #3322

Merge branch 'dev' into yuhsuan/react_18_upgrade

Merge branch 'dev' into yuhsuan/react_18_upgrade #3322

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) }}