diff options
| author | Christoph Schlosser <2466365+cschlosser@users.noreply.github.com> | 2021-04-30 16:03:47 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-04-30 16:03:47 +0200 |
| commit | 15f166329f3c8040a8aa3772dbb2fd4614a4a8b2 (patch) | |
| tree | 5e568c2c73470cdd7fda0cb4eea87c9867eb7697 /.github/workflows/ci.yml | |
| parent | e5b544978594082190d2edb866470046af6374a5 (diff) | |
| download | doxdocgen-15f166329f3c8040a8aa3772dbb2fd4614a4a8b2.tar.gz | |
Use Github actions instead of travis and appveyor (#216)
* Switch to GH workflow
* Use tslint action
* Add build matrix
* Run test stage
* Disable ubuntu test run due to bug in vscode
* Publish coverage on macOS
* Remove istanbul
* codecov action
* Move nyc config to nycrc
* Add CD workflow
* Remove old publishing script
Diffstat (limited to '.github/workflows/ci.yml')
| -rw-r--r-- | .github/workflows/ci.yml | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..6cf725f --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,83 @@ +name: CI + +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] + +jobs: + lint: + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v2 + + - name: Use Node.js + uses: actions/setup-node@v1 + with: + node-version: '15.11.0' + - run: yarn + + - name: Lint + run: yarn lint + + build: + needs: lint + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [ubuntu-latest, macos-latest, windows-latest] + steps: + - name: Checkout + uses: actions/checkout@v2 + + - name: Use Node.js + uses: actions/setup-node@v1 + with: + node-version: '15.11.0' + - run: yarn + + - name: Compile + run: yarn compile + + test: + needs: build + runs-on: ${{ matrix.os }} + strategy: + matrix: + # disable ubuntu-latest until https://github.com/microsoft/vscode/issues/106569 is fixed + os: [macos-latest, windows-latest] + steps: + - name: Checkout + uses: actions/checkout@v2 + + - name: Use Node.js + uses: actions/setup-node@v1 + with: + node-version: '15.11.0' + - run: yarn + + - name: Test + run: yarn test + # Run tests only on non-coverage job + if: matrix.os != 'macOS-latest' + + - name: Generate Coverage + run: yarn cov + if: matrix.os == 'macOS-latest' + + - name: Publish coverage + uses: codecov/codecov-action@v1 + with: + token: ${{ secrets.CODECOV_TOKEN }} + if: matrix.os == 'macOS-latest' + + - name: Upload coverage + uses: actions/upload-artifact@v2 + with: + name: cov + path: coverage + if: matrix.os == 'macOS-latest' + |