From 1d3096eaf0d4c17490411870689ec26806ffa2e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yanis=20Zafir=C3=B3pulos?= <1265028+drkameleon@users.noreply.github.com> Date: Mon, 2 Dec 2024 13:05:30 +0100 Subject: [PATCH 01/13] print ubuntu version --- .github/workflows/ci.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 79ce8e413f..764b012481 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -43,6 +43,11 @@ jobs: run: shell: ${{ matrix.shell }} steps: + - name: Check ubuntu version + if: (matrix.os == 'ubuntu-latest') + run: | + lsb_release -a + - name: Install Arturo uses: arturo-lang/arturo-action@main with: From ee6c4f5679c9d1716a7dca7dff92192da77bf74f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yanis=20Zafir=C3=B3pulos?= <1265028+drkameleon@users.noreply.github.com> Date: Mon, 2 Dec 2024 13:39:53 +0100 Subject: [PATCH 02/13] let's try forcing 24.04 --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 764b012481..c9741e981f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -26,7 +26,7 @@ jobs: strategy: matrix: include: - - {name: "Linux (amd64 / full)", os: ubuntu-latest, arch: amd64, mode: full, shell: bash} + - {name: "Linux (amd64 / full)", os: ubuntu-24.04, arch: amd64, mode: full, shell: bash} - {name: "Linux (amd64 / safe)", os: ubuntu-latest, arch: amd64, mode: safe, shell: bash} - {name: "Linux (amd64 / mini)", os: ubuntu-latest, arch: amd64, mode: mini, shell: bash} - {name: "Linux (arm64 / mini)", os: ubuntu-latest, arch: arm64, mode: mini, shell: bash} From bf38a594052764236ac7995b2c41c88ca4dc19ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yanis=20Zafir=C3=B3pulos?= <1265028+drkameleon@users.noreply.github.com> Date: Thu, 30 Jan 2025 14:22:19 +0100 Subject: [PATCH 03/13] revert changes (`ubuntu-latest` is already 24.04) --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c9741e981f..764b012481 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -26,7 +26,7 @@ jobs: strategy: matrix: include: - - {name: "Linux (amd64 / full)", os: ubuntu-24.04, arch: amd64, mode: full, shell: bash} + - {name: "Linux (amd64 / full)", os: ubuntu-latest, arch: amd64, mode: full, shell: bash} - {name: "Linux (amd64 / safe)", os: ubuntu-latest, arch: amd64, mode: safe, shell: bash} - {name: "Linux (amd64 / mini)", os: ubuntu-latest, arch: amd64, mode: mini, shell: bash} - {name: "Linux (arm64 / mini)", os: ubuntu-latest, arch: arm64, mode: mini, shell: bash} From 573ae09c5578ec4620e885bd698c75a11a425b06 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yanis=20Zafir=C3=B3pulos?= <1265028+drkameleon@users.noreply.github.com> Date: Thu, 30 Jan 2025 14:27:44 +0100 Subject: [PATCH 04/13] figure out webkit version and link accordingly --- src/extras/webview.nim | 5 +++-- src/extras/window.nim | 7 ++++--- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/extras/webview.nim b/src/extras/webview.nim index 6e7cc3ca80..3528565cea 100644 --- a/src/extras/webview.nim +++ b/src/extras/webview.nim @@ -25,10 +25,11 @@ import extras/window when defined(linux): {.compile("webview/webview-unix.cc","-std=c++11").} + let webkit_version = staticExec("pkg-config --modversion webkit2gtk-4.1 2>/dev/null || echo 4.0") {.passC: "-DWEBVIEW_GTK=1 -DWEBVIEW_STATIC=1 " & - staticExec"pkg-config --cflags gtk+-3.0 webkit2gtk-4.0".} + staticExec"pkg-config --cflags gtk+-3.0 webkit2gtk-" & webkit_version.} {.passL: "-lstdc++ " & - staticExec"pkg-config --libs gtk+-3.0 webkit2gtk-4.0".} + staticExec"pkg-config --libs gtk+-3.0 webkit2gtk-" & webkit_version.} elif defined(freebsd) or defined(netbsd) or defined(openbsd): {.compile("webview/webview-unix.cc","-std=c++11").} {.passC: "-DWEBVIEW_GTK=1 " & diff --git a/src/extras/window.nim b/src/extras/window.nim index 39a06e283c..85fc5cf4e5 100644 --- a/src/extras/window.nim +++ b/src/extras/window.nim @@ -22,9 +22,10 @@ import os {.passC: "-I" & parentDir(currentSourcePath()) .} when defined(linux): - {.compile("window/window.cc", staticExec"pkg-config --cflags gtk+-3.0 webkit2gtk-4.0").} - {.passC: staticExec"pkg-config --cflags gtk+-3.0 webkit2gtk-4.0".} - {.passL: staticExec"pkg-config --libs gtk+-3.0 webkit2gtk-4.0".} + let webkit_version = staticExec("pkg-config --modversion webkit2gtk-4.1 2>/dev/null || echo 4.0") + {.compile("window/window.cc", staticExec"pkg-config --cflags gtk+-3.0 webkit2gtk-" & webkit_version).} + {.passC: staticExec"pkg-config --cflags gtk+-3.0 webkit2gtk-" & webkit_version .} + {.passL: staticExec"pkg-config --libs gtk+-3.0 webkit2gtk-" & webkit_version .} elif defined(freebsd) or defined(netbsd) or defined(openbsd): {.compile("window/window.cc", staticExec"pkg-config --cflags gtk3 webkit2-gtk3").} {.passC: staticExec"pkg-config --cflags gtk3 webkit2-gtk3".} From 86b45e1c0932d41049c312bed3b2f70938fd8d8b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yanis=20Zafir=C3=B3pulos?= <1265028+drkameleon@users.noreply.github.com> Date: Thu, 30 Jan 2025 14:50:51 +0100 Subject: [PATCH 05/13] trigger rebuild --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 764b012481..be98ff2c39 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -47,7 +47,7 @@ jobs: if: (matrix.os == 'ubuntu-latest') run: | lsb_release -a - + - name: Install Arturo uses: arturo-lang/arturo-action@main with: From 20dea5f747b62cdcdbfe6dd8caa40f929b3ae806 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yanis=20Zafir=C3=B3pulos?= <1265028+drkameleon@users.noreply.github.com> Date: Thu, 30 Jan 2025 14:56:13 +0100 Subject: [PATCH 06/13] let's use it directly... --- src/extras/webview.nim | 5 ++--- src/extras/window.nim | 7 +++---- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/src/extras/webview.nim b/src/extras/webview.nim index 3528565cea..e84448fb1c 100644 --- a/src/extras/webview.nim +++ b/src/extras/webview.nim @@ -25,11 +25,10 @@ import extras/window when defined(linux): {.compile("webview/webview-unix.cc","-std=c++11").} - let webkit_version = staticExec("pkg-config --modversion webkit2gtk-4.1 2>/dev/null || echo 4.0") {.passC: "-DWEBVIEW_GTK=1 -DWEBVIEW_STATIC=1 " & - staticExec"pkg-config --cflags gtk+-3.0 webkit2gtk-" & webkit_version.} + staticExec"pkg-config --cflags gtk+-3.0 webkit2gtk-" & staticExec("pkg-config --modversion webkit2gtk-4.1 2>/dev/null || echo 4.0").} {.passL: "-lstdc++ " & - staticExec"pkg-config --libs gtk+-3.0 webkit2gtk-" & webkit_version.} + staticExec"pkg-config --libs gtk+-3.0 webkit2gtk-" & staticExec("pkg-config --modversion webkit2gtk-4.1 2>/dev/null || echo 4.0").} elif defined(freebsd) or defined(netbsd) or defined(openbsd): {.compile("webview/webview-unix.cc","-std=c++11").} {.passC: "-DWEBVIEW_GTK=1 " & diff --git a/src/extras/window.nim b/src/extras/window.nim index 85fc5cf4e5..75fb02250d 100644 --- a/src/extras/window.nim +++ b/src/extras/window.nim @@ -22,10 +22,9 @@ import os {.passC: "-I" & parentDir(currentSourcePath()) .} when defined(linux): - let webkit_version = staticExec("pkg-config --modversion webkit2gtk-4.1 2>/dev/null || echo 4.0") - {.compile("window/window.cc", staticExec"pkg-config --cflags gtk+-3.0 webkit2gtk-" & webkit_version).} - {.passC: staticExec"pkg-config --cflags gtk+-3.0 webkit2gtk-" & webkit_version .} - {.passL: staticExec"pkg-config --libs gtk+-3.0 webkit2gtk-" & webkit_version .} + {.compile("window/window.cc", staticExec"pkg-config --cflags gtk+-3.0 webkit2gtk-" & staticExec("pkg-config --modversion webkit2gtk-4.1 2>/dev/null || echo 4.0")).} + {.passC: staticExec"pkg-config --cflags gtk+-3.0 webkit2gtk-" & staticExec("pkg-config --modversion webkit2gtk-4.1 2>/dev/null || echo 4.0") .} + {.passL: staticExec"pkg-config --libs gtk+-3.0 webkit2gtk-" & staticExec("pkg-config --modversion webkit2gtk-4.1 2>/dev/null || echo 4.0") .} elif defined(freebsd) or defined(netbsd) or defined(openbsd): {.compile("window/window.cc", staticExec"pkg-config --cflags gtk3 webkit2-gtk3").} {.passC: staticExec"pkg-config --cflags gtk3 webkit2-gtk3".} From c60c5e9361560366a5a4fc6b076b8da45998fbcc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yanis=20Zafir=C3=B3pulos?= <1265028+drkameleon@users.noreply.github.com> Date: Thu, 30 Jan 2025 16:18:14 +0100 Subject: [PATCH 07/13] added `configWebkit` helper in build config (Linux only) --- config.nims | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/config.nims b/config.nims index bdf25b2e67..de122dc7a4 100644 --- a/config.nims +++ b/config.nims @@ -63,6 +63,19 @@ proc configWinPCRE() = proc configMacosPCRE() = --dynlibOverride:pcre +proc configWebkit() = + const webkitVersions = ["4.1", "4.0"] + + proc getWebkitVersion(): string = + for version in webkitVersions: + let ret = gorgeEx("pkg-config --exists webkit2gtk-" & version) + if ret.exitCode == 0: + return version + + return "" + + switch "define", "webkitVersion=\"" & getWebkitVersion() & "\"" + proc configWinSSL() = --define:"noOpenSSLHacks" --define:"sslVersion:(" @@ -81,6 +94,9 @@ proc main() = # configGMPOnWindows() configMimalloc() + if defined(linux): + configWebkit() + if defined(windows): configWinPCRE() From 4c3f6274b0c10342fb19a75000cd472a74af126a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yanis=20Zafir=C3=B3pulos?= <1265028+drkameleon@users.noreply.github.com> Date: Thu, 30 Jan 2025 16:18:31 +0100 Subject: [PATCH 08/13] use our new `webkitVersion` helper --- src/extras/webview.nim | 6 ++++-- src/extras/window.nim | 8 +++++--- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/extras/webview.nim b/src/extras/webview.nim index e84448fb1c..df7bf56335 100644 --- a/src/extras/webview.nim +++ b/src/extras/webview.nim @@ -24,11 +24,13 @@ import extras/window {.passC: "-I" & parentDir(currentSourcePath()) .} when defined(linux): + const + webkitVersion {.strdefine.} = "empty" {.compile("webview/webview-unix.cc","-std=c++11").} {.passC: "-DWEBVIEW_GTK=1 -DWEBVIEW_STATIC=1 " & - staticExec"pkg-config --cflags gtk+-3.0 webkit2gtk-" & staticExec("pkg-config --modversion webkit2gtk-4.1 2>/dev/null || echo 4.0").} + staticExec"pkg-config --cflags gtk+-3.0 webkit2gtk-" & webkitVersion .} {.passL: "-lstdc++ " & - staticExec"pkg-config --libs gtk+-3.0 webkit2gtk-" & staticExec("pkg-config --modversion webkit2gtk-4.1 2>/dev/null || echo 4.0").} + staticExec"pkg-config --libs gtk+-3.0 webkit2gtk-" & webkitVersion .} elif defined(freebsd) or defined(netbsd) or defined(openbsd): {.compile("webview/webview-unix.cc","-std=c++11").} {.passC: "-DWEBVIEW_GTK=1 " & diff --git a/src/extras/window.nim b/src/extras/window.nim index 75fb02250d..6cbaa5c351 100644 --- a/src/extras/window.nim +++ b/src/extras/window.nim @@ -22,9 +22,11 @@ import os {.passC: "-I" & parentDir(currentSourcePath()) .} when defined(linux): - {.compile("window/window.cc", staticExec"pkg-config --cflags gtk+-3.0 webkit2gtk-" & staticExec("pkg-config --modversion webkit2gtk-4.1 2>/dev/null || echo 4.0")).} - {.passC: staticExec"pkg-config --cflags gtk+-3.0 webkit2gtk-" & staticExec("pkg-config --modversion webkit2gtk-4.1 2>/dev/null || echo 4.0") .} - {.passL: staticExec"pkg-config --libs gtk+-3.0 webkit2gtk-" & staticExec("pkg-config --modversion webkit2gtk-4.1 2>/dev/null || echo 4.0") .} + const + webkitVersion {.strdefine.} = "empty" + {.compile("window/window.cc", staticExec"pkg-config --cflags gtk+-3.0 webkit2gtk-" & webkitVersion).} + {.passC: staticExec"pkg-config --cflags gtk+-3.0 webkit2gtk-" & webkitVersion .} + {.passL: staticExec"pkg-config --libs gtk+-3.0 webkit2gtk-" & webkitVersion .} elif defined(freebsd) or defined(netbsd) or defined(openbsd): {.compile("window/window.cc", staticExec"pkg-config --cflags gtk3 webkit2-gtk3").} {.passC: staticExec"pkg-config --cflags gtk3 webkit2-gtk3".} From 176fe85277006debe461fa0bdaf53c1aa36b2048 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yanis=20Zafir=C3=B3pulos?= <1265028+drkameleon@users.noreply.github.com> Date: Thu, 30 Jan 2025 16:24:20 +0100 Subject: [PATCH 09/13] debugging & minor fixes --- config.nims | 5 ++++- src/extras/webview.nim | 4 ++-- src/extras/window.nim | 8 +++++--- 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/config.nims b/config.nims index de122dc7a4..84657d86c6 100644 --- a/config.nims +++ b/config.nims @@ -74,7 +74,10 @@ proc configWebkit() = return "" - switch "define", "webkitVersion=\"" & getWebkitVersion() & "\"" + static: + echo "Webkit version found: " & $(getWebkitVersion()) + + switch "define", "webkitVersion=\"" & getWebkitVersion() & '"' proc configWinSSL() = --define:"noOpenSSLHacks" diff --git a/src/extras/webview.nim b/src/extras/webview.nim index df7bf56335..e0b5c8f87d 100644 --- a/src/extras/webview.nim +++ b/src/extras/webview.nim @@ -28,9 +28,9 @@ when defined(linux): webkitVersion {.strdefine.} = "empty" {.compile("webview/webview-unix.cc","-std=c++11").} {.passC: "-DWEBVIEW_GTK=1 -DWEBVIEW_STATIC=1 " & - staticExec"pkg-config --cflags gtk+-3.0 webkit2gtk-" & webkitVersion .} + staticExec("pkg-config --cflags gtk+-3.0 webkit2gtk-" & webkitVersion) .} {.passL: "-lstdc++ " & - staticExec"pkg-config --libs gtk+-3.0 webkit2gtk-" & webkitVersion .} + staticExec("pkg-config --libs gtk+-3.0 webkit2gtk-" & webkitVersion) .} elif defined(freebsd) or defined(netbsd) or defined(openbsd): {.compile("webview/webview-unix.cc","-std=c++11").} {.passC: "-DWEBVIEW_GTK=1 " & diff --git a/src/extras/window.nim b/src/extras/window.nim index 6cbaa5c351..0169336e76 100644 --- a/src/extras/window.nim +++ b/src/extras/window.nim @@ -24,9 +24,11 @@ import os when defined(linux): const webkitVersion {.strdefine.} = "empty" - {.compile("window/window.cc", staticExec"pkg-config --cflags gtk+-3.0 webkit2gtk-" & webkitVersion).} - {.passC: staticExec"pkg-config --cflags gtk+-3.0 webkit2gtk-" & webkitVersion .} - {.passL: staticExec"pkg-config --libs gtk+-3.0 webkit2gtk-" & webkitVersion .} + {.compile("window/window.cc", staticExec("pkg-config --cflags gtk+-3.0 webkit2gtk-" & webkitVersion)).} + static: + echo "FILE: " & "pkg-config --cflags gtk+-3.0 webkit2gtk-" & webkitVersion + {.passC: staticExec("pkg-config --cflags gtk+-3.0 webkit2gtk-" & webkitVersion) .} + {.passL: staticExec("pkg-config --libs gtk+-3.0 webkit2gtk-" & webkitVersion) .} elif defined(freebsd) or defined(netbsd) or defined(openbsd): {.compile("window/window.cc", staticExec"pkg-config --cflags gtk3 webkit2-gtk3").} {.passC: staticExec"pkg-config --cflags gtk3 webkit2-gtk3".} From f9c9e21125e7010c087f8ba77bb684b4e9336514 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yanis=20Zafir=C3=B3pulos?= <1265028+drkameleon@users.noreply.github.com> Date: Thu, 30 Jan 2025 16:26:55 +0100 Subject: [PATCH 10/13] fixed definition syntax (had extra double quotes!) --- config.nims | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config.nims b/config.nims index 84657d86c6..c5c1d63df2 100644 --- a/config.nims +++ b/config.nims @@ -77,7 +77,7 @@ proc configWebkit() = static: echo "Webkit version found: " & $(getWebkitVersion()) - switch "define", "webkitVersion=\"" & getWebkitVersion() & '"' + switch "define", "webkitVersion=" & getWebkitVersion() proc configWinSSL() = --define:"noOpenSSLHacks" From 66954df3bde82b9e4364eb2bae0cfde78959d68e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yanis=20Zafir=C3=B3pulos?= <1265028+drkameleon@users.noreply.github.com> Date: Thu, 30 Jan 2025 16:27:24 +0100 Subject: [PATCH 11/13] removed debugging output --- src/extras/window.nim | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/extras/window.nim b/src/extras/window.nim index 0169336e76..582a175ee0 100644 --- a/src/extras/window.nim +++ b/src/extras/window.nim @@ -25,8 +25,6 @@ when defined(linux): const webkitVersion {.strdefine.} = "empty" {.compile("window/window.cc", staticExec("pkg-config --cflags gtk+-3.0 webkit2gtk-" & webkitVersion)).} - static: - echo "FILE: " & "pkg-config --cflags gtk+-3.0 webkit2gtk-" & webkitVersion {.passC: staticExec("pkg-config --cflags gtk+-3.0 webkit2gtk-" & webkitVersion) .} {.passL: staticExec("pkg-config --libs gtk+-3.0 webkit2gtk-" & webkitVersion) .} elif defined(freebsd) or defined(netbsd) or defined(openbsd): From 042cee53a399e6a0765efb3f060a9a837eaeda3e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yanis=20Zafir=C3=B3pulos?= <1265028+drkameleon@users.noreply.github.com> Date: Thu, 30 Jan 2025 16:27:53 +0100 Subject: [PATCH 12/13] and removed debugging output as well... --- config.nims | 3 --- 1 file changed, 3 deletions(-) diff --git a/config.nims b/config.nims index c5c1d63df2..ced4d82acd 100644 --- a/config.nims +++ b/config.nims @@ -74,9 +74,6 @@ proc configWebkit() = return "" - static: - echo "Webkit version found: " & $(getWebkitVersion()) - switch "define", "webkitVersion=" & getWebkitVersion() proc configWinSSL() = From 018dbc7b0da1d02d04583779d2ecc4c19cd677b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yanis=20Zafir=C3=B3pulos?= <1265028+drkameleon@users.noreply.github.com> Date: Thu, 30 Jan 2025 16:43:52 +0100 Subject: [PATCH 13/13] sanitize builds + generate extra artifact for Linux (+ Webkit 4.1) --- .github/workflows/ci.yml | 37 +++++++++++++++++++++---------------- 1 file changed, 21 insertions(+), 16 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index be98ff2c39..1ee7d28fff 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -26,17 +26,18 @@ jobs: strategy: matrix: include: - - {name: "Linux (amd64 / full)", os: ubuntu-latest, arch: amd64, mode: full, shell: bash} - - {name: "Linux (amd64 / safe)", os: ubuntu-latest, arch: amd64, mode: safe, shell: bash} - - {name: "Linux (amd64 / mini)", os: ubuntu-latest, arch: amd64, mode: mini, shell: bash} - - {name: "Linux (arm64 / mini)", os: ubuntu-latest, arch: arm64, mode: mini, shell: bash} - - {name: "JS (web / mini)", os: ubuntu-latest, arch: amd64, mode: web, shell: bash} - - {name: "Windows (amd64 / full)", os: windows-latest, arch: amd64, mode: full, shell: "msys2 {0}"} - - {name: "Windows (amd64 / mini)", os: windows-latest, arch: amd64, mode: mini, shell: "msys2 {0}"} - - {name: "macOS (amd64 / full)", os: macOS-13, arch: amd64, mode: full, shell: bash} - - {name: "macOS (amd64 / mini)", os: macOS-13, arch: amd64, mode: mini, shell: bash} - - {name: "macOS (arm64 / full)", os: macos-latest, arch: arm64, mode: full, shell: bash} - - {name: "macOS (arm64 / mini)", os: macos-latest, arch: arm64, mode: mini, shell: bash} + - {name: "Linux (amd64 / full / webkit-4.1)", os: ubuntu-latest, arch: amd64, mode: full, shell: bash} + - {name: "Linux (amd64 / full)", os: ubuntu-22.04, arch: amd64, mode: full, shell: bash} + - {name: "Linux (amd64 / safe)", os: ubuntu-22.04, arch: amd64, mode: safe, shell: bash} + - {name: "Linux (amd64 / mini)", os: ubuntu-22.04, arch: amd64, mode: mini, shell: bash} + - {name: "Linux (arm64 / mini)", os: ubuntu-22.04, arch: arm64, mode: mini, shell: bash} + - {name: "JS (web / mini)", os: ubuntu-latest, arch: amd64, mode: web, shell: bash} + - {name: "Windows (amd64 / full)", os: windows-latest, arch: amd64, mode: full, shell: "msys2 {0}"} + - {name: "Windows (amd64 / mini)", os: windows-latest, arch: amd64, mode: mini, shell: "msys2 {0}"} + - {name: "macOS (amd64 / full)", os: macOS-13, arch: amd64, mode: full, shell: bash} + - {name: "macOS (amd64 / mini)", os: macOS-13, arch: amd64, mode: mini, shell: bash} + - {name: "macOS (arm64 / full)", os: macos-latest, arch: arm64, mode: full, shell: bash} + - {name: "macOS (arm64 / mini)", os: macos-latest, arch: arm64, mode: mini, shell: bash} name: ${{ matrix.name }} defaults: @@ -57,7 +58,7 @@ jobs: src: ${{ github.ref }} metadata: ${{ env.BRANCH_NAME }}-${{ github.sha }} - - if: (matrix.mode != 'safe' && matrix.mode != 'web') && (matrix.os != 'ubuntu-latest' || matrix.arch != 'arm64') + - if: (matrix.mode != 'safe' && matrix.mode != 'web') && (runner.os != 'Linux' || matrix.arch != 'arm64') name: Run tests (Old) run: | ls -la arturo @@ -67,7 +68,7 @@ jobs: arturo tools/tester.art cd .. - - if: matrix.mode == 'full' && (matrix.os != 'ubuntu-latest' || matrix.arch != 'arm64') + - if: matrix.mode == 'full' && (runner.os != 'Linux' || matrix.arch != 'arm64') name: Run tests (Unitt) run: | cd arturo @@ -80,14 +81,15 @@ jobs: binary_path="arturo/bin/arturo" artifact_os="macos" + artifact_os_extra="" artifact_arch="${{matrix.arch}}" artifact_mode="${{matrix.mode}}" - if [ "${{matrix.os}}" = "windows-latest" ]; then + if [ "${{runner.os}}" = "Windows" ]; then artifact_os="windows" binary_path="${binary_path}.exe" fi - if [ "${{matrix.os}}" = "ubuntu-latest" ]; then + if [ "${{runner.os}}" = "Linux" ]; then artifact_os="linux" if [ "${{matrix.mode}}" = "web" ]; then artifact_os="js" @@ -95,6 +97,9 @@ jobs: artifact_mode="mini" binary_path="${binary_path}.js" fi + if [ "${{matrix.name}}" = "Linux (amd64 / full / webkit-4.1)" ]; then + artifact_os_extra=".webkit41" + fi fi cd arturo @@ -102,7 +107,7 @@ jobs: git_stamp="${{ env.BRANCH_NAME}}.${git_hash}" cd .. - artifact_name="arturo-${git_stamp}-${artifact_arch}-${artifact_os}-${artifact_mode}" + artifact_name="arturo-${git_stamp}-${artifact_arch}-${artifact_os}${artifact_os_extra}-${artifact_mode}" echo "BINARY_PATH=$binary_path" >> "$GITHUB_OUTPUT" echo "ARTIFACT_NAME=$artifact_name" >> "$GITHUB_OUTPUT"