Skip to content

Merge pull request #4126 from joshheinrichs-shopify/env-shebang #16994

Merge pull request #4126 from joshheinrichs-shopify/env-shebang

Merge pull request #4126 from joshheinrichs-shopify/env-shebang #16994

Workflow file for this run

name: CI
on: [push, pull_request]
jobs:
lint_ruby:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
submodules: "recursive"
- name: Set up Ruby
uses: ruby/setup-ruby@afeafc3d1ab54a631816aba4c914a0081c12ff2f # v1.310.0
with:
bundler-cache: true
- name: Typecheck
run: bundle exec srb tc
- name: Run check-shims
run: bin/tapioca check-shims
- name: Lint Ruby files and RBI shims
run: bundle exec rubocop
build_ruby:
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
ruby: ["3.3", "3.4", "4.0"]
runs-on: ${{ matrix.os }}
timeout-minutes: 40
name: Ruby ${{ matrix.ruby }} on ${{ matrix.os }}
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
submodules: "recursive"
- name: Set up Ruby
uses: ruby/setup-ruby@afeafc3d1ab54a631816aba4c914a0081c12ff2f # v1.310.0
with:
ruby-version: ${{ matrix.ruby }}
bundler-cache: true
cache-version: 2
- name: Run tests
run: bundle exec rake
lint_node:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Set up pnpm
uses: pnpm/action-setup@0e279bb959325dab635dd2c09392533439d90093 # v6.0.8
with:
version: 10.28.0
- name: Set up Node
env:
DISABLE_V8_COMPILE_CACHE: "1"
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version: "22.21"
cache: "pnpm"
cache-dependency-path: "vscode/pnpm-lock.yaml"
- name: Lint
working-directory: ./vscode
run: |
pnpm install --frozen-lockfile
pnpm run lint
build_node:
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Set up pnpm
uses: pnpm/action-setup@0e279bb959325dab635dd2c09392533439d90093 # v6.0.8
with:
version: 10.28.0
- name: Set up Node
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version: "22.21"
cache: "pnpm"
cache-dependency-path: "vscode/pnpm-lock.yaml"
# We need some Ruby installed for the environment activation tests
- name: Set up Ruby
uses: ruby/setup-ruby@afeafc3d1ab54a631816aba4c914a0081c12ff2f # v1.310.0
with:
bundler-cache: true
cache-version: 3
- name: Install gems for node tests
shell: bash
run: |
gem install debug
gem build ruby-lsp.gemspec
build_path=$(find . -name "ruby-lsp-*.gem")
gem install "$build_path"
- name: Run tests
working-directory: ./vscode
env:
DISPLAY: ":99.0"
run: |
pnpm install --frozen-lockfile
/usr/bin/Xvfb :99 -screen 0 1024x768x24 > /dev/null 2>&1 &
pnpm run test
verify_docs:
runs-on: ubuntu-latest
name: Verify Jekyll website builds
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Set up Ruby
uses: ruby/setup-ruby@afeafc3d1ab54a631816aba4c914a0081c12ff2f # v1.310.0
with:
bundler-cache: true
working-directory: ./jekyll
- name: Generate documentation
working-directory: ./jekyll
run: bundle exec jekyll build