diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml new file mode 100644 index 00000000..edcea69c --- /dev/null +++ b/.github/workflows/workflow.yml @@ -0,0 +1,52 @@ +name: Main workflow +on: [push] +jobs: + Ubuntu: + name: Run Ubuntu + runs-on: ubuntu-latest + actions: + - name: Set Node.js 10.x + uses: bryanmacfarlane/node-config@master + with: + version: 10.x + + - name: npm install + run: npm install + + - name: Bootstrap + run: npm run bootstrap + + - name: Compile + run: npm run build + + - name: npm test + run: npm test + + - name: Lint + run: npm run lint + + - name: Format + run: npm run format-check + Windows: + name: Run Windows + runs-on: windows-latest + actions: + - name: Set Node.js 10.x + uses: bryanmacfarlane/node-config@master + with: + version: 10.x + + - name: npm install + run: npm install + + - name: Bootstrap + run: npm run bootstrap + + - name: Compile + run: npm run build + + # TODO: This currently ignores exec due to issues with Node and spawning on Windows, which I think is exacerbated by Jest. + # It doesn't seem to affect behavior in actions themselves, just when testing with Jest. + # See other similar issues here: https://github.com/nodejs/node/issues/25484 + - name: npm test + run: npm run test-ci diff --git a/package.json b/package.json index da897d50..91269bbc 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,8 @@ "format-check": "prettier --check packages/**/*.ts", "lint": "eslint packages/**/*.ts", "new-package": "scripts/create-package", - "test": "jest" + "test": "jest", + "test-ci": "jest --testPathIgnorePatterns=\"/packages/exec/__tests__/exec.test.ts\"" }, "devDependencies": { "@types/jest": "^24.0.11",