Skip to content

v1.80.5

v1.80.5 #2604

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 }}
strategy:
fail-fast: false
matrix:
os:
- macos-latest
- ubuntu-latest
- windows-latest
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
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby-version }}
bundler-cache: true
- name: Compile
run: bundle exec rake compile
- name: Spec
run: bundle exec rake spec
- name: Install
run: rake -f -r bundler/gem_tasks install
spec-container:
name: spec (alpine-latest, ${{ matrix.ruby-version }})
runs-on: ubuntu-latest
container:
image: docker.io/library/ruby:${{ matrix.ruby-version }}-alpine
strategy:
fail-fast: false
matrix:
ruby-version:
- '3.1'
- '3.2'
- '3.3'
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install dependencies
run: apk add build-base
- name: Bundle
run: bundle install
- name: Compile
run: bundle exec rake compile
- name: Install
run: rake -f -r bundler/gem_tasks install
- name: Spec
run: bundle exec rake spec
spec-vm:
name: spec (${{ matrix.vm }}-latest)
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- vm: freebsd
install-dependencies: |
pkg install -y node npm protobuf ruby rubygem-bundler rubygem-rake
- vm: openbsd
install-dependencies: |
ruby=$(pkg_info -Q ruby | grep '^ruby-[0-9]' | sort -rV | head -n 1)
pkg_add node protobuf $ruby
pkg_info $ruby | grep 'ln -sf' | $SHELL
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup vm
if: matrix.vm == 'freebsd'
uses: vmactions/freebsd-vm@v1
- name: Setup vm
if: matrix.vm == 'openbsd'
uses: vmactions/openbsd-vm@v1
- name: Setup vmshell
run: |
_osname=${{ matrix.vm }}
tee /home/runner/.local/bin/vmshell <<EOF
#!/usr/bin/env bash
ssh $_osname "cd \$(printf %q "\$PWD") && exec \\\$SHELL -e"<\$1
EOF
chmod a+x /home/runner/.local/bin/vmshell
- name: Install dependencies
run: ${{ matrix.install-dependencies }}
shell: vmshell {0}
- name: Bundle
run: bundle install
shell: vmshell {0}
- name: Compile
run: EMBEDDED_SASS_PROTOCOL=https://github.com/sass/sass/raw/HEAD/spec/embedded_sass.proto PROTOC_BIN=$(which protoc) bundle exec rake compile
shell: vmshell {0}
- name: Install
run: rake -f -r bundler/gem_tasks install
shell: vmshell {0}
# TODO: https://github.com/sass/dart-sass/pull/2413
# - name: Spec
# run: bundle exec rake spec
# shell: freebsd {0}
release:
if: github.event.repository.fork == false && github.ref == format('refs/heads/{0}', github.event.repository.default_branch)
needs: [lint, spec, spec-container, spec-vm]
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