From 825c48c8900c411da8981ab74cd577be667e4b00 Mon Sep 17 00:00:00 2001 From: Tom Tang Date: Thu, 25 May 2023 20:38:31 +0000 Subject: [PATCH 1/3] chore: the build system breaks on Python 3.11 because `io.open()` no longer accepts 'U' in the file mode --- setup.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/setup.sh b/setup.sh index b1f75598..41aecf89 100755 --- a/setup.sh +++ b/setup.sh @@ -19,6 +19,10 @@ tar xf firefox-102.2.0esr.source.tar.xz echo "Done downloading spidermonkey source code" echo "Building spidermonkey" +cd firefox-102.2.0/python/mozbuild/mozbuild +# the build system breaks on Python 3.11 (`io.open()` no longer accepts 'U' in the file mode) +sed -i 's/"rU"/"r"/g' util.py +cd - cd firefox-102.2.0/js sed -i 's/bool Unbox/JS_PUBLIC_API bool Unbox/g' ./public/Class.h # need to manually add JS_PUBLIC_API to js::Unbox until it gets fixed in Spidermonkey sed -i 's/bool js::Unbox/JS_PUBLIC_API bool js::Unbox/g' ./src/vm/JSObject.cpp # same here From 330eb4e691ad30ebab19b7faf39d4fb5d9028346 Mon Sep 17 00:00:00 2001 From: Tom Tang Date: Thu, 25 May 2023 20:54:14 +0000 Subject: [PATCH 2/3] chore: fix the SpiderMonkey build system on Python 3.11 --- setup.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.sh b/setup.sh index 41aecf89..9433376b 100755 --- a/setup.sh +++ b/setup.sh @@ -21,7 +21,7 @@ echo "Done downloading spidermonkey source code" echo "Building spidermonkey" cd firefox-102.2.0/python/mozbuild/mozbuild # the build system breaks on Python 3.11 (`io.open()` no longer accepts 'U' in the file mode) -sed -i 's/"rU"/"r"/g' util.py +sed -i 's/"rU"/"r"/g' util.py preprocessor.py action/process_define_files.py backend/base.py cd - cd firefox-102.2.0/js sed -i 's/bool Unbox/JS_PUBLIC_API bool Unbox/g' ./public/Class.h # need to manually add JS_PUBLIC_API to js::Unbox until it gets fixed in Spidermonkey From 9f9080cb773e6ef76a3d4ceff4310a1ace9ee62c Mon Sep 17 00:00:00 2001 From: Tom Tang Date: Thu, 25 May 2023 21:02:44 +0000 Subject: [PATCH 3/3] ci: do not fail-fast (cancel all in-progress jobs) if any matrix job fails --- .github/workflows/tests.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/tests.yaml b/.github/workflows/tests.yaml index 96085e88..722d9f83 100644 --- a/.github/workflows/tests.yaml +++ b/.github/workflows/tests.yaml @@ -10,6 +10,7 @@ on: jobs: test-suite: strategy: + fail-fast: false matrix: os: [ 'ubuntu-latest' ] # , 'windows-latest', 'macos-latest' ] python_version: [ '3.9', '3.10', '3.11' ]