docs(wasm): add information for web bundlers #2915
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: AWS WASM Tests on CPU | |
env: | |
CARGO_TERM_COLOR: always | |
ACTION_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} | |
RUSTFLAGS: "-C target-cpu=native" | |
RUST_BACKTRACE: "full" | |
RUST_MIN_STACK: "8388608" | |
SLACK_CHANNEL: ${{ secrets.SLACK_CHANNEL }} | |
SLACK_ICON: https://pbs.twimg.com/profile_images/1274014582265298945/OjBKP9kn_400x400.png | |
SLACK_USERNAME: ${{ secrets.BOT_USERNAME }} | |
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }} | |
on: | |
# Allows you to run this workflow manually from the Actions tab as an alternative. | |
workflow_dispatch: | |
pull_request: | |
types: [ labeled ] | |
jobs: | |
setup-instance: | |
name: Setup instance (wasm-tests) | |
if: ${{ github.event_name == 'workflow_dispatch' || contains(github.event.label.name, 'approved') }} | |
runs-on: ubuntu-latest | |
outputs: | |
runner-name: ${{ steps.start-instance.outputs.label }} | |
steps: | |
- name: Start instance | |
id: start-instance | |
uses: zama-ai/slab-github-runner@98f0788261a7323d5d695a883e20df36591a92b7 | |
with: | |
mode: start | |
github-token: ${{ secrets.SLAB_ACTION_TOKEN }} | |
slab-url: ${{ secrets.SLAB_BASE_URL }} | |
job-secret: ${{ secrets.JOB_SECRET }} | |
backend: aws | |
profile: cpu-small | |
wasm-tests: | |
name: WASM tests | |
needs: setup-instance | |
concurrency: | |
group: ${{ github.workflow }}_${{ github.ref }} | |
cancel-in-progress: true | |
runs-on: ${{ needs.setup-instance.outputs.runner-name }} | |
steps: | |
- name: Checkout tfhe-rs | |
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 | |
with: | |
persist-credentials: 'false' | |
token: ${{ secrets.FHE_ACTIONS_TOKEN }} | |
- name: Install latest stable | |
uses: dtolnay/rust-toolchain@315e265cd78dad1e1dcf3a5074f6d6c47029d5aa | |
with: | |
toolchain: stable | |
- name: Get Node version | |
run: | | |
echo "NODE_VERSION=$(make node_version)" >> "${GITHUB_ENV}" | |
- name: Node cache restoration | |
id: node-cache | |
uses: actions/cache/restore@6849a6489940f00c2f30c0fb92c6274307ccb58a #v4.1.2 | |
with: | |
path: | | |
~/.nvm | |
~/.npm | |
key: node-${{ env.NODE_VERSION }} | |
- name: Install Node | |
if: steps.node-cache.outputs.cache-hit != 'true' | |
run: | | |
make install_node | |
- name: Node cache save | |
uses: actions/cache/save@6849a6489940f00c2f30c0fb92c6274307ccb58a #v4.1.2 | |
if: steps.node-cache.outputs.cache-hit != 'true' | |
with: | |
path: | | |
~/.nvm | |
~/.npm | |
key: node-${{ env.NODE_VERSION }} | |
- name: Install web resources | |
run: | | |
make install_chrome_browser | |
make install_chrome_web_driver | |
- name: Run fmt checks | |
run: | | |
make check_fmt_js | |
- name: Run js on wasm API tests | |
run: | | |
make test_nodejs_wasm_api_ci | |
- name: Run parallel wasm tests | |
run: | | |
make test_web_js_api_parallel_chrome_ci | |
- name: Run x86_64/wasm zk compatibility tests | |
run: | | |
make test_zk_wasm_x86_compat_ci | |
- name: Slack Notification | |
if: ${{ failure() }} | |
continue-on-error: true | |
uses: rtCamp/action-slack-notify@c33737706dea87cd7784c687dadc9adf1be59990 | |
env: | |
SLACK_COLOR: ${{ job.status }} | |
SLACK_MESSAGE: "WASM tests finished with status: ${{ job.status }}. (${{ env.ACTION_RUN_URL }})" | |
teardown-instance: | |
name: Teardown instance (wasm-tests) | |
if: ${{ always() && needs.setup-instance.result != 'skipped' }} | |
needs: [ setup-instance, wasm-tests ] | |
runs-on: ubuntu-latest | |
steps: | |
- name: Stop instance | |
id: stop-instance | |
uses: zama-ai/slab-github-runner@98f0788261a7323d5d695a883e20df36591a92b7 | |
with: | |
mode: stop | |
github-token: ${{ secrets.SLAB_ACTION_TOKEN }} | |
slab-url: ${{ secrets.SLAB_BASE_URL }} | |
job-secret: ${{ secrets.JOB_SECRET }} | |
label: ${{ needs.setup-instance.outputs.runner-name }} | |
- name: Slack Notification | |
if: ${{ failure() }} | |
continue-on-error: true | |
uses: rtCamp/action-slack-notify@c33737706dea87cd7784c687dadc9adf1be59990 | |
env: | |
SLACK_COLOR: ${{ job.status }} | |
SLACK_MESSAGE: "Instance teardown (wasm-tests) finished with status: ${{ job.status }}. (${{ env.ACTION_RUN_URL }})" |