[前][次][番号順一覧][スレッド一覧]

ruby-changes:72285

From: Nobuyoshi <ko1@a...>
Date: Wed, 22 Jun 2022 18:32:37 +0900 (JST)
Subject: [ruby-changes:72285] e6f92cada1 (master): Refactor compilations workflow

https://git.ruby-lang.org/ruby.git/commit/?id=e6f92cada1

From e6f92cada1cf8026d0dc6dbd11867ba9a994f4d6 Mon Sep 17 00:00:00 2001
From: Nobuyoshi Nakada <nobu@r...>
Date: Thu, 16 Jun 2022 01:15:31 +0900
Subject: Refactor compilations workflow

Now some entries need multiple variables for customization, and only
one environment variable per entry is not enough.
To solve it, dccfff943c3e has introduced overriding variables by `env`
key for each entries.
This commit uses `env` keys for the other environment variables too,
instead of appending to `$GITHUB_ENV`.
---
 .github/workflows/compilers.yml | 233 ++++++++++++++++++++--------------------
 1 file changed, 118 insertions(+), 115 deletions(-)

diff --git a/.github/workflows/compilers.yml b/.github/workflows/compilers.yml
index a9f97b181d..30299e29e6 100644
--- a/.github/workflows/compilers.yml
+++ b/.github/workflows/compilers.yml
@@ -22,7 +22,6 @@ concurrency: https://github.com/ruby/ruby/blob/trunk/.github/workflows/compilers.yml#L22
 env:
   default_cc: clang-14
   append_cc: ''
-  crosshost: ''
 
   # -O1 is faster than -O3 in our tests... Majority of time are consumed trying
   # to optimize binaries.  Also GitHub Actions run on relatively modern CPUs
@@ -63,61 +62,62 @@ jobs: https://github.com/ruby/ruby/blob/trunk/.github/workflows/compilers.yml#L62
         env:
           - {}
         entry:
-          - { key: default_cc, name: gcc-12,    value: gcc-12,    container: gcc-12 }
-          - { key: default_cc, name: gcc-11,    value: gcc-11,    container: gcc-11 }
-          - { key: default_cc, name: gcc-10,    value: gcc-10,    container: gcc-10 }
-          - { key: default_cc, name: gcc-9,     value: gcc-9,     container: gcc-9 }
-          - { key: default_cc, name: gcc-8,     value: gcc-8,     container: gcc-8 }
-          - { key: default_cc, name: gcc-7,     value: gcc-7,     container: gcc-7 }
-          - { key: default_cc, name: gcc-6,     value: gcc-6,     container: gcc-6 }
-          - { key: default_cc, name: gcc-5,     value: gcc-5,     container: gcc-5 }
-          - { key: default_cc, name: gcc-4.8,   value: gcc-4.8,   container: gcc-4.8 }
-          - key: default_cc
-            name: 'gcc-11 LTO'
-            value: 'gcc-11 -flto=auto -ffat-lto-objects'
+          - { name: gcc-12,    env: { default_cc: gcc-12 } }
+          - { name: gcc-11,    env: { default_cc: gcc-11 } }
+          - { name: gcc-10,    env: { default_cc: gcc-10 } }
+          - { name: gcc-9,     env: { default_cc: gcc-9 } }
+          - { name: gcc-8,     env: { default_cc: gcc-8 } }
+          - { name: gcc-7,     env: { default_cc: gcc-7 } }
+          - { name: gcc-6,     env: { default_cc: gcc-6 } }
+          - { name: gcc-5,     env: { default_cc: gcc-5 } }
+          - { name: gcc-4.8,   env: { default_cc: gcc-4.8 } }
+          - name: 'gcc-11 LTO'
             container: gcc-11
-            configure_append: '--disable-shared optflags=-O2'
+            env:
+              default_cc: 'gcc-11 -flto=auto -ffat-lto-objects'
+              optflags: '-O2'
+            shared: disable
             # check: true
-          - key: default_cc
-            name: 'gcc-11 annocheck'
-            # Minimal flags to pass the check.
-            value: 'gcc-11 -O2 -fcf-protection -Wa,--generate-missing-build-notes=yes'
+          - name: 'gcc-11 annocheck'
             container: gcc-11
             env:
+              # Minimal flags to pass the check.
+              default_cc: 'gcc-11 -O2 -fcf-protection -Wa,--generate-missing-build-notes=yes'
               append_configure: 'LDFLAGS=-Wl,-z,now'
               # FIXME: Drop skipping options
               # https://bugs.ruby-lang.org/issues/18061
               # https://sourceware.org/annobin/annobin.html/Test-pie.html
               TEST_ANNOCHECK_OPTS: "--skip-pie"
             check: true
-          - { key: default_cc, name: clang-15,  value: clang-15,  container: clang-15 }
-          - { key: default_cc, name: clang-14,  value: clang-14,  container: clang-14 }
-          - { key: default_cc, name: clang-13,  value: clang-13,  container: clang-13 }
-          - { key: default_cc, name: clang-12,  value: clang-12,  container: clang-12 }
-          - { key: default_cc, name: clang-11,  value: clang-11,  container: clang-11 }
-          - { key: default_cc, name: clang-10,  value: clang-10,  container: clang-10 }
-          - { key: default_cc, name: clang-9,   value: clang-9,   container: clang-9 }
-          - { key: default_cc, name: clang-8,   value: clang-8,   container: clang-8 }
-          - { key: default_cc, name: clang-7,   value: clang-7,   container: clang-7 }
-          - { key: default_cc, name: clang-6.0, value: clang-6.0, container: clang-6.0 }
-          - { key: default_cc, name: clang-5.0, value: clang-5.0, container: clang-5.0 }
-          - { key: default_cc, name: clang-4.0, value: clang-4.0, container: clang-4.0 }
-          - { key: default_cc, name: clang-3.9, value: clang-3.9, container: clang-3.9 }
-          - key: default_cc
-            name: 'clang-14 LTO'
-            value: 'clang-14 -flto=auto'
+          - { name: clang-15,  env: { default_cc: clang-15 } }
+          - { name: clang-14,  env: { default_cc: clang-14 } }
+          - { name: clang-13,  env: { default_cc: clang-13 } }
+          - { name: clang-12,  env: { default_cc: clang-12 } }
+          - { name: clang-11,  env: { default_cc: clang-11 } }
+          - { name: clang-10,  env: { default_cc: clang-10 } }
+          - { name: clang-9,   env: { default_cc: clang-9 } }
+          - { name: clang-8,   env: { default_cc: clang-8 } }
+          - { name: clang-7,   env: { default_cc: clang-7 } }
+          - { name: clang-6.0, env: { default_cc: clang-6.0 } }
+          - { name: clang-5.0, env: { default_cc: clang-5.0 } }
+          - { name: clang-4.0, env: { default_cc: clang-4.0 } }
+          - { name: clang-3.9, env: { default_cc: clang-3.9 } }
+          - name: 'clang-14 LTO'
             container: clang-14
-            configure_append: '--disable-shared optflags=-O2'
+            env:
+              default_cc: 'clang-14 -flto=auto'
+              optflags: '-O2'
+            shared: disable
             # check: true
 
-#         - { key: crosshost, name: aarch64-linux-gnu,     value: aarch64-linux-gnu, container: crossbuild-essential-arm64 }
-#         - { key: crosshost, name: arm-linux-gnueabi,     value: arm-linux-gnueabi }
-#         - { key: crosshost, name: arm-linux-gnueabihf,   value: arm-linux-gnueabihf }
-#         - { key: crosshost, name: i686-w64-mingw32,      value: i686-w64-mingw32 }
-#         - { key: crosshost, name: powerpc-linux-gnu,     value: powerpc-linux-gnu }
-#         - { key: crosshost, name: powerpc64le-linux-gnu, value: powerpc64le-linux-gnu, container: crossbuild-essential-ppc64el }
-#         - { 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 }
+#         - { name: aarch64-linux-gnu,     crosshost: aarch64-linux-gnu, container: crossbuild-essential-arm64 }
+#         - { name: arm-linux-gnueabi,     crosshost: arm-linux-gnueabi }
+#         - { name: arm-linux-gnueabihf,   crosshost: arm-linux-gnueabihf }
+#         - { name: i686-w64-mingw32,      crosshost: i686-w64-mingw32 }
+#         - { name: powerpc-linux-gnu,     crosshost: powerpc-linux-gnu }
+#         - { name: powerpc64le-linux-gnu, crosshost: powerpc64le-linux-gnu, container: crossbuild-essential-ppc64el }
+#         - { name: s390x-linux-gnu,       crosshost: s390x-linux-gnu, container: crossbuild-essential-s390x }
+#         - { name: x86_64-w64-mingw32,    crosshost: x86_64-w64-mingw32, container: mingw-w64 }
 
           # -Wno-strict-prototypes is necessary with current clang-15 since
           # older autoconf generate functions without prototype and -pedantic
@@ -125,92 +125,92 @@ jobs: https://github.com/ruby/ruby/blob/trunk/.github/workflows/compilers.yml#L125
           # warning generates a lot of noise from use of ANYARGS in
           # rb_define_method() and friends.
           # See: https://github.com/llvm/llvm-project/commit/11da1b53d8cd3507959022cd790d5a7ad4573d94
-          - { key: append_cc, name: c99,   value: '-std=c99   -Werror=pedantic -pedantic-errors -Wno-strict-prototypes' }
-#         - { key: append_cc, name: c11,   value: '-std=c11   -Werror=pedantic -pedantic-errors -Wno-strict-prototypes' }
-#         - { key: append_cc, name: c17,   value: '-std=c17   -Werror=pedantic -pedantic-errors -Wno-strict-prototypes' }
-          - { key: append_cc, name: c2x,   value: '-std=c2x   -Werror=pedantic -pedantic-errors -Wno-strict-prototypes' }
-          - { 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' }
-#         - { key: CXXFLAGS,  name: c++17, value: '-std=c++17 -Werror=pedantic -pedantic-errors -Wno-c++11-long-long' }
-          - { key: CXXFLAGS,  name: c++2a, value: '-std=c++2a -Werror=pedantic -pedantic-errors -Wno-c++11-long-long' }
+          - { name: c99,   env: { append_cc: '-std=c99   -Werror=pedantic -pedantic-errors -Wno-strict-prototypes' } }
+#         - { name: c11,   env: { append_cc: '-std=c11   -Werror=pedantic -pedantic-errors -Wno-strict-prototypes' } }
+#         - { name: c17,   env: { append_cc: '-std=c17   -Werror=pedantic -pedantic-errors -Wno-strict-prototypes' } }
+          - { name: c2x,   env: { append_cc: '-std=c2x   -Werror=pedantic -pedantic-errors -Wno-strict-prototypes' } }
+          - { name: c++98, env: { CXXFLAGS: '-std=c++98 -Werror=pedantic -pedantic-errors -Wno-c++11-long-long' } }
+#         - { name: c++11, env: { CXXFLAGS: ' (... truncated)

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]