From 7a398bfb8881b8bc05282ca8b4cb26680af11e61 Mon Sep 17 00:00:00 2001 From: Philippe Laporte Date: Tue, 9 Jul 2024 13:50:00 -0400 Subject: [PATCH 01/14] python3-distutils is not needed and a problem on ubuntu-24_04 --- setup.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.sh b/setup.sh index 6e316a11..98887e99 100755 --- a/setup.sh +++ b/setup.sh @@ -19,7 +19,7 @@ if [[ "$OSTYPE" == "linux-gnu"* ]]; then # Linux fi $SUDO apt-get update --yes $SUDO apt-get install --yes cmake graphviz llvm clang pkg-config m4 \ - wget curl python3-distutils python3-dev + wget curl python3-dev # Install Doxygen # the newest version in Ubuntu 20.04 repository is 1.8.17, but we need Doxygen 1.9 series wget -c -q https://www.doxygen.nl/files/doxygen-1.9.7.linux.bin.tar.gz From eebcb6782315c8cb2e5e1777fce09fac24aac996 Mon Sep 17 00:00:00 2001 From: Philippe Laporte Date: Tue, 9 Jul 2024 14:10:35 -0400 Subject: [PATCH 02/14] added ubuntu-24.04 to CI --- .github/workflows/test-and-publish.yaml | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/.github/workflows/test-and-publish.yaml b/.github/workflows/test-and-publish.yaml index 99383de8..ffda6cd2 100644 --- a/.github/workflows/test-and-publish.yaml +++ b/.github/workflows/test-and-publish.yaml @@ -16,6 +16,7 @@ on: options: - '' - 'ubuntu-20.04' + - 'ubuntu-24.04' - 'macos-12' - 'macos-14' - 'windows-2019' @@ -60,7 +61,7 @@ jobs: fail-fast: false matrix: # Use Ubuntu 20.04 / macOS 13 x86_64 / macOS 14 arm64 + Python 3.10 to build SpiderMonkey - os: [ 'ubuntu-20.04', 'macos-13', 'macos-14' ] # macOS 14 runner exclusively runs on M1 hardwares + os: [ 'ubuntu-20.04','ubuntu-24.04','macos-13', 'macos-14' ] # macOS 14 runner exclusively runs on M1 hardwares # see https://github.blog/changelog/2024-01-30-github-actions-macos-14-sonoma-is-now-available python_version: [ '3.10' ] runs-on: ${{ matrix.os }} @@ -123,7 +124,7 @@ jobs: fail-fast: false matrix: # The lowest supported version is Ubuntu 20.04 + Python 3.8 or macOS 12 + Python 3.9 - os: [ 'ubuntu-20.04', 'macos-12', 'macos-14', 'windows-2019' ] + os: [ 'ubuntu-20.04', 'ubuntu-24.04', 'macos-12', 'macos-14', 'windows-2019' ] python_version: [ '3.8', '3.9', '3.10', '3.11', '3.12' ] exclude: # actions/setup-python: The version '3.8'/'3.9' with architecture 'arm64' was not found for macOS. @@ -162,7 +163,7 @@ jobs: poetry install --no-root --only=dev echo "Installed Dependencies" - name: Build Docs # only build docs once - if: ${{ matrix.os == 'ubuntu-20.04' && matrix.python_version == '3.11' }} + if: ${{ (matrix.os == 'ubuntu-20.04' || matrix.os == 'ubuntu-24.04') && matrix.python_version == '3.11' }} run: | sudo apt-get install -y graphviz # the newest version in Ubuntu 20.04 repository is 1.8.17, but we need Doxygen 1.9 series @@ -172,7 +173,7 @@ jobs: rm -rf doxygen-1.9.7 doxygen-1.9.7.linux.bin.tar.gz BUILD_DOCS=1 BUILD_TYPE=None poetry install - name: Upload Doxygen-generated docs as CI artifacts - if: ${{ matrix.os == 'ubuntu-20.04' && matrix.python_version == '3.11' }} + if: ${{ (matrix.os == 'ubuntu-20.04' || matrix.os == 'ubuntu-24.04') && matrix.python_version == '3.11' }} uses: actions/upload-artifact@v3 with: name: docs-${{ github.run_id }}-${{ github.sha }} @@ -244,7 +245,7 @@ jobs: name: cores-${{ matrix.os }}-${{ matrix.python_version }} path: /cores sdist: - runs-on: ubuntu-20.04 + runs-on: [ubuntu-20.04,ubuntu-24.04] steps: - uses: actions/checkout@v4 with: @@ -268,7 +269,7 @@ jobs: path: ./dist/ publish: needs: [build-and-test, sdist] - runs-on: ubuntu-20.04 + runs-on: [ubuntu-20.04,ubuntu-24.04] if: ${{ success() && github.event_name == 'push' && contains(github.ref, 'refs/tags/') }} steps: # no need to checkout @@ -291,7 +292,7 @@ jobs: # Implement a very basic Python package repository (https://peps.python.org/pep-0503/) # and deploy the static files to GitHub Pages needs: [build-and-test, sdist] - runs-on: ubuntu-20.04 + runs-on: [ubuntu-20.04,ubuntu-24.04] if: ${{ (success() || failure()) && github.ref_name == 'main' }} # publish nightly builds regardless of tests failure permissions: # grant GITHUB_TOKEN the permissions required to make a Pages deployment pages: write From efc161e1b3cf8adc0ded555e1d2dd6df00f96b59 Mon Sep 17 00:00:00 2001 From: Philippe Laporte Date: Thu, 11 Jul 2024 09:18:41 -0400 Subject: [PATCH 03/14] only use one version of ubuntu for CI, the latest one --- .github/workflows/test-and-publish.yaml | 21 ++++++++------------- 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/.github/workflows/test-and-publish.yaml b/.github/workflows/test-and-publish.yaml index 865850b7..8a90e710 100644 --- a/.github/workflows/test-and-publish.yaml +++ b/.github/workflows/test-and-publish.yaml @@ -15,7 +15,6 @@ on: required: false options: - '' - - 'ubuntu-20.04' - 'ubuntu-24.04' - 'macos-12' - 'macos-14' @@ -60,8 +59,8 @@ jobs: strategy: fail-fast: false matrix: - # Use Ubuntu 20.04 / macOS 13 x86_64 / macOS 14 arm64 + Python 3.10 to build SpiderMonkey - os: [ 'ubuntu-20.04','ubuntu-24.04','macos-13', 'macos-14' ] # macOS 14 runner exclusively runs on M1 hardwares + # Use Ubuntu 24.04 / macOS 13 x86_64 / macOS 14 arm64 + Python 3.10 to build SpiderMonkey + os: [ 'ubuntu-24.04','macos-13', 'macos-14' ] # macOS 14 runner exclusively runs on M1 hardwares # see https://github.blog/changelog/2024-01-30-github-actions-macos-14-sonoma-is-now-available python_version: [ '3.10' ] runs-on: ${{ matrix.os }} @@ -82,8 +81,6 @@ jobs: lookup-only: true # skip download - name: Setup XCode if: ${{ (matrix.os == 'macos-13' || matrix.os == 'macos-14') && steps.cache-spidermonkey.outputs.cache-hit != 'true' }} - # SpiderMonkey 115 ESR requires XCode SDK version at least 13.3 - # https://github.com/actions/runner-images/blob/main/images/macos/macos-13-Readme.md#installed-sdks run: sudo xcode-select -switch /Applications/Xcode_14.3.app - name: Build spidermonkey if: ${{ steps.cache-spidermonkey.outputs.cache-hit != 'true' }} @@ -129,8 +126,7 @@ jobs: strategy: fail-fast: false matrix: - # The lowest supported version is Ubuntu 20.04 + Python 3.8 or macOS 12 + Python 3.9 - os: [ 'ubuntu-20.04', 'ubuntu-24.04', 'macos-12', 'macos-14', 'windows-2022' ] + os: [ 'ubuntu-24.04', 'macos-12', 'macos-14', 'windows-2022' ] python_version: [ '3.8', '3.9', '3.10', '3.11', '3.12' ] exclude: # actions/setup-python: The version '3.8'/'3.9' with architecture 'arm64' was not found for macOS. @@ -169,17 +165,16 @@ jobs: poetry install --no-root --only=dev echo "Installed Dependencies" - name: Build Docs # only build docs once - if: ${{ (matrix.os == 'ubuntu-20.04' || matrix.os == 'ubuntu-24.04') && matrix.python_version == '3.11' }} + if: ${{ matrix.os == 'ubuntu-24.04' && matrix.python_version == '3.11' }} run: | sudo apt-get install -y graphviz - # the newest version in Ubuntu 20.04 repository is 1.8.17, but we need Doxygen 1.9 series wget -c -q https://www.doxygen.nl/files/doxygen-1.9.7.linux.bin.tar.gz tar xf doxygen-1.9.7.linux.bin.tar.gz cd doxygen-1.9.7 && sudo make install && cd - rm -rf doxygen-1.9.7 doxygen-1.9.7.linux.bin.tar.gz BUILD_DOCS=1 BUILD_TYPE=None poetry install - name: Upload Doxygen-generated docs as CI artifacts - if: ${{ (matrix.os == 'ubuntu-20.04' || matrix.os == 'ubuntu-24.04') && matrix.python_version == '3.11' }} + if: ${{ matrix.os == 'ubuntu-24.04' && matrix.python_version == '3.11' }} uses: actions/upload-artifact@v3 with: name: docs-${{ github.run_id }}-${{ github.sha }} @@ -253,7 +248,7 @@ jobs: name: cores-${{ matrix.os }}-${{ matrix.python_version }} path: /cores sdist: - runs-on: [ubuntu-20.04,ubuntu-24.04] + runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v4 with: @@ -277,7 +272,7 @@ jobs: path: ./dist/ publish: needs: [build-and-test, sdist] - runs-on: [ubuntu-20.04,ubuntu-24.04] + runs-on: ubuntu-24.04 if: ${{ success() && github.event_name == 'push' && contains(github.ref, 'refs/tags/') }} steps: # no need to checkout @@ -300,7 +295,7 @@ jobs: # Implement a very basic Python package repository (https://peps.python.org/pep-0503/) # and deploy the static files to GitHub Pages needs: [build-and-test, sdist] - runs-on: [ubuntu-20.04,ubuntu-24.04] + runs-on: ubuntu-24.04 if: ${{ (success() || failure()) && github.ref_name == 'main' }} # publish nightly builds regardless of tests failure permissions: # grant GITHUB_TOKEN the permissions required to make a Pages deployment pages: write From 7f67f6e2ddfd26d76e8d6eae416573dac62c52ea Mon Sep 17 00:00:00 2001 From: Philippe Laporte Date: Thu, 11 Jul 2024 12:42:51 -0400 Subject: [PATCH 04/14] still need ubuntu 20.04 after all as lowest common denominator --- .github/workflows/test-and-publish.yaml | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/.github/workflows/test-and-publish.yaml b/.github/workflows/test-and-publish.yaml index 8a90e710..d49a7e38 100644 --- a/.github/workflows/test-and-publish.yaml +++ b/.github/workflows/test-and-publish.yaml @@ -15,6 +15,7 @@ on: required: false options: - '' + - 'ubuntu-20.04' - 'ubuntu-24.04' - 'macos-12' - 'macos-14' @@ -59,8 +60,8 @@ jobs: strategy: fail-fast: false matrix: - # Use Ubuntu 24.04 / macOS 13 x86_64 / macOS 14 arm64 + Python 3.10 to build SpiderMonkey - os: [ 'ubuntu-24.04','macos-13', 'macos-14' ] # macOS 14 runner exclusively runs on M1 hardwares + # Use Ubuntu 20.04 and 24.04 / macOS 13 x86_64 / macOS 14 arm64 + Python 3.10 to build SpiderMonkey + os: [ 'ubuntu-20.04', 'ubuntu-24.04', 'macos-13', 'macos-14' ] # macOS 14 runner exclusively runs on M1 hardwares # see https://github.blog/changelog/2024-01-30-github-actions-macos-14-sonoma-is-now-available python_version: [ '3.10' ] runs-on: ${{ matrix.os }} @@ -81,6 +82,7 @@ jobs: lookup-only: true # skip download - name: Setup XCode if: ${{ (matrix.os == 'macos-13' || matrix.os == 'macos-14') && steps.cache-spidermonkey.outputs.cache-hit != 'true' }} + # SpiderMonkey requires XCode SDK version at least 13.3 run: sudo xcode-select -switch /Applications/Xcode_14.3.app - name: Build spidermonkey if: ${{ steps.cache-spidermonkey.outputs.cache-hit != 'true' }} @@ -126,7 +128,7 @@ jobs: strategy: fail-fast: false matrix: - os: [ 'ubuntu-24.04', 'macos-12', 'macos-14', 'windows-2022' ] + os: [ 'ubuntu-20.04', 'ubuntu-24.04', 'macos-12', 'macos-14', 'windows-2022' ] python_version: [ '3.8', '3.9', '3.10', '3.11', '3.12' ] exclude: # actions/setup-python: The version '3.8'/'3.9' with architecture 'arm64' was not found for macOS. @@ -165,16 +167,17 @@ jobs: poetry install --no-root --only=dev echo "Installed Dependencies" - name: Build Docs # only build docs once - if: ${{ matrix.os == 'ubuntu-24.04' && matrix.python_version == '3.11' }} + if: ${{ (matrix.os == 'ubuntu-20.04' || matrix.os == 'ubuntu-24.04') && matrix.python_version == '3.11' }} run: | sudo apt-get install -y graphviz + # We need Doxygen 1.9 series wget -c -q https://www.doxygen.nl/files/doxygen-1.9.7.linux.bin.tar.gz tar xf doxygen-1.9.7.linux.bin.tar.gz cd doxygen-1.9.7 && sudo make install && cd - rm -rf doxygen-1.9.7 doxygen-1.9.7.linux.bin.tar.gz BUILD_DOCS=1 BUILD_TYPE=None poetry install - name: Upload Doxygen-generated docs as CI artifacts - if: ${{ matrix.os == 'ubuntu-24.04' && matrix.python_version == '3.11' }} + if: ${{ (matrix.os == 'ubuntu-20.04' || matrix.os == 'ubuntu-24.04') && matrix.python_version == '3.11' }} uses: actions/upload-artifact@v3 with: name: docs-${{ github.run_id }}-${{ github.sha }} @@ -248,7 +251,7 @@ jobs: name: cores-${{ matrix.os }}-${{ matrix.python_version }} path: /cores sdist: - runs-on: ubuntu-24.04 + runs-on: [ubuntu-20.04,ubuntu-24.04] steps: - uses: actions/checkout@v4 with: @@ -272,7 +275,7 @@ jobs: path: ./dist/ publish: needs: [build-and-test, sdist] - runs-on: ubuntu-24.04 + runs-on: [ubuntu-20.04,ubuntu-24.04] if: ${{ success() && github.event_name == 'push' && contains(github.ref, 'refs/tags/') }} steps: # no need to checkout @@ -295,7 +298,7 @@ jobs: # Implement a very basic Python package repository (https://peps.python.org/pep-0503/) # and deploy the static files to GitHub Pages needs: [build-and-test, sdist] - runs-on: ubuntu-24.04 + runs-on: [ubuntu-20.04,ubuntu-24.04] if: ${{ (success() || failure()) && github.ref_name == 'main' }} # publish nightly builds regardless of tests failure permissions: # grant GITHUB_TOKEN the permissions required to make a Pages deployment pages: write From 9a6325bbaa763133b103acb257dde299b6afa3fe Mon Sep 17 00:00:00 2001 From: Philippe Laporte Date: Thu, 11 Jul 2024 15:55:52 -0400 Subject: [PATCH 05/14] restrict actions for ubuntu 24.04 to build and test --- .github/workflows/test-and-publish.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/test-and-publish.yaml b/.github/workflows/test-and-publish.yaml index d49a7e38..0b90fc30 100644 --- a/.github/workflows/test-and-publish.yaml +++ b/.github/workflows/test-and-publish.yaml @@ -251,7 +251,7 @@ jobs: name: cores-${{ matrix.os }}-${{ matrix.python_version }} path: /cores sdist: - runs-on: [ubuntu-20.04,ubuntu-24.04] + runs-on: ubuntu-20.04 steps: - uses: actions/checkout@v4 with: @@ -275,7 +275,7 @@ jobs: path: ./dist/ publish: needs: [build-and-test, sdist] - runs-on: [ubuntu-20.04,ubuntu-24.04] + runs-on: ubuntu-20.04 if: ${{ success() && github.event_name == 'push' && contains(github.ref, 'refs/tags/') }} steps: # no need to checkout @@ -298,7 +298,7 @@ jobs: # Implement a very basic Python package repository (https://peps.python.org/pep-0503/) # and deploy the static files to GitHub Pages needs: [build-and-test, sdist] - runs-on: [ubuntu-20.04,ubuntu-24.04] + runs-on: ubuntu-20.04 if: ${{ (success() || failure()) && github.ref_name == 'main' }} # publish nightly builds regardless of tests failure permissions: # grant GITHUB_TOKEN the permissions required to make a Pages deployment pages: write From 66f0078c9ea4e7cea550ef81ccb51c688d3ecf44 Mon Sep 17 00:00:00 2001 From: Philippe Laporte Date: Fri, 12 Jul 2024 09:54:43 -0400 Subject: [PATCH 06/14] more CI for Ubuntu 24.04 --- .github/workflows/test-and-publish.yaml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/test-and-publish.yaml b/.github/workflows/test-and-publish.yaml index 0b90fc30..63f93360 100644 --- a/.github/workflows/test-and-publish.yaml +++ b/.github/workflows/test-and-publish.yaml @@ -16,7 +16,6 @@ on: options: - '' - 'ubuntu-20.04' - - 'ubuntu-24.04' - 'macos-12' - 'macos-14' - 'windows-2022' @@ -60,7 +59,7 @@ jobs: strategy: fail-fast: false matrix: - # Use Ubuntu 20.04 and 24.04 / macOS 13 x86_64 / macOS 14 arm64 + Python 3.10 to build SpiderMonkey + # Use Ubuntu 20.04 / Ubuntu 24.04 / macOS 13 x86_64 / macOS 14 arm64 + Python 3.10 to build SpiderMonkey os: [ 'ubuntu-20.04', 'ubuntu-24.04', 'macos-13', 'macos-14' ] # macOS 14 runner exclusively runs on M1 hardwares # see https://github.blog/changelog/2024-01-30-github-actions-macos-14-sonoma-is-now-available python_version: [ '3.10' ] @@ -251,7 +250,7 @@ jobs: name: cores-${{ matrix.os }}-${{ matrix.python_version }} path: /cores sdist: - runs-on: ubuntu-20.04 + runs-on: [ubuntu-20.04, ubuntu-24.04] steps: - uses: actions/checkout@v4 with: From f888be43c2e4f0a1a0e1b239eeeef8779fd9268d Mon Sep 17 00:00:00 2001 From: Caleb Aikens Date: Tue, 16 Jul 2024 10:04:20 -0400 Subject: [PATCH 07/14] fix(setup.sh): only perform dev configurations if in a repo --- setup.sh | 65 +++++++++++++++++++++++++++++++------------------------- 1 file changed, 36 insertions(+), 29 deletions(-) diff --git a/setup.sh b/setup.sh index de25b914..eab31081 100755 --- a/setup.sh +++ b/setup.sh @@ -2,11 +2,6 @@ set -euo pipefail IFS=$'\n\t' -# set git hooks -ln -s -f ../../githooks/pre-commit .git/hooks/pre-commit -# set blame ignore file -git config blame.ignorerevsfile .git-blame-ignore-revs - # Get number of CPU cores CPUS=$(getconf _NPROCESSORS_ONLN 2>/dev/null || getconf NPROCESSORS_ONLN 2>/dev/null || echo 1) @@ -17,11 +12,12 @@ if [[ "$OSTYPE" == "linux-gnu"* ]]; then # Linux # sudo is present on the system, so use it SUDO='sudo' fi - $SUDO apt-get update --yes + echo "Installing apt packages" $SUDO apt-get install --yes cmake graphviz llvm clang pkg-config m4 unzip \ wget curl python3-dev # Install Doxygen # the newest version in Ubuntu 20.04 repository is 1.8.17, but we need Doxygen 1.9 series + echo "Installing doxygen" wget -c -q https://www.doxygen.nl/files/doxygen-1.9.7.linux.bin.tar.gz tar xf doxygen-1.9.7.linux.bin.tar.gz cd doxygen-1.9.7 && $SUDO make install && cd - @@ -36,9 +32,11 @@ else exit 1 fi # Install rust compiler +echo "Installing rust compiler" curl --proto '=https' --tlsv1.2 https://sh.rustup.rs -sSf | sh -s -- -y --default-toolchain 1.76 cargo install cbindgen # Setup Poetry +echo "Installing poetry" curl -sSL https://install.python-poetry.org | python3 - --version "1.7.1" if [[ "$OSTYPE" == "msys"* ]]; then # Windows POETRY_BIN="$APPDATA/Python/Scripts/poetry" @@ -46,31 +44,8 @@ else POETRY_BIN=`echo ~/.local/bin/poetry` # expand tilde fi $POETRY_BIN self add 'poetry-dynamic-versioning[plugin]' -$POETRY_BIN run pip install autopep8 echo "Done installing dependencies" -echo "Downloading uncrustify source code" -wget -c -q https://github.com/uncrustify/uncrustify/archive/refs/tags/uncrustify-0.78.1.tar.gz -mkdir -p uncrustify-source -tar -xzf uncrustify-0.78.1.tar.gz -C uncrustify-source --strip-components=1 # strip the root folder -echo "Done downloading uncrustify source code" - -echo "Building uncrustify" -cd uncrustify-source -mkdir -p build -cd build -if [[ "$OSTYPE" == "msys"* ]]; then # Windows - cmake ../ - cmake --build . -j$CPUS --config Release - cp Release/uncrustify.exe ../../uncrustify.exe -else - cmake ../ - make -j$CPUS - cp uncrustify ../../uncrustify -fi -cd ../.. -echo "Done building uncrustify" - echo "Downloading spidermonkey source code" # Read the commit hash for mozilla-central from the `mozcentral.version` file MOZCENTRAL_VERSION=$(cat mozcentral.version) @@ -118,3 +93,35 @@ if [[ "$OSTYPE" == "darwin"* ]]; then # macOS install_name_tool -id @rpath/$(basename ./libmozjs*) ./libmozjs* # making it work for whatever name the libmozjs dylib is called fi echo "Done installing spidermonkey" + +# if this is being ran in the root directory of the PythonMonkey repo, then include dev configurations +if test -f .git/hooks/pre-commit; then + # set git hooks + ln -s -f ../../githooks/pre-commit .git/hooks/pre-commit + # set blame ignore file + git config blame.ignorerevsfile .git-blame-ignore-revs + # install autopep8 + $POETRY_BIN run pip install autopep8 + # install uncrustify + echo "Downloading uncrustify source code" + wget -c -q https://github.com/uncrustify/uncrustify/archive/refs/tags/uncrustify-0.78.1.tar.gz + mkdir -p uncrustify-source + tar -xzf uncrustify-0.78.1.tar.gz -C uncrustify-source --strip-components=1 # strip the root folder + echo "Done downloading uncrustify source code" + + echo "Building uncrustify" + cd uncrustify-source + mkdir -p build + cd build + if [[ "$OSTYPE" == "msys"* ]]; then # Windows + cmake ../ + cmake --build . -j$CPUS --config Release + cp Release/uncrustify.exe ../../uncrustify.exe + else + cmake ../ + make -j$CPUS + cp uncrustify ../../uncrustify + fi + cd ../.. + echo "Done building uncrustify" +fi \ No newline at end of file From daeb2661f4a6ed680f84af84dea4cbab9ad0c6d7 Mon Sep 17 00:00:00 2001 From: Caleb Aikens Date: Tue, 16 Jul 2024 10:05:22 -0400 Subject: [PATCH 08/14] meta(CI): include a test of sdist installation in CI --- .github/workflows/test-and-publish.yaml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/.github/workflows/test-and-publish.yaml b/.github/workflows/test-and-publish.yaml index 63f93360..8902fc81 100644 --- a/.github/workflows/test-and-publish.yaml +++ b/.github/workflows/test-and-publish.yaml @@ -272,6 +272,19 @@ jobs: with: name: wheel-${{ github.run_id }}-${{ github.sha }} path: ./dist/ + check-install-from-sdist: + needs: [build-and-test, sdist] + runs-on: [ubuntu-24.04] + steps: + - uses: actions/setup-python@v5 + with: + python-version: '3.10' + - name: Download wheels built + uses: actions/download-artifact@v3 + with: + name: wheel-${{ github.run_id }}-${{ github.sha }} + path: ./dist/ + - run: pip install ./dist/pythonmonkey-*.tar.gz publish: needs: [build-and-test, sdist] runs-on: ubuntu-20.04 From 310ccf181640b93b90c8252d763654a8af888169 Mon Sep 17 00:00:00 2001 From: philippedistributive <151072087+philippedistributive@users.noreply.github.com> Date: Tue, 16 Jul 2024 11:31:51 -0400 Subject: [PATCH 09/14] Update .github/workflows/test-and-publish.yaml Co-authored-by: Caleb Aikens --- .github/workflows/test-and-publish.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-and-publish.yaml b/.github/workflows/test-and-publish.yaml index 8902fc81..2acb3ddd 100644 --- a/.github/workflows/test-and-publish.yaml +++ b/.github/workflows/test-and-publish.yaml @@ -166,7 +166,7 @@ jobs: poetry install --no-root --only=dev echo "Installed Dependencies" - name: Build Docs # only build docs once - if: ${{ (matrix.os == 'ubuntu-20.04' || matrix.os == 'ubuntu-24.04') && matrix.python_version == '3.11' }} + if: ${{ matrix.os == 'ubuntu-20.04' && matrix.python_version == '3.11' }} run: | sudo apt-get install -y graphviz # We need Doxygen 1.9 series From f854430258ae0690700a071e2e723284f1fd404d Mon Sep 17 00:00:00 2001 From: philippedistributive <151072087+philippedistributive@users.noreply.github.com> Date: Tue, 16 Jul 2024 11:32:32 -0400 Subject: [PATCH 10/14] Update .github/workflows/test-and-publish.yaml Co-authored-by: Caleb Aikens --- .github/workflows/test-and-publish.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-and-publish.yaml b/.github/workflows/test-and-publish.yaml index 2acb3ddd..f84ba795 100644 --- a/.github/workflows/test-and-publish.yaml +++ b/.github/workflows/test-and-publish.yaml @@ -169,7 +169,7 @@ jobs: if: ${{ matrix.os == 'ubuntu-20.04' && matrix.python_version == '3.11' }} run: | sudo apt-get install -y graphviz - # We need Doxygen 1.9 series + # the newest version in Ubuntu 20.04 repository is 1.8.17, but we need Doxygen 1.9 series wget -c -q https://www.doxygen.nl/files/doxygen-1.9.7.linux.bin.tar.gz tar xf doxygen-1.9.7.linux.bin.tar.gz cd doxygen-1.9.7 && sudo make install && cd - From 1d776f6ca8a2498fad4f8811b79f3970b1f80c32 Mon Sep 17 00:00:00 2001 From: philippedistributive <151072087+philippedistributive@users.noreply.github.com> Date: Tue, 16 Jul 2024 11:36:22 -0400 Subject: [PATCH 11/14] Update .github/workflows/test-and-publish.yaml Co-authored-by: Caleb Aikens --- .github/workflows/test-and-publish.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-and-publish.yaml b/.github/workflows/test-and-publish.yaml index f84ba795..e63dd576 100644 --- a/.github/workflows/test-and-publish.yaml +++ b/.github/workflows/test-and-publish.yaml @@ -176,7 +176,7 @@ jobs: rm -rf doxygen-1.9.7 doxygen-1.9.7.linux.bin.tar.gz BUILD_DOCS=1 BUILD_TYPE=None poetry install - name: Upload Doxygen-generated docs as CI artifacts - if: ${{ (matrix.os == 'ubuntu-20.04' || matrix.os == 'ubuntu-24.04') && matrix.python_version == '3.11' }} + if: ${{ matrix.os == 'ubuntu-20.04' && matrix.python_version == '3.11' }} uses: actions/upload-artifact@v3 with: name: docs-${{ github.run_id }}-${{ github.sha }} From b319ae62008acaddc621d29bee68fd9dd608ec06 Mon Sep 17 00:00:00 2001 From: philippedistributive <151072087+philippedistributive@users.noreply.github.com> Date: Tue, 16 Jul 2024 11:37:07 -0400 Subject: [PATCH 12/14] Update .github/workflows/test-and-publish.yaml Co-authored-by: Caleb Aikens --- .github/workflows/test-and-publish.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-and-publish.yaml b/.github/workflows/test-and-publish.yaml index e63dd576..8d1b1651 100644 --- a/.github/workflows/test-and-publish.yaml +++ b/.github/workflows/test-and-publish.yaml @@ -250,7 +250,7 @@ jobs: name: cores-${{ matrix.os }}-${{ matrix.python_version }} path: /cores sdist: - runs-on: [ubuntu-20.04, ubuntu-24.04] + runs-on: ubuntu-20.04 steps: - uses: actions/checkout@v4 with: From 4ef34d2d4b41fc65dd01f59b6be0c8b8a0c5234d Mon Sep 17 00:00:00 2001 From: Philippe Laporte Date: Tue, 16 Jul 2024 11:45:07 -0400 Subject: [PATCH 13/14] fixup --- .github/workflows/test-and-publish.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-and-publish.yaml b/.github/workflows/test-and-publish.yaml index 8d1b1651..718ff493 100644 --- a/.github/workflows/test-and-publish.yaml +++ b/.github/workflows/test-and-publish.yaml @@ -274,7 +274,7 @@ jobs: path: ./dist/ check-install-from-sdist: needs: [build-and-test, sdist] - runs-on: [ubuntu-24.04] + runs-on: ubuntu-24.04 steps: - uses: actions/setup-python@v5 with: From 2633b5a77fa5b641883ae7d30e18ebdac58c5d89 Mon Sep 17 00:00:00 2001 From: Caleb Aikens Date: Tue, 16 Jul 2024 13:05:06 -0400 Subject: [PATCH 14/14] meta(CI): check-install-from-sdist step doesn't require build-and-test --- .github/workflows/test-and-publish.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-and-publish.yaml b/.github/workflows/test-and-publish.yaml index 718ff493..296b66af 100644 --- a/.github/workflows/test-and-publish.yaml +++ b/.github/workflows/test-and-publish.yaml @@ -273,7 +273,7 @@ jobs: name: wheel-${{ github.run_id }}-${{ github.sha }} path: ./dist/ check-install-from-sdist: - needs: [build-and-test, sdist] + needs: sdist runs-on: ubuntu-24.04 steps: - uses: actions/setup-python@v5