mirror of
https://github.com/Shopify/liquid.git
synced 2026-09-12 23:40:45 -07:00
The pinned version (v1.273.0) does not have prebuilt `ruby-head` binaries for `ubuntu-24.04`, which `ubuntu-latest` now resolves to. This causes CI to fail with "Unavailable version head for ruby on ubuntu-24.04". Updating to v1.295.0 picks up ubuntu-24.04 support for all Ruby versions including head builds. Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
73 lines
2.5 KiB
YAML
73 lines
2.5 KiB
YAML
name: Liquid
|
|
on: [push]
|
|
|
|
env:
|
|
BUNDLE_JOBS: 4
|
|
BUNDLE_RETRY: 3
|
|
|
|
jobs:
|
|
test:
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
entry:
|
|
- { ruby: 3.3, allowed-failure: false } # minimum supported
|
|
- { ruby: 3.4, allowed-failure: false, rubyopt: "--yjit" }
|
|
- { ruby: 4.0, allowed-failure: false } # latest stable
|
|
- {
|
|
ruby: 4.0,
|
|
allowed-failure: false,
|
|
rubyopt: "--enable-frozen-string-literal",
|
|
}
|
|
- { ruby: 4.0, allowed-failure: false, rubyopt: "--yjit" }
|
|
- { ruby: 4.0, allowed-failure: false, rubyopt: "--zjit" }
|
|
|
|
# Head can have failures due to being in development
|
|
- { ruby: head, allowed-failure: true }
|
|
- {
|
|
ruby: head,
|
|
allowed-failure: true,
|
|
rubyopt: "--enable-frozen-string-literal",
|
|
}
|
|
- { ruby: head, allowed-failure: true, rubyopt: "--yjit" }
|
|
- { ruby: head, allowed-failure: true, rubyopt: "--zjit" }
|
|
name: Test Ruby ${{ matrix.entry.ruby }} ${{ matrix.entry.rubyopt }} --${{ matrix.entry.allowed-failure && 'allowed-failure' || 'strict' }}
|
|
steps:
|
|
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0
|
|
- uses: ruby/setup-ruby@319994f95fa847cf3fb3cd3dbe89f6dcde9f178f # v1.295.0
|
|
with:
|
|
ruby-version: ${{ matrix.entry.ruby }}
|
|
bundler-cache: true
|
|
bundler: latest
|
|
- run: bundle exec rake
|
|
continue-on-error: ${{ matrix.entry.allowed-failure }}
|
|
env:
|
|
RUBYOPT: ${{ matrix.entry.rubyopt }}
|
|
|
|
spec:
|
|
runs-on: ubuntu-latest
|
|
env:
|
|
BUNDLE_WITH: spec
|
|
steps:
|
|
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0
|
|
- uses: ruby/setup-ruby@319994f95fa847cf3fb3cd3dbe89f6dcde9f178f # v1.295.0
|
|
with:
|
|
bundler-cache: true
|
|
bundler: latest
|
|
- name: Run liquid-spec for all adapters
|
|
run: |
|
|
for adapter in spec/*.rb; do
|
|
echo "=== Running $adapter ==="
|
|
bundle exec liquid-spec run "$adapter" --no-max-failures
|
|
done
|
|
|
|
memory_profile:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0
|
|
- uses: ruby/setup-ruby@319994f95fa847cf3fb3cd3dbe89f6dcde9f178f # v1.295.0
|
|
with:
|
|
bundler-cache: true
|
|
- run: bundle exec rake memory_profile:run
|