-
Notifications
You must be signed in to change notification settings - Fork 550
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
CI: update runtime environments #1299
CI: update runtime environments #1299
Conversation
891a5fa
to
d4469e4
Compare
Bah, fails for the MySQL on MacOS build with
|
I debugged this behavior. The CI log is here. Currently the Line 31 in bab4969
However the behavior of openssl un-versioned package name gets the openssl version 3 on the OSX image.
But the actual directory exists for only openssl 1.1.
And this is intended behavior by the openssl brew package maintainer Homebrew/brew#12879 , and he suggested using the
|
IIRC, the libmysqlclient can be built against openssl 1.1 or 3, so the question isn't as much "what's installed on this system?" as it is "what matches the client library we'll be linking with / loading at runtime?" |
5ab712e
to
451663e
Compare
Yes, I understand your point. The mysql2 should work with both openssl 1.1 and 3 if we can link the runtime library. I meant we could access to the openssl 1.1 library to make mysql2 work when we don't install additional openssl on the GitHub Actions macos case. |
How do you fix this issue to pass MacOS cases? |
I opened another PR #1301 based on the first 2 commits on this PR. |
451663e
to
a4d9300
Compare
Maybe shall we change this PR's title "CI: GitHub Actions MacOS images now include openssl" to another one that describes what the PR do in a better way? I suppose that the "CI: GitHub Actions MacOS images now include openssl" was fixed by #1303 . |
Have you considered the unified YAML file for Ubuntu cases? The
I tired the unified one ubuntu.yml name: Ubuntu
on: [push, pull_request]
jobs:
build:
name: >-
${{ matrix.os }} ruby ${{ matrix.ruby }} ${{ matrix.db }}
runs-on: ${{ matrix.os }}
continue-on-error: ${{ matrix.allow-failure || false }}
strategy:
matrix:
include:
# jammy
- {os: ubuntu-22.04, ruby: 'head'}
- {os: ubuntu-22.04, ruby: '3.2'}
- {os: ubuntu-22.04, ruby: '3.1'}
- {os: ubuntu-22.04, ruby: '3.0'}
- {os: ubuntu-22.04, ruby: '3.0', db: mariadb10.6}
- {os: ubuntu-22.04, ruby: '3.0', db: mysql57}
- {os: ubuntu-22.04, ruby: '3.0', db: mysql80}
# focal
- {os: ubuntu-20.04, ruby: '2.7'}
- {os: ubuntu-20.04, ruby: '2.6'}
- {os: ubuntu-20.04, ruby: '2.5'}
- {os: ubuntu-20.04, ruby: '2.4'}
- {os: ubuntu-20.04, ruby: '2.3'}
- {os: ubuntu-20.04, ruby: '2.2'}
- {os: ubuntu-20.04, ruby: '2.1'}
- {os: ubuntu-20.04, ruby: '2.0'}
- {os: ubuntu-20.04, ruby: '2.7', db: mariadb10.6}
- {os: ubuntu-20.04, ruby: '2.7', db: mysql57}
- {os: ubuntu-20.04, ruby: '2.7', db: mysql80}
# On the fail-fast: true, it cancels all in-progress jobs
# if any matrix job fails, which we don't want.
fail-fast: false
env:
BUNDLE_WITHOUT: development
steps:
- uses: actions/checkout@v3
# https://github.com/ruby/setup-ruby
- uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby }}
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
- if: matrix.db
run: echo 'DB=${{ matrix.db }}' >> $GITHUB_ENV
- run: sudo echo "127.0.0.1 mysql2gem.example.com" | sudo tee -a /etc/hosts
- run: bash ci/setup.sh
- run: bundle exec rake spec |
.github/workflows/ubuntu-focal.yml
Outdated
@@ -0,0 +1,42 @@ | |||
name: Ubuntu Focal 20.04 with Ruby 2.x |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The value of the "name" element is also used as the badge image's text. Maybe shorter text is better. See https://github.com/brianmario/mysql2/actions/workflows/ubuntu-focal.yml/badge.svg.
a0e417a
to
81541bf
Compare
81541bf
to
5946b29
Compare
Thanks for the work! Just note that when we see the network connection error, we can use a retry bash script that is like this used in the ruby/ruby. |
Reduces CI time and sidesteps the failure at #1297