summaryrefslogtreecommitdiffstats
path: root/.github
diff options
context:
space:
mode:
authorChristoph Schlosser <2466365+cschlosser@users.noreply.github.com>2021-04-30 16:03:47 +0200
committerGitHub <noreply@github.com>2021-04-30 16:03:47 +0200
commit15f166329f3c8040a8aa3772dbb2fd4614a4a8b2 (patch)
tree5e568c2c73470cdd7fda0cb4eea87c9867eb7697 /.github
parente5b544978594082190d2edb866470046af6374a5 (diff)
downloaddoxdocgen-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.yml51
-rw-r--r--.github/workflows/ci.yml83
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'
+