swc/.github/workflows/integration.yml

81 lines
2.7 KiB
YAML
Raw Normal View History

name: Integration tests
on: [push, pull_request]
env:
CARGO_INCREMENTAL: 0
CI: "1"
jobs:
integration-test:
name: test
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
with:
node-version: 14
- name: Cache
uses: actions/cache@v2
with:
path: |
~/.cargo/
**/target/
key: ${{ runner.os }}-cargo-integration
2020-08-30 09:29:42 +03:00
- name: Set platform name
run: |
export NODE_PLATFORM_NAME=$(node -e "console.log(require('os').platform())")
echo "PLATFORM_NAME=$NODE_PLATFORM_NAME" >> $GITHUB_ENV
2020-08-30 09:29:42 +03:00
shell: bash
- name: Prepare
run: |
npm config set prefix ~/npm
npm i
export PATH="$PATH:$HOME/npm/bin"
2020-08-30 09:29:42 +03:00
npm run build:dev
npm i -g @swc/cli@0.1.32
npm link
- name: (swc) three.js
run: |
export PATH="$PATH:$HOME/npm/bin"
mkdir -p integration-tests/three-js
npm i -g qunit failonlyreporter
# Download three.js
git clone --depth 1 https://github.com/mrdoob/three.js.git -b r117 integration-tests/three-js/repo
swc --sync --extensions '.js' integration-tests/three-js/repo/ -d integration-tests/three-js/build/
# swc integration-tests/three-js/repo/src/ -d integration-tests/three-js/repo/build/
# swc integration-tests/three-js/repo/test/unit/**/*.js -d integration-tests/three-js/repo/test/unit/build/
(cd integration-tests/three-js/build/test && qunit -r failonlyreporter unit/three.source.unit.js)
# terser: contains with statement in test
# Rome.js: I forgot the cause, but it didn't work.
# jQuery: browser only (window.document is required)
- name: (swc) redux
run: |
export PATH="$PATH:$HOME/npm/bin"
mkdir -p integration-tests/redux
npm i -g qunit failonlyreporter
# Download
git clone --depth 1 https://github.com/reduxjs/redux.git integration-tests/redux/repo
swc --sync integration-tests/redux/repo/src/ -d integration-tests/redux/repo/lib/
echo "module.exports=require('./index')" > integration-tests/redux/repo/lib/redux.js
swc --sync integration-tests/redux/repo/src/ -d integration-tests/redux/repo/test/
swc --sync integration-tests/redux/repo/test/ -d integration-tests/redux/repo/test/
(cd integration-tests/redux/repo && npm i)
(cd integration-tests/redux/repo && npx jest '.*.js' --modulePathIgnorePatterns 'typescript')
- name: (spack) example react app
run: |
export PATH="$PATH:$HOME/npm/bin"
(cd spack/integration-tests/react && npm i && npx spack)