From 3d7609ad6cc69e42993c7544534cab9f9ce599ac Mon Sep 17 00:00:00 2001 From: Jordan Harband Date: Tue, 26 Apr 2022 09:28:51 -0700 Subject: [PATCH] [Tests] migrate tests to Github Actions --- .github/workflows/node-aught.yml | 19 ++++++++++ .github/workflows/node-pretest.yml | 7 ++++ .github/workflows/node-tens.yml | 18 ++++++++++ .github/workflows/rebase.yml | 15 ++++++++ .github/workflows/require-allow-edits.yml | 12 +++++++ .npmrc | 1 + .travis.yml | 43 ----------------------- package.json | 3 ++ 8 files changed, 75 insertions(+), 43 deletions(-) create mode 100644 .github/workflows/node-aught.yml create mode 100644 .github/workflows/node-pretest.yml create mode 100644 .github/workflows/node-tens.yml create mode 100644 .github/workflows/rebase.yml create mode 100644 .github/workflows/require-allow-edits.yml delete mode 100644 .travis.yml diff --git a/.github/workflows/node-aught.yml b/.github/workflows/node-aught.yml new file mode 100644 index 0000000..92c154f --- /dev/null +++ b/.github/workflows/node-aught.yml @@ -0,0 +1,19 @@ +name: 'Tests: node.js < 10' + +on: [pull_request, push] + +jobs: + tests: + uses: ljharb/actions/.github/workflows/node.yml@main + with: + range: '>= 4 < 10' # node < 4 breaks due to babel; we'll need staged builds for this + type: majors + command: npm run tests-only + skip-ls-check: true + + node: + name: 'node < 10' + needs: [tests] + 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..765edf7 --- /dev/null +++ b/.github/workflows/node-pretest.yml @@ -0,0 +1,7 @@ +name: 'Tests: pretest/posttest' + +on: [pull_request, push] + +jobs: + tests: + uses: ljharb/actions/.github/workflows/pretest.yml@main diff --git a/.github/workflows/node-tens.yml b/.github/workflows/node-tens.yml new file mode 100644 index 0000000..cb6a890 --- /dev/null +++ b/.github/workflows/node-tens.yml @@ -0,0 +1,18 @@ +name: 'Tests: node.js >= 10' + +on: [pull_request, push] + +jobs: + tests: + uses: ljharb/actions/.github/workflows/node.yml@main + with: + range: '>= 10' + type: majors + command: npm run tests-only + + node: + name: 'node >= 10' + needs: [tests] + runs-on: ubuntu-latest + steps: + - run: 'echo tests completed' diff --git a/.github/workflows/rebase.yml b/.github/workflows/rebase.yml new file mode 100644 index 0000000..5b6d04b --- /dev/null +++ b/.github/workflows/rebase.yml @@ -0,0 +1,15 @@ +name: Automatic Rebase + +on: [pull_request_target] + +jobs: + _: + name: "Automatic Rebase" + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + - uses: ljharb/rebase@master + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/require-allow-edits.yml b/.github/workflows/require-allow-edits.yml new file mode 100644 index 0000000..7b842f8 --- /dev/null +++ b/.github/workflows/require-allow-edits.yml @@ -0,0 +1,12 @@ +name: Require “Allow Edits” + +on: [pull_request_target] + +jobs: + _: + name: "Require “Allow Edits”" + + runs-on: ubuntu-latest + + steps: + - uses: ljharb/require-allow-edits@main diff --git a/.npmrc b/.npmrc index 43c97e7..0a13a5c 100644 --- a/.npmrc +++ b/.npmrc @@ -1 +1,2 @@ package-lock=false +audit-level=critical diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index a1e8b90..0000000 --- a/.travis.yml +++ /dev/null @@ -1,43 +0,0 @@ -language: node_js -os: - - linux -node_js: - - "18" - - "17" - - "16" - - "15" - - "14" - - "13" - - "12" - - "11" - - "10" - - "8" - - "6" - - "4" - - "iojs" - - "0.12" - - "0.10" -before_install: - - 'nvm install-latest-npm' -install: - - 'if [ "${TRAVIS_NODE_VERSION}" = "0.6" ]; then nvm install --latest-npm 0.8 && npm install && nvm use "${TRAVIS_NODE_VERSION}"; else npm install; fi;' - - 'npm ls > /dev/null' -script: - - 'if [ -n "${PRETEST-}" ]; then npm run pretest ; fi' - - 'if [ -n "${POSTTEST-}" ]; then npm run posttest ; fi' - - 'if [ -n "${COVERAGE-}" ]; then npm run coverage ; fi' - - 'if [ -n "${TEST-}" ]; then npm run tests-only ; fi' -sudo: false -env: - - TEST=true -matrix: - fast_finish: true - include: - - node_js: "lts/*" - env: PRETEST=true - - node_js: "lts/*" - env: COVERAGE=true - allow_failures: - - node_js: "iojs" - - node_js: "0.12" - - node_js: "0.10" diff --git a/package.json b/package.json index a8d674a..c9a2a60 100644 --- a/package.json +++ b/package.json @@ -9,11 +9,13 @@ "clean": "rimraf lib", "prebuild": "npm run clean", "build": "babel src -d lib", + "prelint": "npm run build", "lint": "eslint src test", "pretest": "npm run --silent lint", "test": "npm run coverage", "pretests-only": "npm run build", "tests-only": "npm run test:quick", + "posttest": "aud --production", "precoverage": "npm run build", "coverage": "babel-node node_modules/.bin/istanbul cover --report html node_modules/.bin/_mocha -- -R tap test/init.js test/*-test.js", "postcoverage": "npm run cover:check", @@ -47,6 +49,7 @@ }, "homepage": "https://github.com/airbnb/hypernova", "devDependencies": { + "aud": "^2.0.0", "babel-cli": "^6.26.0", "babel-plugin-add-module-exports": "^0.2.1", "babel-plugin-transform-replace-object-assign": "^1.0.0",