From 9712379e0f9918f89ff741978f542dfd2dad3492 Mon Sep 17 00:00:00 2001 From: Takeshi Watanabe Date: Sat, 14 Dec 2019 00:39:54 +0900 Subject: Start GitHub Actions; close #4903 --- .github/workflows/build.yml | 31 ++++++++++++++++++++++++------- 1 file changed, 24 insertions(+), 7 deletions(-) (limited to '.github') diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 335c0cdf6..2f8b69da7 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -6,7 +6,7 @@ jobs: Ubuntu-1604: runs-on: ubuntu-16.04 env: - MRUBY_CONFIG: travis_config.rb + MRUBY_TARGET: travis steps: - uses: actions/checkout@v1 - name: apt @@ -19,7 +19,7 @@ jobs: Ubuntu-1804-gcc: runs-on: ubuntu-18.04 env: - MRUBY_CONFIG: travis_config.rb + MRUBY_TARGET: travis CC: gcc CXX: g++ steps: @@ -34,7 +34,7 @@ jobs: Ubuntu-1804-clang: runs-on: ubuntu-18.04 env: - MRUBY_CONFIG: travis_config.rb + MRUBY_TARGET: travis CC: clang CXX: clang++ steps: @@ -49,7 +49,7 @@ jobs: macOS: runs-on: macos-latest env: - MRUBY_CONFIG: travis_config.rb + MRUBY_TARGET: travis steps: - uses: actions/checkout@v1 - name: brew @@ -68,7 +68,7 @@ jobs: - name: build run: rake -E 'STDOUT.sync=true' test env: - MRUBY_CONFIG: travis_config.rb + MRUBY_TARGET: travis CFLAGS: -g -O1 -Wall -Wundef Windows-Cygwin: @@ -94,9 +94,26 @@ jobs: shell: cmd run: C:\tools\cygwin\bin\ruby.exe /usr/bin/rake -E 'STDOUT.sync=true' -m env: - MRUBY_CONFIG: travis_config.rb + MRUBY_TARGET: travis - name: test shell: cmd run: C:\tools\cygwin\bin\ruby.exe /usr/bin/rake -E 'STDOUT.sync=true' test env: - MRUBY_CONFIG: travis_config.rb + MRUBY_TARGET: travis + + Windows-VC: + runs-on: windows-latest + steps: + - uses: actions/checkout@v1 + - name: chocolatey + run: choco install -y ruby gperf + - name: build and test + shell: cmd + run: | + call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvars64.bat" + rake -E "STDOUT.sync=true" -m -j4 -v test + env: + MRUBY_TARGET: appveyor + # TODO(take-cheeze): Re-enable /O2 + CFLAGS: "/c /nologo /W3 /we4013 /Zi /MD /D_CRT_SECURE_NO_WARNINGS" + CXXFLAGS: "/c /nologo /W3 /Zi /MD /EHs /D_CRT_SECURE_NO_WARNINGS" -- cgit v1.2.3 From f6dcc6dcfcd8ff49a418159bc05b93c7c817f1f0 Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Sun, 24 May 2020 23:12:27 +0900 Subject: Use the newer `bison` on GitHub actions macOS; ref #4903 `Windows-MinGW` and `Windows-VC` also requires updates. --- .github/workflows/build.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to '.github') diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 2f8b69da7..59cf5791e 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -54,10 +54,10 @@ jobs: - uses: actions/checkout@v1 - name: brew run: brew install ruby gperf - - name: build - run: rake -m - - name: test - run: rake test + - name: build and test + run: rake -m -j4 all test + env: + MRUBY_TARGET: travis Windows-MinGW: runs-on: windows-latest -- cgit v1.2.3 From 2c1d209fd5514979d03382efd88189460c1de119 Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Thu, 4 Jun 2020 18:24:58 +0900 Subject: Remove `rake -v` option from GitHub Actions. --- .github/workflows/build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to '.github') diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 59cf5791e..8bfbe0e8a 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -97,7 +97,7 @@ jobs: MRUBY_TARGET: travis - name: test shell: cmd - run: C:\tools\cygwin\bin\ruby.exe /usr/bin/rake -E 'STDOUT.sync=true' test + run: C:\tools\cygwin\bin\ruby.exe /usr/bin/rake -m -j4 -v -E 'STDOUT.sync=true' test env: MRUBY_TARGET: travis @@ -111,7 +111,7 @@ jobs: shell: cmd run: | call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvars64.bat" - rake -E "STDOUT.sync=true" -m -j4 -v test + rake -E "STDOUT.sync=true" -m -j4 test env: MRUBY_TARGET: appveyor # TODO(take-cheeze): Re-enable /O2 -- cgit v1.2.3 From 1adf93aa5492edcf5e4e4b7b9747bd50229e6f4d Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Fri, 5 Jun 2020 10:18:17 +0900 Subject: Stop Rake multitasking on Windows-VC for the time being. --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to '.github') diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 8bfbe0e8a..256394af7 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -111,7 +111,7 @@ jobs: shell: cmd run: | call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvars64.bat" - rake -E "STDOUT.sync=true" -m -j4 test + rake -E "STDOUT.sync=true" test env: MRUBY_TARGET: appveyor # TODO(take-cheeze): Re-enable /O2 -- cgit v1.2.3 From 4684864f04a8615a455c15490a53a97e2ca676d2 Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Fri, 5 Jun 2020 11:15:39 +0900 Subject: Specify new `MRUBY_TARGET` instead of `MRUBY_CONFIG`. --- .github/workflows/build.yml | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) (limited to '.github') diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 256394af7..15ea84ff1 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -15,6 +15,11 @@ jobs: run: rake -m - name: test run: rake test + run: sudo apt install ruby gperf + - name: build and test + run: rake -m -j4 all test + env: + MRUBY_TARGET: travis Ubuntu-1804-gcc: runs-on: ubuntu-18.04 @@ -26,10 +31,12 @@ jobs: - uses: actions/checkout@v1 - name: apt run: sudo apt install ruby gperf gcc g++ - - name: build - run: rake -m - - name: test - run: rake test + - name: build and test + run: rake -m -j4 all test + env: + MRUBY_TARGET: travis + CC: gcc + CXX: g++ Ubuntu-1804-clang: runs-on: ubuntu-18.04 @@ -41,10 +48,12 @@ jobs: - uses: actions/checkout@v1 - name: apt run: sudo apt install ruby gperf - - name: build - run: rake -m - - name: test - run: rake test + - name: build and test + run: rake -m -j4 all test + env: + MRUBY_TARGET: travis + CC: clang + CXX: clang++ macOS: runs-on: macos-latest -- cgit v1.2.3 From 3a64cde61d6cbc24a640b8d38434e86168d9362e Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Fri, 5 Jun 2020 15:58:42 +0900 Subject: Add `/std:c++latest` to VC option in `build.yml`. --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to '.github') diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 15ea84ff1..0a553c919 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -125,4 +125,4 @@ jobs: MRUBY_TARGET: appveyor # TODO(take-cheeze): Re-enable /O2 CFLAGS: "/c /nologo /W3 /we4013 /Zi /MD /D_CRT_SECURE_NO_WARNINGS" - CXXFLAGS: "/c /nologo /W3 /Zi /MD /EHs /D_CRT_SECURE_NO_WARNINGS" + CXXFLAGS: "/c /nologo /W3 /Zi /MD /EHs /D_CRT_SECURE_NO_WARNINGS /std:c++latest" -- cgit v1.2.3 From 71eb4b2b227c083f187c634212f5fc557f392fb9 Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Sun, 7 Jun 2020 17:20:37 +0900 Subject: Avoid use of designated initializers to generate `irep` struct. Since it's not supported on VC without `/std:c++latest`. That means it doesn't work for `cxx_api` build on Windows VC. --- .github/workflows/build.yml | 2 +- src/array.c | 28 ++++++++++++++-------------- src/proc.c | 28 ++++++++++++++-------------- 3 files changed, 29 insertions(+), 29 deletions(-) (limited to '.github') diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 0a553c919..15ea84ff1 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -125,4 +125,4 @@ jobs: MRUBY_TARGET: appveyor # TODO(take-cheeze): Re-enable /O2 CFLAGS: "/c /nologo /W3 /we4013 /Zi /MD /D_CRT_SECURE_NO_WARNINGS" - CXXFLAGS: "/c /nologo /W3 /Zi /MD /EHs /D_CRT_SECURE_NO_WARNINGS /std:c++latest" + CXXFLAGS: "/c /nologo /W3 /Zi /MD /EHs /D_CRT_SECURE_NO_WARNINGS" diff --git a/src/array.c b/src/array.c index 773165a8c..a2a8b3eec 100644 --- a/src/array.c +++ b/src/array.c @@ -1311,20 +1311,20 @@ static const mrb_sym each_syms[] = { }; static const mrb_irep each_irep = { - .nlocals = 3, - .nregs = 7, - .flags = MRB_ISEQ_NO_FREE | MRB_IREP_NO_FREE, - .iseq = each_iseq, - .pool = NULL, - .syms = each_syms, - .reps = NULL, - .lv = NULL, - .debug_info = NULL, - .ilen = sizeof(each_iseq), - .plen = 0, - .slen = sizeof(each_syms), - .rlen = 1, - .refcnt = 0, + 3, /* nlocals */ + 7, /* nregs */ + MRB_ISEQ_NO_FREE | MRB_IREP_NO_FREE, /* flags */ + each_iseq, /* iseq */ + NULL, /* pool */ + each_syms, /* syms */ + NULL, /* reps */ + NULL, /* lv */ + NULL, /* debug_info */ + sizeof(each_iseq), /* ilen */ + 0, /* plen */ + sizeof(each_syms), /* slen */ + 1, /* rlen */ + 0, /* refcnt */ }; static void diff --git a/src/proc.c b/src/proc.c index f01c45041..2da2ec77e 100644 --- a/src/proc.c +++ b/src/proc.c @@ -15,20 +15,20 @@ static const mrb_code call_iseq[] = { }; static const mrb_irep call_irep = { - .nlocals = 0, - .nregs = 2, - .flags = MRB_ISEQ_NO_FREE | MRB_IREP_NO_FREE, - .iseq = call_iseq, - .pool = NULL, - .syms = NULL, - .reps = NULL, - .lv = NULL, - .debug_info = NULL, - .ilen = 1, - .plen = 0, - .slen = 0, - .rlen = 1, - .refcnt = 0, + 0, /* nlocals */ + 2, /* nregs */ + MRB_ISEQ_NO_FREE | MRB_IREP_NO_FREE, /* flags */ + call_iseq, /* iseq */ + NULL, /* pool */ + NULL, /* syms */ + NULL, /* reps */ + NULL, /* lv */ + NULL, /* debug_info */ + 1, /* ilen */ + 0, /* plen */ + 0, /* slen */ + 1, /* rlen */ + 0, /* refcnt */ }; struct RProc* -- cgit v1.2.3 From a4a1e01e8123928057dff9b43e034c1dd137af81 Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Mon, 15 Jun 2020 15:56:20 +0900 Subject: Add explicit `gensym` to GitHub Actions. --- .github/workflows/build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to '.github') diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 15ea84ff1..aa851c305 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -17,7 +17,7 @@ jobs: run: rake test run: sudo apt install ruby gperf - name: build and test - run: rake -m -j4 all test + run: rake -m -j4 gensym all test env: MRUBY_TARGET: travis @@ -64,7 +64,7 @@ jobs: - name: brew run: brew install ruby gperf - name: build and test - run: rake -m -j4 all test + run: rake -m -j4 gensym all test env: MRUBY_TARGET: travis -- cgit v1.2.3 From 31877043c4a8b8cfbd37d2bcf39b4360614b82dc Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Sat, 20 Jun 2020 22:32:24 +0900 Subject: Invoke `rake gensym` for GitHub action build. --- .github/workflows/build.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to '.github') diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index aa851c305..b04da6b64 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -32,7 +32,7 @@ jobs: - name: apt run: sudo apt install ruby gperf gcc g++ - name: build and test - run: rake -m -j4 all test + run: rake -m -j4 gensym all test env: MRUBY_TARGET: travis CC: gcc @@ -49,7 +49,7 @@ jobs: - name: apt run: sudo apt install ruby gperf - name: build and test - run: rake -m -j4 all test + run: rake -m -j4 gensym all test env: MRUBY_TARGET: travis CC: clang @@ -75,7 +75,7 @@ jobs: - name: chocolatey run: choco install -y ruby gperf - name: build - run: rake -E 'STDOUT.sync=true' test + run: rake -E 'STDOUT.sync=true' -j4 gensym test env: MRUBY_TARGET: travis CFLAGS: -g -O1 -Wall -Wundef @@ -106,7 +106,7 @@ jobs: MRUBY_TARGET: travis - name: test shell: cmd - run: C:\tools\cygwin\bin\ruby.exe /usr/bin/rake -m -j4 -v -E 'STDOUT.sync=true' test + run: C:\tools\cygwin\bin\ruby.exe /usr/bin/rake -E 'STDOUT.sync=true' gensym test env: MRUBY_TARGET: travis @@ -120,7 +120,7 @@ jobs: shell: cmd run: | call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvars64.bat" - rake -E "STDOUT.sync=true" test + rake -E "STDOUT.sync=true" gensym all test env: MRUBY_TARGET: appveyor # TODO(take-cheeze): Re-enable /O2 -- cgit v1.2.3 From 905d4010bf250f5ba793c911ff65f12a2eda2fb3 Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Sat, 8 Aug 2020 19:20:49 +0900 Subject: Fix wrong YAML in `.github/workflows/build.yml`. --- .github/workflows/build.yml | 48 ++++++++++++--------------------------------- 1 file changed, 13 insertions(+), 35 deletions(-) (limited to '.github') diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index b04da6b64..95f7c40d8 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -11,15 +11,8 @@ jobs: - uses: actions/checkout@v1 - name: apt run: sudo apt install ruby gperf - - name: build - run: rake -m - - name: test - run: rake test - run: sudo apt install ruby gperf - name: build and test run: rake -m -j4 gensym all test - env: - MRUBY_TARGET: travis Ubuntu-1804-gcc: runs-on: ubuntu-18.04 @@ -33,10 +26,6 @@ jobs: run: sudo apt install ruby gperf gcc g++ - name: build and test run: rake -m -j4 gensym all test - env: - MRUBY_TARGET: travis - CC: gcc - CXX: g++ Ubuntu-1804-clang: runs-on: ubuntu-18.04 @@ -50,10 +39,6 @@ jobs: run: sudo apt install ruby gperf - name: build and test run: rake -m -j4 gensym all test - env: - MRUBY_TARGET: travis - CC: clang - CXX: clang++ macOS: runs-on: macos-latest @@ -65,23 +50,23 @@ jobs: run: brew install ruby gperf - name: build and test run: rake -m -j4 gensym all test - env: - MRUBY_TARGET: travis Windows-MinGW: runs-on: windows-latest + env: + MRUBY_TARGET: travis + CFLAGS: -g -O1 -Wall -Wundef steps: - uses: actions/checkout@v1 - name: chocolatey run: choco install -y ruby gperf - name: build - run: rake -E 'STDOUT.sync=true' -j4 gensym test - env: - MRUBY_TARGET: travis - CFLAGS: -g -O1 -Wall -Wundef + run: rake -E 'STDOUT.sync=true' -j4 gensym all test Windows-Cygwin: runs-on: windows-latest + env: + MRUBY_TARGET: travis steps: - uses: actions/checkout@v1 - uses: actions/cache@v1 @@ -99,19 +84,17 @@ jobs: - name: Set ENV run: | echo '::set-env name=PATH::C:\tools\cygwin\bin;C:\tools\cygwin\usr\bin' - - name: build - shell: cmd - run: C:\tools\cygwin\bin\ruby.exe /usr/bin/rake -E 'STDOUT.sync=true' -m - env: - MRUBY_TARGET: travis - - name: test + - name: build and test shell: cmd - run: C:\tools\cygwin\bin\ruby.exe /usr/bin/rake -E 'STDOUT.sync=true' gensym test - env: - MRUBY_TARGET: travis + run: C:\tools\cygwin\bin\ruby.exe /usr/bin/rake -E 'STDOUT.sync=true' -m gensym all test Windows-VC: runs-on: windows-latest + env: + MRUBY_TARGET: appveyor + # TODO(take-cheeze): Re-enable /O2 + CFLAGS: "/c /nologo /W3 /we4013 /Zi /MD /D_CRT_SECURE_NO_WARNINGS" + CXXFLAGS: "/c /nologo /W3 /Zi /MD /EHs /D_CRT_SECURE_NO_WARNINGS" steps: - uses: actions/checkout@v1 - name: chocolatey @@ -121,8 +104,3 @@ jobs: run: | call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvars64.bat" rake -E "STDOUT.sync=true" gensym all test - env: - MRUBY_TARGET: appveyor - # TODO(take-cheeze): Re-enable /O2 - CFLAGS: "/c /nologo /W3 /we4013 /Zi /MD /D_CRT_SECURE_NO_WARNINGS" - CXXFLAGS: "/c /nologo /W3 /Zi /MD /EHs /D_CRT_SECURE_NO_WARNINGS" -- cgit v1.2.3