Skip to content

Bump tar from 7.5.2 to 7.5.3 #241

Bump tar from 7.5.2 to 7.5.3

Bump tar from 7.5.2 to 7.5.3 #241

Workflow file for this run

name: CI/CD
on:
push:
branches:
- main
- v*
tags:
- v*
pull_request:
workflow_dispatch:
inputs:
publish:
description: "Publish extension to VSCode Marketplace"
type: boolean
required: true
default: false
concurrency:
group: ci-${{ github.ref }}
cancel-in-progress: true
permissions:
contents: write
env:
TEST_TIMEOUT: 5m
BRANCH: ${{ startsWith(github.head_ref, '') && github.head_ref || github.ref_name }}
jobs:
test:
timeout-minutes: 60
strategy:
fail-fast: false
matrix:
include:
- os: windows-latest
platform: win32
arch: x64
npm_config_arch: x64
- os: windows-latest
platform: win32
arch: arm64
npm_config_arch: arm
- os: ubuntu-latest
platform: linux
arch: x64
npm_config_arch: x64
- os: ubuntu-latest
platform: linux
arch: arm64
npm_config_arch: arm64
- os: ubuntu-latest
platform: linux
arch: armhf
npm_config_arch: arm
- os: ubuntu-latest
platform: alpine
arch: x64
npm_config_arch: x64
- os: ubuntu-latest
platform: alpine
arch: arm64
npm_config_arch: arm64
- os: macos-latest
platform: darwin
arch: x64
npm_config_arch: x64
- os: macos-latest
platform: darwin
arch: arm64
npm_config_arch: arm64
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v5
- uses: actions/setup-node@v6
with:
node-version: 20
- name: Install extension dependencies
run: yarn run install:all
- name: Build webview
run: yarn run build:webview
- name: Run tests
uses: coactions/setup-xvfb@v1
with:
run: yarn test
env:
TEST_TIMEOUT: 2m
- shell: pwsh
run: echo "target=${{ matrix.platform }}-${{ matrix.arch }}" >> $env:GITHUB_ENV
- run: npx --yes @vscode/vsce package --yarn --githubBranch ${{ env.BRANCH }} --target ${{ env.target }}
- uses: actions/upload-artifact@v5
with:
name: code-blocks-${{ env.BRANCH }}-${{ env.target }}
path: "*.vsix"
examples:
name: Build examples
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v5
- name: Install Node.js
uses: actions/setup-node@v6
with:
node-version: 20
- name: Install asset generation dependencies
run: |
sudo mkdir -p /usr/local/bin
sudo ln -sf /bin/true /usr/local/bin/mandb # no-op to skip man-db triggers
sudo DEBIAN_FRONTEND=noninteractive apt update
sudo DEBIAN_FRONTEND=noninteractive \
apt install -y --no-install-recommends \
ffmpeg libnss3 xvfb \
-o Dpkg::Options::="--path-exclude=/usr/share/man/*" \
-o Dpkg::Options::="--path-exclude=/usr/share/doc/*"
- name: Install extension dependencies
run: yarn run install:all
- name: Build webview
run: yarn run build:webview
- name: Build extension
run: yarn run compile
- name: Setting global vscode settings
run: cp -r ./out/examples/examples-editor/.vscode ~/.vscode
- name: Generate assets
run: |
chmod +x ./generate-assets.sh
chmod +x ./generate-example-asset.sh
./generate-assets.sh ./out/examples .
- name: Upload assets
uses: actions/upload-artifact@v5
with:
name: ${{ env.BRANCH }}-assets
path: |
*.gif
publish:
runs-on: ubuntu-latest
needs: test
if: success() && startsWith(github.ref, 'refs/tags/v') && github.event_name == 'workflow_dispatch' && inputs.publish == true
steps:
- uses: actions/download-artifact@v5
- run: npx --yes @vscode/vsce publish --packagePath $(find . -iname *.vsix)
env:
VSCE_PAT: ${{ secrets.VSCE_PAT }}
- name: Publish GitHub release
uses: softprops/action-gh-release@v2
with:
generate_release_notes: true
files: "*.vsix"