Skip to content

Bump serialize-javascript and mocha #293

Bump serialize-javascript and mocha

Bump serialize-javascript and mocha #293

Workflow file for this run

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 }}