diff --git a/.github/workflows/node-4+.yml b/.github/workflows/node-4+.yml new file mode 100644 index 0000000..1786d22 --- /dev/null +++ b/.github/workflows/node-4+.yml @@ -0,0 +1,91 @@ +name: 'Tests: node.js' + +on: [pull_request, push] + +jobs: + matrix: + runs-on: ubuntu-latest + outputs: + latest: ${{ steps.set-matrix.outputs.requireds }} + steps: + - uses: ljharb/actions/node/matrix@main + id: set-matrix + with: + versionsAsRoot: true + type: 'majors' + preset: '>=4' + + latest: + needs: [matrix] + name: 'latest majors' + runs-on: ubuntu-latest + + strategy: + fail-fast: false + matrix: + node-version: ${{ fromJson(needs.matrix.outputs.latest) }} + include: + - node-version: '14.' + env: + TZ: America/New_York + - node-version: '13.' + env: + TZ: Europe/London + - node-version: '12.' + env: + TZ: Asia/Seoul + - node-version: '11.' + env: + TZ: America/Los_Angeles + FMTS: misc + - node-version: '10.' + env: + TZ: Europe/Berlin + FMTS: misc + - node-version: '9.' + env: + TZ: Asia/Kolkata + FMTS: misc + - node-version: '8.' + env: + TZ: Asia/Shanghai + FMTS: misc + - node-version: '7.' + env: + TZ: America/Cancun + FMTS: misc + - node-version: '6.' + env: + TZ: Asia/Seoul + FMTS: misc + - node-version: '5.' + env: + TZ: America/Anchorage + FMTS: misc + - node-version: '4.' + env: + TZ: America/Barbados + FMTS: misc + - node-version: '4.4.7' # see GH issue #1150 + env: + TZ: Asia/Tokyo + FMTS: misc + + steps: + - uses: actions/checkout@v2 + - uses: ljharb/actions/node/install@main + name: 'nvm install ${{ matrix.node-version }} && npm install' + with: + node-version: ${{ matrix.node-version }} + - run: sudo curl -Lo /usr/bin/rooster https://github.com/SheetJS/rooster/releases/download/v0.2.0/rooster-v0.2.0-linux-amd64 + - run: sudo chmod a+x /usr/bin/rooster + - run: make init + - run: 'cd test_files; make all; cd -' + - run: npm run test + + node: + name: 'node 4+' + needs: [latest] + runs-on: ubuntu-latest + steps: + - run: 'echo tests completed' diff --git a/.github/workflows/node-iojs.yml b/.github/workflows/node-iojs.yml new file mode 100644 index 0000000..96410ee --- /dev/null +++ b/.github/workflows/node-iojs.yml @@ -0,0 +1,45 @@ +name: 'Tests: node.js (io.js)' + +on: [pull_request, push] + +jobs: + matrix: + runs-on: ubuntu-latest + outputs: + latest: ${{ steps.set-matrix.outputs.requireds }} + steps: + - uses: ljharb/actions/node/matrix@main + id: set-matrix + with: + type: 'majors' + preset: 'iojs' + + latest: + needs: [matrix] + name: 'latest majors' + runs-on: ubuntu-latest + + strategy: + fail-fast: false + matrix: ${{ fromJson(needs.matrix.outputs.latest) }} + + steps: + - uses: actions/checkout@v2 + - uses: ljharb/actions/node/install@main + name: 'nvm install ${{ matrix.node-version }} && npm install' + with: + node-version: ${{ matrix.node-version }} + skip-ls-check: true + - run: sudo curl -Lo /usr/bin/rooster https://github.com/SheetJS/rooster/releases/download/v0.2.0/rooster-v0.2.0-linux-amd64 + - run: sudo chmod a+x /usr/bin/rooster + - run: make init + - run: 'cd test_files; make all; cd -' + - run: npm run test + #- run: 'cd packages/ssf; npm run tests-only; cd -' + + node: + name: 'io.js' + needs: [latest] + runs-on: ubuntu-latest + steps: + - run: 'echo tests completed' diff --git a/.github/workflows/node-pretest.yml b/.github/workflows/node-pretest.yml new file mode 100644 index 0000000..df59274 --- /dev/null +++ b/.github/workflows/node-pretest.yml @@ -0,0 +1,32 @@ +name: 'Tests: pretest/posttest' + +on: [pull_request, push] + +jobs: + pretest: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + - uses: ljharb/actions/node/install@main + name: 'nvm install lts/* && npm install' + with: + node-version: 'lts/*' + - run: sudo curl -Lo /usr/bin/rooster https://github.com/SheetJS/rooster/releases/download/v0.2.0/rooster-v0.2.0-linux-amd64 + - run: sudo chmod a+x /usr/bin/rooster + - run: make init + - run: 'cd test_files; make all; cd -' + #- run: npm run pretest + + # posttest: + # runs-on: ubuntu-latest + + # steps: + # - uses: actions/checkout@v2 + # - uses: ljharb/actions/node/install@main + # name: 'nvm install lts/* && npm install' + # with: + # node-version: 'lts/*' + # - run: make init + # - run: 'cd test_files; make all; cd -' + # - run: npm run posttest diff --git a/.github/workflows/node-zero.yml b/.github/workflows/node-zero.yml new file mode 100644 index 0000000..fd940ad --- /dev/null +++ b/.github/workflows/node-zero.yml @@ -0,0 +1,88 @@ +name: 'Tests: node.js (0.x)' + +on: [pull_request, push] + +jobs: + matrix: + runs-on: ubuntu-latest + outputs: + stable: ${{ steps.set-matrix.outputs.requireds }} +# unstable: ${{ steps.set-matrix.outputs.optionals }} + steps: + - uses: ljharb/actions/node/matrix@main + id: set-matrix + with: + versionsAsRoot: true + preset: '0.x' + + stable: + needs: [matrix] + name: 'stable minors' + runs-on: ubuntu-latest + + strategy: + fail-fast: false + matrix: + node-version: ${{ fromJson(needs.matrix.outputs.stable) }} + include: + - node-version: '0.12.' + env: + TZ: America/Cayman + FMTS: misc + - node-version: '0.10.' + env: + TZ: Pacific/Honolulu + FMTS: misc + - node-version: '0.8.' + env: + TZ: America/Mexico_City + FMTS: misc + + steps: + - uses: actions/checkout@v2 + - uses: ljharb/actions/node/install@main + name: 'nvm install ${{ matrix.node-version }} && npm install' + with: + node-version: ${{ matrix.node-version }} + cache-node-modules-key: node_modules-${{ github.workflow }}-${{ github.action }}-${{ github.run_id }} + skip-ls-check: true + - run: sudo curl -Lo /usr/bin/rooster https://github.com/SheetJS/rooster/releases/download/v0.2.0/rooster-v0.2.0-linux-amd64 + - run: sudo chmod a+x /usr/bin/rooster + - run: make init + - run: 'cd test_files; make all; cd -' + - run: npm run test + #- run: 'cd packages/ssf; npm run tests-only; cd -' + +# unstable: +# needs: [matrix, stable] +# name: 'unstable minors' +# continue-on-error: true +# if: ${{ !github.head_ref || !startsWith(github.head_ref, 'renovate') }} +# runs-on: ubuntu-latest + +# strategy: +# fail-fast: false +# matrix: +# node-version: ${{ fromJson(needs.matrix.outputs.unstable) }} +# +# steps: +# - uses: actions/checkout@v2 +# - uses: ljharb/actions/node/install@main +# name: 'nvm install ${{ matrix.node-version }} && npm install' +# with: +# node-version: ${{ matrix.node-version }} +# cache-node-modules-key: node_modules-${{ github.workflow }}-${{ github.action }}-${{ github.run_id }} +# skip-ls-check: true +# - run: sudo curl -Lo /usr/bin/rooster https://github.com/SheetJS/rooster/releases/download/v0.2.0/rooster-v0.2.0-linux-amd64 +# - run: sudo chmod a+x /usr/bin/rooster +# - run: make init +# - run: 'cd test_files; make all; cd -' +# - run: npm run tests-only + + node: + name: 'node 0.x' +# needs: [stable, unstable] + needs: [stable] + runs-on: ubuntu-latest + steps: + - run: 'echo tests completed'