Skip to content

v1.81.0

v1.81.0 #2759

Workflow file for this run

name: build
on:
pull_request:
push:
branches:
- '**'
tags-ignore:
- 'v*'
workflow_dispatch:
jobs:
lint:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: ruby
bundler-cache: true
- name: Lint
run: bundle exec rake rubocop
spec:
runs-on: ${{ matrix.os }}
container: ${{ matrix.container.image != 'docker.io/nixos/nix:latest' && matrix.container || null }}
strategy:
fail-fast: false
matrix:
os:
- macos-latest
- ubuntu-latest
- windows-latest
container:
-
vm:
-
ruby-version:
- '3.1'
- '3.2'
- '3.3'
- jruby
- truffleruby
- truffleruby+graalvm
exclude:
- os: windows-latest
ruby-version: truffleruby
- os: windows-latest
ruby-version: truffleruby+graalvm
include:
- os: ubuntu-latest
container:
image: docker.io/library/ruby:3.1-alpine
- os: ubuntu-latest
container:
image: docker.io/library/ruby:3.2-alpine
- os: ubuntu-latest
container:
image: docker.io/library/ruby:3.3-alpine
- os: ubuntu-latest
container:
image: docker.io/nixos/nix:latest
- os: ubuntu-latest
vm:
os: freebsd
run: pkg install -y node npm protobuf ruby rubygem-bundler rubygem-rake
- os: ubuntu-latest
vm:
os: openbsd
run: |
pkg_add node protobuf ruby%3.3 ruby-shims
echo 3.3 | tee /etc/ruby-version
- os: ubuntu-latest
vm:
os: netbsd
run: /usr/sbin/pkg_add nodejs protobuf ruby
- os: ubuntu-latest
vm:
os: dragonflybsd
run: pkg install -y libnghttp2 libuv node npm protobuf ruby rubygem-bundler rubygem-rake
- os: ubuntu-latest
vm:
os: omnios
run: |
pkg install build-essential node-22 protobuf ruby-33
pkg install "$(pkg search -HI -o pkg.name "$(ruby -e 'puts RbConfig::CONFIG["CC"]')")"
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Initialize vm
if: matrix.vm
uses: ./.github/actions/setup-vm
with:
os: ${{ matrix.vm.os }}
run: ${{ matrix.vm.run }}
- name: Initialize nix
if: matrix.container.image == 'docker.io/nixos/nix:latest'
uses: ./.github/actions/setup-nix
with:
image: ${{ matrix.container.image }}
packages: ruby
- name: Install dependencies
if: endsWith(matrix.container.image, ':alpine') || endsWith(matrix.container.image, '-alpine')
run: apk add build-base
- name: Setup ruby
if: matrix.ruby-version
uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby-version }}
bundler-cache: true
- name: Bundle
if: "!matrix.ruby-version"
run: bundle install
- name: Compile
run: bundle exec rake compile
- name: Spec
if: "!matrix.vm" # TODO: remove after https://github.com/sass/dart-sass/pull/2413
run: bundle exec rake spec
- name: Install
run: rake -f -r bundler/gem_tasks install
release:
if: github.event.repository.fork == false && github.ref == format('refs/heads/{0}', github.event.repository.default_branch)
needs: [lint, spec]
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
ssh-key: ${{ secrets.DEPLOY_KEY }}
- name: Setup ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: ruby
- name: Release
run: |
git config user.email 41898282+github-actions[bot]@users.noreply.github.com
git config user.name github-actions[bot]
rake -f -r bundler/gem_tasks release gem_push=no