Bump serialize-javascript and mocha #293
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: master | |
on: | |
push: | |
branches: | |
- master | |
tags: | |
- '[0-9]+.[0-9]+.[0-9]+' | |
pull_request: | |
branches: | |
- master | |
jobs: | |
build: | |
strategy: | |
fail-fast: false | |
matrix: | |
os: | |
- ubuntu-latest | |
- windows-latest | |
- macos-latest | |
ghc: | |
- 8.10.7 | |
- 9.0.2 | |
- 9.4.5 | |
env: | |
- { CODE_VERSION: 1.66.2, DISPLAY: ':99.0' } | |
- { CODE_VERSION: 'stable', DISPLAY: ':99.0' } | |
runs-on: ${{ matrix.os }} | |
env: ${{ matrix.env }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up npm | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 20 | |
- name: Install Haskell Stack | |
if: runner.os == 'macOS' | |
run: | | |
brew install llvm@12 | |
echo "/opt/homebrew/opt/llvm@12/bin" >> $GITHUB_PATH | |
brew install haskell-stack | |
- name: Set up GHC ${{ matrix.ghc }} environment | |
run: | | |
echo "resolver: ghc-${{ matrix.ghc }}" > stack.yaml | |
echo "packages: []" >> stack.yaml | |
stack setup | |
- run: npm install | |
- name: Run npm test | |
uses: coactions/setup-xvfb@v1 | |
with: | |
run: npm test | |
- name: Add GHC extension output (on failure on Linux or MacOS) | |
if: failure() && runner.os != 'Windows' | |
run: find .vscode-test/udd/logs -name *GHC* -exec cat {} \; | |
- name: Add GHC extension output (on failure on Windows) | |
if: failure() && runner.os == 'Windows' | |
run: Get-ChildItem -Path .vscode-test -Include *GHC.log -File -Recurse | Get-Content | |
metrics: | |
runs-on: ubuntu-latest | |
env: { CODE_VERSION: 'stable', DISPLAY: ':99.0', GHC: 9.4.5 } | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up npm | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 20 | |
- name: Set up GHC ${{ env.GHC }} environment | |
run: | | |
echo "resolver: ghc-${{ env.GHC }}" > stack.yaml | |
echo "packages: []" >> stack.yaml | |
stack setup | |
- run: npm install | |
- name: Run tests with coverage | |
uses: coactions/setup-xvfb@v1 | |
with: | |
run: npm run coverage | |
- name: Publish coverage on Coveralls.io | |
uses: coverallsapp/github-action@v2 | |
with: | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
path-to-lcov: .coverage/lcov.info | |
release: | |
needs: | |
- build | |
- metrics | |
runs-on: ubuntu-latest | |
env: | |
RELEASE_BODY_FILE: ${{ github.workspace }}/release-description.md | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up npm | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 20 | |
- name: Build package | |
run: | | |
npm install | |
npm run package | |
- name: Create release notes | |
run: | | |
echo "RELEASE=$(git show -q --format=format:%s)" >> $GITHUB_ENV | |
git show -q --format=format:%b > ${{ env.RELEASE_BODY_FILE }} | |
- name: Create release | |
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/') | |
uses: ncipollo/release-action@v1 | |
with: | |
commit: ${{ github.sha }} | |
name: ${{ env.RELEASE }} | |
bodyFile: ${{ env.RELEASE_BODY_FILE }} | |
artifacts: haskutil-*.vsix | |
makeLatest: ${{ startsWith(github.event.base_ref, 'refs/heads/master') }} | |
prerelease: ${{ !startsWith(github.event.base_ref, 'refs/heads/master') }} | |
- name: Upload new version to MS Marketplace | |
if: github.event_name == 'push' && startsWith(github.event.base_ref, 'refs/heads/master') | |
run: npm run upload | |
env: | |
VSCE_PAT: ${{ secrets.VSCE_PAT }} |