From e520144bad51de6a856138973e7cbac33c61cfb7 Mon Sep 17 00:00:00 2001 From: Hiroshi SHIBATA Date: Fri, 12 Apr 2024 16:25:06 +1000 Subject: [PATCH 1/5] Try to fix https://github.com/ruby/ruby/actions/runs/8370868368/job/22918952425?pr=10321 ruby_3_2 fixed that with https://github.com/ruby/ruby/commit/e777064e4b064fd77aca65c123f1919433f6732d --- .github/workflows/mingw.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/mingw.yml b/.github/workflows/mingw.yml index ba0b9c25a6ff73..3e6b77c58f76a0 100644 --- a/.github/workflows/mingw.yml +++ b/.github/workflows/mingw.yml @@ -124,16 +124,16 @@ jobs: timeout-minutes: 5 run: | make test - shell: cmd - name: test-all timeout-minutes: 45 run: | + # Actions uses UTF8, causes test failures, similar to normal OS setup + chcp.com 437 make test-all env: RUBY_TESTOPTS: -j${{env.TEST_JOBS}} --retry --job-status=normal --show-skip --timeout-scale=1.5 BUNDLER_VERSION: - shell: cmd - name: test-spec timeout-minutes: 10 From 1512f760cc2f40adb62b7cc038cb3e5738d50502 Mon Sep 17 00:00:00 2001 From: nagachika Date: Thu, 21 Mar 2024 21:15:02 +0900 Subject: [PATCH 2/5] merge revision(s) 64b6a018a38f200c957fdbbe7d0cbe0e64781c9f: Fix test session reuse but expire (#9824) * OpenSSL 3.2.1 30 Jan 2024 is also broken Import 45064610725ddd81a5ea3775da35aa46985bc789 from ruby_3_3 branch tentatively. --- test/net/http/test_https.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- test/net/http/test_https.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/net/http/test_https.rb b/test/net/http/test_https.rb index e95a9abaf378d1..761b0be3abb8ef 100644 --- a/test/net/http/test_https.rb +++ b/test/net/http/test_https.rb @@ -167,7 +167,7 @@ def test_session_reuse def test_session_reuse_but_expire # FIXME: The new_session_cb is known broken for clients in OpenSSL 1.1.0h. omit if OpenSSL::OPENSSL_LIBRARY_VERSION.include?('OpenSSL 1.1.0h') - omit if OpenSSL::OPENSSL_LIBRARY_VERSION.include?('OpenSSL 3.2.0') + omit if OpenSSL::OPENSSL_LIBRARY_VERSION.include?('OpenSSL 3.2.') http = Net::HTTP.new(HOST, config("port")) http.use_ssl = true From 8501fcf106c8151d33650af9d8087b9b9ba40854 Mon Sep 17 00:00:00 2001 From: Hiroshi SHIBATA Date: Fri, 12 Apr 2024 17:20:14 +1000 Subject: [PATCH 3/5] Skip c99 and c2x compilers because Ruby 3.1 couldn't build openssl gem with them. https://github.com/ruby/ruby/actions/runs/8657971535/job/23741841371?pr=10512 https://github.com/ruby/ruby/actions/runs/8657971535/job/23741841091?pr=10512 --- .github/workflows/compilers.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/compilers.yml b/.github/workflows/compilers.yml index 504792f76876c3..717685ee1756c7 100644 --- a/.github/workflows/compilers.yml +++ b/.github/workflows/compilers.yml @@ -103,10 +103,10 @@ jobs: - { key: crosshost, name: s390x-linux-gnu, value: s390x-linux-gnu, container: crossbuild-essential-s390x } - { key: crosshost, name: x86_64-w64-mingw32, value: x86_64-w64-mingw32, container: mingw-w64 } - - { key: append_cc, name: c99, value: '-std=c99 -Werror=pedantic -pedantic-errors' } +# - { key: append_cc, name: c99, value: '-std=c99 -Werror=pedantic -pedantic-errors' } # - { key: append_cc, name: c11, value: '-std=c11 -Werror=pedantic -pedantic-errors' } # - { key: append_cc, name: c17, value: '-std=c17 -Werror=pedantic -pedantic-errors' } - - { key: append_cc, name: c2x, value: '-std=c2x -Werror=pedantic -pedantic-errors' } +# - { key: append_cc, name: c2x, value: '-std=c2x -Werror=pedantic -pedantic-errors' } - { key: CXXFLAGS, name: c++98, value: '-std=c++98 -Werror=pedantic -pedantic-errors -Wno-c++11-long-long' } # - { key: CXXFLAGS, name: c++11, value: '-std=c++11 -Werror=pedantic -pedantic-errors -Wno-c++11-long-long' } # - { key: CXXFLAGS, name: c++14, value: '-std=c++14 -Werror=pedantic -pedantic-errors -Wno-c++11-long-long' } From e13280b997dd46e289c0d4c6e365e529dd82b0b5 Mon Sep 17 00:00:00 2001 From: Nobuyoshi Nakada Date: Thu, 13 Jan 2022 17:44:09 +0900 Subject: [PATCH 4/5] [MSWin] Install libffi using vcpkg --- .appveyor.yml | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/.appveyor.yml b/.appveyor.yml index 4d7d3c99111d29..64bb3e3e7ffef7 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -22,7 +22,7 @@ environment: - build: vs vs: 120 ssl: OpenSSL - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2013 + APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 GEMS_FOR_TEST: "" - build: vs vs: 140 @@ -30,6 +30,8 @@ environment: APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 GEMS_FOR_TEST: "" RELINE_TEST_ENCODING: "UTF-8" +cache: + - c:\Tools\vcpkg\installed\ for: - matrix: @@ -41,6 +43,12 @@ for: - SET BITS=%Platform:x86=32% - SET BITS=%BITS:x=% - SET OPENSSL_DIR=C:\%ssl%-Win%BITS% + - cd C:\Tools\vcpkg + - git pull -q + - .\bootstrap-vcpkg.bat + - cd %APPVEYOR_BUILD_FOLDER% + - vcpkg --triplet %Platform%-windows install libffi libyaml zlib + - set PATH=c:\Tools\vcpkg\installed\%Platform%-windows\bin;%PATH% - CALL SET vcvars=%%^VS%VS%COMNTOOLS^%%..\..\VC\vcvarsall.bat - SET vcvars - '"%vcvars%" %Platform:x64=amd64%' @@ -69,7 +77,7 @@ for: - >- ..\win32\configure.bat --without-ext=+,dbm,gdbm,readline - --with-opt-dir=/usr/local + --with-opt-dir="/usr/local;c:/Tools/vcpkg/installed/%Platform%-windows" --with-openssl-dir=%OPENSSL_DIR:\=/% - nmake -l - nmake install-nodoc From 2dba7593455f9c52d37f1ae69368b987bad614d6 Mon Sep 17 00:00:00 2001 From: Hiroshi SHIBATA Date: Mon, 15 Apr 2024 10:07:05 +0900 Subject: [PATCH 5/5] We no longer use Cirrus CI --- .cirrus.yml | 64 ----------------------------------------------------- 1 file changed, 64 deletions(-) delete mode 100644 .cirrus.yml diff --git a/.cirrus.yml b/.cirrus.yml deleted file mode 100644 index c8fb326c89eb8c..00000000000000 --- a/.cirrus.yml +++ /dev/null @@ -1,64 +0,0 @@ -# This CI is used to test Arm cases. We can set the maximum 16 tasks. -# The entire testing design is inspired from .github/workflows/compilers.yml. - -# By default, Cirrus mounts an empty volume to `/tmp` -# which triggers all sorts of warnings like "system temporary path is world-writable: /tmp". -# Lets workaround it by specifying a custom volume mount point. -env: - CIRRUS_VOLUME: /cirrus-ci-volume - LANG: C.UTF-8 - -task: - name: Arm64 Graviton2 / $CC - skip: "changesIncludeOnly('doc/**', '**.{md,rdoc}')" - arm_container: - # We use the arm64 images at http://ghcr.io/ruby/ruby-ci-image . - image: ghcr.io/ruby/ruby-ci-image:$CC - # Define the used cpu core in each matrix task. We can use total 16 cpu - # cores in entire matrix. [cpu] = [total cpu: 16] / [number of tasks] - cpu: 8 - # We can request maximum 4 GB per cpu. - # [memory per task] = [memory per cpu: 4 GB] * [cpu] - memory: 32G - env: - CIRRUS_CLONE_DEPTH: 50 - optflags: '-O1' - debugflags: '-ggdb3' - RUBY_PREFIX: /tmp/ruby-prefix - RUBY_DEBUG: ci rgengc - RUBY_TESTOPTS: >- - -q - --color=always - --tty=no - matrix: - CC: clang-12 - CC: gcc-11 - id_script: id - set_env_script: - # Set `GNUMAKEFLAGS`, because the flags are GNU make specific. Note using - # the `make` environment variable used in compilers.yml causes some rubygems - # tests to fail. - # https://github.com/rubygems/rubygems/issues/4921 - - echo "GNUMAKEFLAGS=-s -j$((1 + $CIRRUS_CPU))" >> $CIRRUS_ENV - print_env_script: - - echo "GNUMAKEFLAGS=$GNUMAKEFLAGS" - # Arm containers are executed in AWS's EKS, and it's not yet supporting IPv6 - # See https://github.com/aws/containers-roadmap/issues/835 - disable_ipv6_script: sudo ./tool/disable_ipv6.sh - autogen_script: ./autogen.sh - configure_script: >- - ./configure -C - --enable-debug-env - --disable-install-doc - --with-ext=-test-/cxxanyargs,+ - --prefix="$RUBY_PREFIX" - make_extract-extlibs_script: make extract-extlibs - make_incs_script: make incs - make_script: make - make_leaked-globals_script: make leaked-globals - make_test_script: make test - make_install_script: make install - install_gems_for_test_script: $RUBY_PREFIX/bin/gem install --no-doc timezone tzinfo - make_test-tool_script: make test-tool - make_test-all_script: make test-all - make_test-spec_script: make test-spec