Add support for old strscan #260
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Test | |
on: | |
- push | |
- pull_request | |
jobs: | |
ruby-versions-inplace: | |
uses: ruby/actions/.github/workflows/ruby_versions.yml@master | |
with: | |
engine: cruby-jruby | |
min_version: 2.5 | |
inplace: | |
needs: ruby-versions-inplace | |
name: "Inplace: ${{ matrix.ruby-version }} on ${{ matrix.runs-on }}" | |
runs-on: ${{ matrix.runs-on }} | |
strategy: | |
fail-fast: false | |
matrix: | |
runs-on: | |
- ubuntu-latest | |
- macos-latest | |
- windows-latest | |
ruby-version: ${{ fromJson(needs.ruby-versions-inplace.outputs.versions) }} | |
exclude: | |
- {runs-on: macos-latest, ruby-version: 2.5} | |
# include: | |
# - runs-on: ubuntu-latest | |
# ruby-version: truffleruby | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: ${{ matrix.ruby-version }} | |
bundler-cache: true | |
- name: Test | |
run: bundle exec rake test | |
frozen-string-literal: | |
name: frozen-string-literal | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: ruby | |
bundler-cache: true | |
- name: Test | |
run: bundle exec rake test RUBYOPT="--enable-frozen-string-literal" | |
ruby-versions-gem: | |
uses: ruby/actions/.github/workflows/ruby_versions.yml@master | |
with: | |
engine: cruby-jruby | |
min_version: 3.0 | |
gem: | |
needs: ruby-versions-gem | |
name: "Gem: ${{ matrix.ruby-version }} on ${{ matrix.runs-on }}" | |
runs-on: ${{ matrix.runs-on }} | |
strategy: | |
fail-fast: false | |
matrix: | |
runs-on: | |
- ubuntu-latest | |
- macos-latest | |
- windows-latest | |
ruby-version: ${{ fromJson(needs.ruby-versions-gem.outputs.versions) }} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: ${{ matrix.ruby-version }} | |
- name: Install as gem | |
run: | | |
rake install | |
- name: Install test dependencies on non-Windows | |
if: matrix.runs-on != 'windows-latest' | |
run: | | |
for gem in $(ruby -e 'puts ARGF.read[/^group :test do(.*)^end/m, 1].scan(/"(.+?)"/)' Gemfile); do | |
gem install ${gem} | |
done | |
- name: Install test dependencies on Windows | |
if: matrix.runs-on == 'windows-latest' | |
run: | | |
ruby -e "ARGF.read[/^group :test do(.*)^end/m, 1].scan(/""(.+?)""/) {|gem,| system('gem', 'install', gem)}" Gemfile | |
- name: Test | |
run: | | |
ruby -run -e mkdir -- tmp | |
ruby -run -e cp -- -p -r test tmp | |
cd tmp | |
ruby test/run.rb | |
document: | |
name: "Document" | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: 2.7 | |
- name: Install dependencies | |
run: | | |
bundle install | |
- name: Build document | |
run: | | |
bundle exec rake warning:error rdoc | |
- uses: actions/checkout@v4 | |
if: | | |
github.event_name == 'push' | |
with: | |
ref: gh-pages | |
path: gh-pages | |
- name: Deploy | |
if: | | |
github.event_name == 'push' | |
run: | | |
rm html/created.rid | |
touch html/.nojekyll | |
cd gh-pages | |
rsync \ | |
-a \ | |
--delete \ | |
--exclude "/.git/" \ | |
../html/ \ | |
./ | |
if [ "$(git status --porcelain)" != "" ]; then | |
git add --all | |
git config user.name github-actions | |
git config user.email github-actions@github.com | |
git commit -m "Generate (${GITHUB_SHA})" | |
git push | |
fi |