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 | |
| 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')
| -rw-r--r-- | .github/workflows/cd.yml | 51 | ||||
| -rw-r--r-- | .github/workflows/ci.yml | 83 |
2 files changed, 134 insertions, 0 deletions
diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml new file mode 100644 index 0000000..95785ab --- /dev/null +++ b/.github/workflows/cd.yml @@ -0,0 +1,51 @@ +name: CD + +on: + push: + branches: + - master + pull_request: + branches: + - master + release: + types: + - created + +jobs: + release: + 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: Install VSCE + run: yarn add vsce -D + + - name: Update $PATH + run: echo "$PWD/node_modules/.bin/" >> $GITHUB_PATH + + - name: Build vsix + run: vsce package && ls -alh + + - name: Deploy to Marketplace + run: vsce publish -p ${VSCE_TOKEN} + env: + VSCE_TOKEN: ${{ secrets.VSCE_TOKEN }} + if: contains(github.ref, 'refs/tags/') + + - name: Upload vsix to GitHub release + uses: svenstaro/upload-release-action@v2 + with: + repo_token: ${{ secrets.GITHUB_TOKEN }} + file: doxdocgen-*.vsix + tag: ${{ github.ref }} + overwrite: true + file_glob: true + if: contains(github.ref, 'refs/tags/') + 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' + |