penpot/.github/workflows/tests-exporter.yml
Alejandro Alonso 1ebb4f3866
🔧 Fail CI when render-wasm JS glue exports invoke_*V (#12243)
* 🔧 Fail CI when render-wasm JS glue exports invoke_*V

Add check-no-invoke-v (path from _build_env) and run it in CI: WASM
after a production frontend build so JS longjmp + SIMD ABI
regressions are caught in the pipeline.

* 🐛 Fail closed in render-wasm invoke_* glue check

* 🔧 Check exporter wasm glue for any invoke_* wrapper

---------

Co-authored-by: Elena Torro <elenatorro@gmail.com>
2026-10-14 10:15:53 +02:00

69 lines
1.4 KiB
YAML

name: "CI: Exporter"
defaults:
run:
shell: bash
on:
pull_request:
paths:
- 'exporter/**'
- 'common/**'
- 'render-wasm/**'
types:
- opened
- synchronize
- ready_for_review
push:
branches:
- develop
- staging
paths:
- 'exporter/**'
- 'common/**'
- 'render-wasm/**'
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
permissions:
contents: read
jobs:
test-exporter:
if: ${{ !github.event.pull_request.draft }}
name: "Exporter Tests"
runs-on: penpot-extended-runner
container:
image: penpotapp/devenv:latest
volumes:
- /var/cache/github-runner/m2:/root/.m2
- /var/cache/github-runner/gitlib:/root/.gitlibs
steps:
- name: Checkout repository
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Lint
working-directory: ./exporter
run: |
pnpm install;
pnpm run check-fmt:clj
pnpm run lint:clj
- name: Tests
working-directory: ./exporter
run: |
./scripts/test
- name: Check no invoke_* in exporter JS glue
working-directory: ./render-wasm
run: |
./check-no-invoke-v export