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 - name: Set platform name run: | export NODE_PLATFORM_NAME=$(node -e "console.log(require('os').platform())") echo "PLATFORM_NAME=$NODE_PLATFORM_NAME" >> $GITHUB_ENV shell: bash - name: Prepare run: | npm config set prefix ~/npm npm i export PATH="$PATH:$HOME/npm/bin" npm run build:dev npm i -g @swc/cli 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 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)