Skip to content

chore: upgrade to Bazel 8 #662

chore: upgrade to Bazel 8

chore: upgrade to Bazel 8 #662

Workflow file for this run

name: CI
on:
pull_request:
push:
branches:
- main
tags:
- v*.*.*
concurrency:
group: ${{ github.ref }}
cancel-in-progress: true
jobs:
# ruleset:
# name: Ruleset
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@v4
# - uses: bazel-contrib/[email protected]
# with:
# bazelrc: common --announce_rc --color=yes
# repository-cache: true
# - run: bazel run :buildifier.check
# - run: bazel test ...
# - if: failure() && runner.debug == '1'
# uses: mxschmitt/action-tmate@v3
examples-gem:
name: Examples / Gem
runs-on: ${{ matrix.os }}
timeout-minutes: 30
strategy:
fail-fast: false
matrix:
ruby:
# - 3.1.6
# - 3.2.6
# - 3.3.6
# - 3.4.0-preview2
- jruby-9.4.9.0
# - truffleruby-24.1.1
# - system
os:
# - ubuntu-latest
# # Use Intel-based macOS for now because Ruby 3.1 doesn't compile on Apple Silicon.
# - macos-13
- windows-latest
mode:
- bzlmod
- WORKSPACE
exclude:
# Previews are unavailable on Windows.
- os: windows-latest
ruby: 3.4.0-preview2
# # JRuby with WORKSPACE fails with long path issues on Windows.
# # See #64
# - os: windows-latest
# ruby: jruby-9.4.9.0
# mode: WORKSPACE
# TruffleRuby doesn't work on Windows.
- os: windows-latest
ruby: truffleruby-24.1.1
defaults:
run:
working-directory: examples/gem
steps:
- uses: actions/checkout@v4
- uses: bazel-contrib/[email protected]
with:
bazelrc: common --announce_rc --color=yes ${{ matrix.mode == 'WORKSPACE' && '--enable_workspace' || '' }}
# Workaround for long path issues: https://github.com/jruby/jruby/issues/3995
output-base: ${{ matrix.os == 'windows-latest' && 'D:/b' || '' }}
repository-cache: examples/gem/${{ matrix.mode == 'WORKSPACE' && 'WORKSPACE' || 'MODULE.bazel' }}
- run: echo ${{ matrix.ruby }} > .ruby-version
- if: matrix.ruby == 'system'
uses: ruby/setup-ruby@v1
with:
ruby-version: "3.1.6"
- run: bazel build ...
- run: bazel run lib/gem:add-numbers 2
- run: bazel run lib/gem:print-version
- run: bazel run "@ruby" "--" -e "puts RUBY_VERSION"
- run: bazel run "@ruby//:bundle" "--" lock
- run: bazel run "@ruby//:gem" "--" info
- run: bazel run "@bundle//bin:rake" "--" --version
- run: bazel run "@bundle//bin:rspec" "--" --help
- run: bazel test ...
- if: failure() && runner.debug == '1'
uses: mxschmitt/action-tmate@v3
# examples-jekyll:
# name: Examples / Jekyll
# runs-on: ${{ matrix.os }}-latest
# timeout-minutes: 30
# strategy:
# fail-fast: false
# matrix:
# os:
# - ubuntu
# - macos
# defaults:
# run:
# working-directory: examples/jekyll
# steps:
# - uses: actions/checkout@v4
# - uses: bazel-contrib/[email protected]
# with:
# bazelrc: common --announce_rc --color=yes
# repository-cache: examples/jekyll/MODULE.bazel
# - run: bazel build ...
# - if: failure() && runner.debug == '1'
# uses: mxschmitt/action-tmate@v3
# release:
# name: Release
# if: startsWith(github.ref, 'refs/tags/v')
# needs:
# - ruleset
# - examples-gem
# - examples-jekyll
# uses: bazel-contrib/.github/.github/workflows/release_ruleset.yaml@v7
# with:
# mount_bazel_caches: false
# prerelease: false
# release_files: rules_ruby-*.tar.gz