Yuhsuan/2064 e2e testid (#2356) #3016
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@v3 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: '16' | |
cache: 'npm' | |
- run: npm install --legacy-peer-deps | |
- run: npm run checkformat | |
doc-format-check: | |
runs-on: ubuntu-latest | |
defaults: | |
run: | |
working-directory: ./docs_website | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: 18 | |
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@v3 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: 18 | |
cache: npm | |
- name: Install dependencies | |
run: npm ci | |
- name: Test build website | |
run: npm run build | |
node-v16: | |
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@v3 | |
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 16 | |
shell: bash | |
run: | | |
n 16 | |
n exec 16 node -v | |
n exec 16 npm install --legacy-peer-deps | |
- name: Production build with node 16 | |
shell: bash | |
run: | | |
source /emsdk/emsdk_env.sh | |
n exec 16 npm run build | |
- name: Run unit tests | |
shell: bash | |
run: n exec 16 npm test | |
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@v3 | |
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 --legacy-peer-deps | |
- 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 | |
Notify: | |
name: Send notifications | |
runs-on: ubuntu-latest | |
needs: [format-check, node-v16, node-v18] | |
if: always() | |
steps: | |
- name: Notify Slack | |
uses: baijunyao/action-slack-notify@v3.1.0 | |
if: ${{ github.event_name == 'push' }} | |
with: | |
slack_channel_id: actions-build-status | |
slack_bot_token: ${{ secrets.SLACK_BOT_TOKEN }} | |
github_context: ${{ toJson(github) }} |