Skip to content

migrated jenkin build to GH action #591

migrated jenkin build to GH action

migrated jenkin build to GH action #591

Workflow file for this run

# This is a basic workflow
name: CI
# Controls when the action will run. Triggers the workflow on push or pull request
# events but only for the main branch
on:
push:
branches: [main]
pull_request:
branches: [main]
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a single job called "build"
build:
# The type of runner that the job will run on
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-latest, windows-latest, ubuntu-latest]
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v4
# Set up Node
- name: Use Node 20
uses: actions/setup-node@v4
with:
node-version: 20
# Run install dependencies
- name: Install dependencies
run: yarn
# Build extension
- name: Run build
run: yarn build
# Run tests
- name: Run Test
uses: coactions/setup-xvfb@b6b4fcfb9f5a895edadc3bc76318fae0ac17c8b3 #v1.0.1
with:
run: yarn test
# Run UI tests
- name: Run UI Test
uses: coactions/setup-xvfb@b6b4fcfb9f5a895edadc3bc76318fae0ac17c8b3 #v1.0.1
with:
run: yarn run ui-test
options: -screen 0 1920x1080x24
#Package vsix
- name: Build .vsix package on Linux
if: matrix.os == 'ubuntu-latest'
run: |
VERSION=$(node -p "require('./package.json').version")
npx vsce package -o vscode-yaml-${VERSION}-${GITHUB_RUN_ID}-${GITHUB_RUN_NUMBER}.vsix
#Upload vsix
- name: Upload linux-built vsix
if: matrix.os == 'ubuntu-latest'
uses: actions/upload-artifact@v4
with:
name: vscode-yaml
path: vscode-yaml*.vsix
# Archive test results
- name: Archiving test artifacts
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.os }}-artifacts
path: |
test-resources/screenshots/*.png
retention-days: 2