Port in http-2-next #52
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: CI | |
on: | |
pull_request: | |
branches: | |
- main | |
- master | |
env: | |
ruby_version: 3.3 | |
jobs: | |
test: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
ruby: [2.7 ,'3.0', 3.1, 3.2, 3.3, jruby, truffleruby] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup Ruby | |
uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: ${{ matrix.ruby }} | |
bundler-cache: true | |
- name: Tests | |
env: | |
CI: 1 | |
run: | | |
echo $(pwd) | |
RUBY_PLATFORM=`ruby -e 'puts RUBY_PLATFORM'` | |
RUBY_ENGINE=`ruby -e 'puts RUBY_ENGINE'` | |
if [[ "$RUBY_ENGINE" = "ruby" ]] && [[ ${RUBY_VERSION:0:1} = "3" ]] && [[ ! $RUBYOPT =~ "jit" ]]; then | |
echo "running runtime type checking..." | |
export RUBYOPT="-rbundler/setup -rrbs/test/setup" | |
export RBS_TEST_RAISE="true" | |
export RBS_TEST_LOGLEVEL="error" | |
export RBS_TEST_OPT="-Isig -rbase64" | |
export RBS_TEST_TARGET="HTTP2*" | |
fi | |
bundle exec rake | |
- name: Upload coverage | |
uses: actions/upload-artifact@v4 | |
if: always() | |
with: | |
name: coverage-report-${{matrix.ruby}} | |
path: coverage/ | |
coverage: | |
needs: test | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup Ruby | |
uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: 3.3 | |
bundler-cache: true | |
- name: Download coverage results | |
uses: actions/download-artifact@v4 | |
with: | |
pattern: coverage-report-* | |
path: coverage | |
- name: coverage | |
run: | | |
gem install simplecov --no-doc | |
ls -laR coverage | |
find coverage -name "*resultset.json" -exec sed -i 's?/home?'`pwd`'?' {} \; | |
rake coverage:report | |
- name: Upload coverage | |
uses: actions/upload-artifact@v4 | |
with: | |
name: coverage-report | |
path: coverage/ | |
# pages: | |
# needs: coverage | |
# runs-on: ubuntu-latest | |
# steps: | |
# - uses: actions/checkout@v4 | |
# - uses: actions/download-artifact@master | |
# with: | |
# name: coverage-report | |
# path: path/to/artifact | |
# - name: publish |