aboutsummaryrefslogtreecommitdiff
path: root/.github/workflows/build.yml
blob: 575df5b2e7a9d42c0134d4e8037260f4e2b7042d (about) (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
name: Build testing
on:
  pull_request:
  push:
    branches: [ master ]
jobs:
  ufuzz:
    strategy:
      fail-fast: false
      matrix:
        options: [ '-mb braces', '-mc', '--toplevel -mc passes=10,pure_getters,unsafe' ]
        script: [ acorn.sh, buble.sh, butternut.sh, rollup-es.sh, rollup-ts.sh, sucrase.sh ]
        include:
          - node: '14'
            script: acorn.sh
          - node: '14'
            script: buble.sh
          - node: '14'
            script: butternut.sh
          - node: '8'
            script: rollup-es.sh
          - node: '14'
            script: rollup-ts.sh
          - node: '14'
            script: sucrase.sh
    name: ${{ matrix.script }} ${{ matrix.options }}
    runs-on: ubuntu-latest
    env:
      NODE: ${{ matrix.node }}
      OPTIONS: ${{ matrix.options }}
      SCRIPT: ${{ matrix.script }}
    steps:
      - uses: actions/checkout@v2
      - name: Perform uglify, build & test
        shell: bash
        run: |
          git clone --branch v1.6.0 --depth 1 https://github.com/jasongin/nvs.git ~/.nvs
          while ! timeout 60 bash -c '. ~/.nvs/nvs.sh add $NODE && nvs use $NODE'; do
            cd ~/.nvs
            while !(git clean -xdf); do echo "'git clean' failed - retrying..."; done
            cd -
          done
          . ~/.nvs/nvs.sh --version
          nvs use $NODE
          node --version
          npm config set audit false
          npm config set optional false
          npm config set save false
          npm config set strict-ssl false
          npm config set update-notifier false
          npm --version
          while !(npm install); do echo "'npm install' failed - retrying..."; done
          ./test/release/$SCRIPT $OPTIONS