Skip to content

Add constant write node #2531

Add constant write node

Add constant write node #2531

Workflow file for this run

name: Main
concurrency:
group: "${{github.workflow}}-${{github.ref}}"
cancel-in-progress: true
on:
push:
branches:
- main
pull_request:
jobs:
build:
strategy:
fail-fast: false
matrix:
os: [ ubuntu-latest, macos-latest, windows-latest ]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: head
bundler-cache: true
- name: Lint config.yml
run: bundle exec rake lint
shell: bash
- name: Run Ruby tests
run: bundle exec rake
shell: bash
build-debug-mode:
strategy:
fail-fast: false
matrix:
os: [ ubuntu-latest, macos-latest, windows-latest ]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: head
bundler-cache: true
- name: Run Ruby tests
run: bundle exec rake
env:
YARP_DEBUG_MODE_BUILD: "1"
build-without-assertions:
strategy:
fail-fast: false
matrix:
os: [ ubuntu-20.04, ubuntu-22.04 ]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: head
bundler-cache: true
- name: Run Ruby tests
run: bundle exec rake compile_no_debug
build-jruby:
runs-on: ubuntu-latest
env:
JRUBY_OPTS: "--dev"
steps:
- uses: actions/checkout@v3
- name: Set up JRuby
uses: ruby/setup-ruby@v1
with:
ruby-version: jruby
bundler-cache: true
- name: Compile generated Java files
run: jruby --dev -S bundle exec rake compile
shell: bash
lex-ruby:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: head
bundler-cache: true
- name: Lex ruby/ruby
run: bundle exec rake lex:ruby
lex-discourse:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: head
bundler-cache: true
- name: Lex discourse/discourse
run: bundle exec rake lex:discourse
lex-top-100:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: head
bundler-cache: true
- name: Lex Top 100 Gems
run: bundle exec rake lex:topgems
- name: Parse Top 100 Gems
run: bundle exec rake parse:topgems
memcheck:
runs-on: ubuntu-latest
steps:
- name: Install valgrind from source
run: |
sudo apt-get install -y libc6-dbg
wget https://sourceware.org/pub/valgrind/valgrind-3.20.0.tar.bz2
tar xvf valgrind-3.20.0.tar.bz2
cd valgrind-3.20.0
./configure
make
sudo make install
- uses: actions/checkout@v3
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: head
bundler-cache: true
- name: Run Ruby tests with valgrind
run: bundle exec rake test:valgrind
gem-package:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: ruby/setup-ruby@v1
with:
ruby-version: head
bundler-cache: true
- run: bundle exec rake build
- uses: actions/upload-artifact@v3
with:
name: gem-package
path: pkg
retention-days: 1
gem-install:
needs: ["gem-package"]
strategy:
fail-fast: false
matrix:
ruby: ["3.2", "head"]
os: [ ubuntu-latest, macos-latest, windows-latest ]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
- uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby }}
- uses: actions/download-artifact@v3
with:
name: gem-package
path: pkg
- run: |
gem install --local pkg/yarp-*.gem
gem list -d yarp
shell: bash
- run: |
bundle install
rm -rf lib ext # ensure we don't use the local files
rake test
shell: bash