Skip to content

VS code extension

VS code extension #519

Workflow file for this run

name: VS code extension
on:
push:
branches:
- master
pull_request:
branches:
- master
schedule:
# This job runs at 00:00 JST on Friday.
- cron: '0 15 * * 5'
jobs:
test:
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
ruby: ['3.1.0']
runs-on: ${{ matrix.os }}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Ruby
id: setup-ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby }}
bundler: latest
- name: Install Node.js
uses: actions/setup-node@v4
with:
node-version: 16.x
cache: npm
- name: Install npm packages
run: npm ci
- name: Lint ESLint
run: npm run lint:eslint
- name: Lint Prettier
run: npm run lint:prettier
- name: Test with Xvfb
run: xvfb-run -a npm test
if: ${{ runner.os == 'Linux' }}
# HACK: Workaround to prevent $PATH from being modified unexpectedly on macOS. See below:
# - https://code.visualstudio.com/docs/terminal/profiles#_why-are-there-duplicate-paths-in-the-terminals-path-environment-variable-andor-why-are-they-reversed-on-macos
# - https://github.com/microsoft/vscode/issues/94153
- name: Update '.*rc' scripts for macOS
run: |
echo "export PATH=${RUBY_BIN_PATH}:\${PATH}" >> ~/.bashrc
echo "export PATH=${RUBY_BIN_PATH}:\${PATH}" >> ~/.zshrc
if: ${{ runner.os == 'macOS' }}
env:
RUBY_BIN_PATH: ${{ format('{0}/{1}', steps.setup-ruby.outputs.ruby-prefix, 'bin') }}
- name: Test
run: npm test
if: ${{ runner.os != 'Linux' }}
dependabot:
needs: test
runs-on: ubuntu-latest
if: ${{ github.event_name == 'pull_request' && github.actor == 'dependabot[bot]' }}
permissions:
contents: write
pull-requests: write
steps:
- name: Dependabot metadata
id: metadata
uses: dependabot/fetch-metadata@v1
with:
github-token: "${{ secrets.GITHUB_TOKEN }}"
- name: Enable auto-merge for Dependabot PRs
if: ${{ steps.metadata.outputs.update-type != 'version-update:semver-major' }}
run: gh pr merge --auto --merge "$PR_URL"
env:
PR_URL: ${{github.event.pull_request.html_url}}
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}