8000 Testing by tisba · Pull Request #1 · tisba/mini_racer · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Testing #1

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
167 changes: 87 additions & 80 deletions .github/workflows/ci.yml
10000 Original file line number Diff line number Diff line change
Expand Up @@ -7,48 +7,54 @@ on:
- main

jobs:
test-truffleruby:
strategy:
fail-fast: false
matrix:
os:
- "macos-11"
- "macos-12"
- "ubuntu-20.04"
ruby:
- "truffleruby+graalvm"
# test-truffleruby:
# strategy:
# fail-fast: false
# matrix:
# os:
# - "macos-11" # deprecated by GitHub
# - "macos-12"
# - "macos-13"
# - "macos-14" # arm64
# - "ubuntu-20.04"
# ruby:
# - "truffleruby+graalvm"

name: ${{ matrix.os }} - ${{ matrix.ruby }}
runs-on: ${{ matrix.os }}
# name: ${{ matrix.os }} - ${{ matrix.ruby }}
# runs-on: ${{ matrix.os }}

env:
TRUFFLERUBYOPT: "--jvm --polyglot"
# env:
# TRUFFLERUBYOPT: "--jvm --polyglot"

steps:
- uses: actions/checkout@v4
- uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby }}
bundler: latest # to get this fix: https://github.com/rubygems/rubygems/issues/6165
bundler-cache: true
- name: Install GraalVM JS component
run: truffleruby-polyglot-get js
- name: Compile
run: bundle exec rake compile
- name: Test
run: bundle exec rake test
# steps:
# - uses: actions/checkout@v4
# - uses: ruby/setup-ruby@v1
# with:
# ruby-version: ${{ matrix.ruby }}
# bundler: latest # to get this fix: https://github.com/rubygems/rubygems/issues/6165
# bundler-cache: true
# - name: Install GraalVM JS component
# run: truffleruby-polyglot-get js
# - name: Compile
# run: bundle exec rake compile
# - name: Test
# run: bundle exec rake test

test-darwin:
strategy:
fail-fast: false
matrix:
os:
- "macos-11"
- "macos-12"
# - "macos-11" # deprecated by GitHub
# - "macos-12"
# - "macos-13"
# - "macos-14" # arm64
- "macos-14-large"
ruby:
- "ruby-3.0"
- "ruby-3.0" # EOL as of 2024-04-23
- "ruby-3.1"
- "ruby-3.2"
- "ruby-3.3"

name: ${{ matrix.os }} - ${{ matrix.ruby }}
runs-on: ${{ matrix.os }}
Expand All @@ -64,55 +70,56 @@ jobs:
- name: Test
run: bundle exec rake test

test-linux:
strategy:
fail-fast: false
matrix:
ruby:
- "3.0"
- "3.1"
- "3.2"
platform:
- "amd64"
- "arm64"
libc:
- "gnu"
- "musl"
# test-linux:
# strategy:
# fail-fast: false
# matrix:
# ruby:
# - "3.0" # EOL as of 2024-04-23
# - "3.1"
# - "3.2"
# - "3.3"
# platform:
# - "amd64"
# - "arm64"
# libc:
# - "gnu"
# - "musl"

name: linux-${{ matrix.platform }} - ruby-${{ matrix.ruby }} - ${{ matrix.libc }}
runs-on: ubuntu-20.04
# name: linux-${{ matrix.platform }} - ruby-${{ matrix.ruby }} - ${{ matrix.libc }}
# runs-on: ubuntu-20.04

steps:
- name: Enable ${{ matrix.platform }} platform
id: qemu
if: ${{ matrix.platform != 'amd64' }}
run: |
docker run --privileged --rm tonistiigi/binfmt:latest --install ${{ matrix.platform }} | tee platforms.json
- name: Start container
id: container
run: |
case ${{ matrix.libc }} in
gnu)
echo 'ruby:${{ matrix.ruby }}'
;;
musl)
echo 'ruby:${{ matrix.ruby }}-alpine'
;;
esac > container_image
echo "image=$(cat container_image)" >> $GITHUB_OUTPUT
docker run --rm -d -v "${PWD}":"${PWD}" -w "${PWD}" --platform linux/${{ matrix.platform }} $(cat container_image) /bin/sleep 64d | tee container_id
docker exec -w "${PWD}" $(cat container_id) uname -a
echo "container_id=$(cat container_id)" >> $GITHUB_OUTPUT
- name: Install Alpine system dependencies
if: ${{ matrix.libc == 'musl' }}
run: docker exec -w "${PWD}" ${{ steps.container.outputs.container_id }} apk add --no-cache build-base bash git
- name: Checkout
uses: actions/checkout@v4
- name: Update Rubygems
run: docker exec -w "${PWD}" ${{ steps.container.outputs.container_id }} gem update --system
- name: Bundle
run: docker exec -w "${PWD}" ${{ steps.container.outputs.container_id }} bundle install
- name: Compile
run: docker exec -w "${PWD}" ${{ steps.container.outputs.container_id }} bundle exec rake compile
- name: Test
run: docker exec -w "${PWD}" ${{ steps.container.outputs.container_id }} bundle exec rake test
# steps:
# - name: Enable ${{ matrix.platform }} platform
# id: qemu
# if: ${{ matrix.platform != 'amd64' }}
# run: |
# docker run --privileged --rm tonistiigi/binfmt:latest --install ${{ matrix.platform }} | tee platforms.json
# - name: Start container
# id: container
# run: |
# case ${{ matrix.libc }} in
# gnu)
# echo 'ruby:${{ matrix.ruby }}'
# ;;
# musl)
# echo 'ruby:${{ matrix.ruby }}-alpine'
# ;;
# esac > container_image
# echo "image=$(cat container_image)" >> $GITHUB_OUTPUT
# docker run --rm -d -v "${PWD}":"${PWD}" -w "${PWD}" --platform linux/${{ matrix.platform }} $(cat container_image) /bin/sleep 64d | tee container_id
# docker exec -w "${PWD}" $(cat container_id) uname -a
# echo "container_id=$(cat container_id)" >> $GITHUB_OUTPUT
# - name: Install Alpine system dependencies
# if: ${{ matrix.libc == 'musl' }}
# run: docker exec -w "${PWD}" ${{ steps.container.outputs.container_id }} apk add --no-cache build-base bash git
# - name: Checkout
# uses: actions/checkout@v4
# - name: Update Rubygems
# run: docker exec -w "${PWD}" ${{ steps.container.outputs.container_id }} gem update --system
# - name: Bundle
# run: docker exec -w "${PWD}" ${{ steps.container.outputs.container_id }} bundle install
# - name: Compile
# run: docker exec -w "${PWD}" ${{ steps.container.outputs.container_id }} bundle exec rake compile
# - name: Test
# run: docker exec -w "${PWD}" ${{ steps.container.outputs.container_id }} bundle exec rake test
0