From 148081b0cfc181b13c79c1350e99f6eab4fc3659 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Thu, 23 Jan 2025 23:52:41 +0100 Subject: [PATCH] Redo the build on Ubuntu 20.04. And bump versions of random crap. --- .github/workflows/magnum-tools.yml | 84 +++++++----------------------- 1 file changed, 20 insertions(+), 64 deletions(-) diff --git a/.github/workflows/magnum-tools.yml b/.github/workflows/magnum-tools.yml index 64d1148..b47e4aa 100644 --- a/.github/workflows/magnum-tools.yml +++ b/.github/workflows/magnum-tools.yml @@ -35,9 +35,9 @@ jobs: strategy: matrix: include: - - os: ubuntu-18.04 + - os: ubuntu-20.04 runs-on: ubuntu-latest - container: ubuntu:bionic-20220427 + container: ubuntu:focal-20241011 steps: - name: Install base build tools, OpenGL and Vulkan # apt update is needed to fetch package lists; software-properties-common @@ -45,84 +45,41 @@ jobs: # default?!); libexpat1-dev and tzdata is then needed by the python debs run: | apt update - apt install -y libgl1-mesa-dev libvulkan-dev wget unzip chrpath ninja-build cmake g++ software-properties-common libexpat1-dev + apt install -y libgl1-mesa-dev libvulkan-dev wget unzip chrpath ninja-build cmake g++ software-properties-common libexpat1-dev python3.9-dev python3.10-dev # Installing the tzdata package ASKS FOR TIMEZONE IN THE CONSOLE?! WHO # DESIGNED THIS CRAP?! https://stackoverflow.com/a/58264927 DEBIAN_FRONTEND=noninteractive apt-get install -y tzdata mkdir -p deps - - name: Install a newer Git version from a PPA - # The actions/checkout FOR SOME REASON requires Git 2.18+, while 18.04 - # ships only with 2.17. Ultimately that means the "clones" are not - # actually clones, so I can't fetch version info. - run: | - add-apt-repository ppa:git-core/ppa - apt update - apt install -y git - - name: Fetch Python debs from the no-longer-supported deadsnakes PPA - # The deadsnakes PPA dropped 18.04 support in June 2023, the last 18.04 - # debs are downloaded from the archive and hosted - # https://launchpad.net/~deadsnakes/+archive/ubuntu/ppa/+builds?build_text=&build_state=built - # https://launchpad.net/~deadsnakes/+archive/ubuntu/ppa/+build/24906232 (3.9) - # https://launchpad.net/~deadsnakes/+archive/ubuntu/ppa/+build/25962597 (3.10) - # https://launchpad.net/~deadsnakes/+archive/ubuntu/ppa/+build/26277625 (3.11, in case it gets ever build) - run: | - mkdir python-deb && cd python-deb - for i in libpython3.9 libpython3.9-dev libpython3.9-minimal libpython3.9-stdlib python3.9 python3.9-dev python3.9-minimal python3.9-venv; do - wget https://ci.magnum.graphics/py39/${i}_3.9.16-1+bionic1_amd64.deb - done - for i in python3.9-distutils python3.9-lib2to3; do - wget https://ci.magnum.graphics/py39/${i}_3.9.16-1+bionic1_all.deb - done - for i in libpython3.10 libpython3.10-dev libpython3.10-minimal libpython3.10-stdlib python3.10 python3.10-dev python3.10-minimal python3.10-venv; do - wget https://ci.magnum.graphics/py310/${i}_3.10.11-1+bionic1_amd64.deb - done - for i in python3.10-distutils python3.10-lib2to3; do - wget https://ci.magnum.graphics/py310/${i}_3.10.11-1+bionic1_all.deb - done - # for i in libpython3.11 libpython3.11-dev libpython3.11-minimal libpython3.11-stdlib python3.11 python3.11-dev python3.11-minimal python3.11-venv; do - # wget https://ci.magnum.graphics/py311/${i}_3.11.3-1+bionic2_amd64.deb - # done - # for i in python3.11-distutils python3.11-lib2to3; do - # wget https://ci.magnum.graphics/py311/${i}_3.11.3-1+bionic2_all.deb - # done - dpkg -i *.deb - python3.9 -m ensurepip --altinstall - python3.10 -m ensurepip --altinstall - name: Clone Corrade - # checkout v4 uses Node 20 which doesn't work on Ubuntu 18.04 - uses: actions/checkout@v3.6.0 + uses: actions/checkout@v4 with: repository: mosra/corrade path: corrade # Needed for tags :( fetch-depth: 0 - name: Clone Magnum - # checkout v4 uses Node 20 which doesn't work on Ubuntu 18.04 - uses: actions/checkout@v3.6.0 + uses: actions/checkout@v4 with: repository: mosra/magnum path: magnum # Needed for tags :( fetch-depth: 0 - name: Clone Magnum Plugins - # checkout v4 uses Node 20 which doesn't work on Ubuntu 18.04 - uses: actions/checkout@v3.6.0 + uses: actions/checkout@v4 with: repository: mosra/magnum-plugins path: magnum-plugins # Needed for tags :( fetch-depth: 0 - name: Clone Magnum Extras - # checkout v4 uses Node 20 which doesn't work on Ubuntu 18.04 - uses: actions/checkout@v3.6.0 + uses: actions/checkout@v4 with: repository: mosra/magnum-extras path: magnum-extras # Needed for tags :( fetch-depth: 0 - name: Clone Magnum Bindings - # checkout v4 uses Node 20 which doesn't work on Ubuntu 18.04 - uses: actions/checkout@v3.6.0 + uses: actions/checkout@v4 with: repository: mosra/magnum-bindings path: magnum-bindings @@ -481,8 +438,7 @@ jobs: mv install magnum-tools-${{ env.CORRADE_VERSION }}-${{ env.MAGNUM_VERSION }}-${{ env.MAGNUM_PLUGINS_VERSION }}-${{ env.MAGNUM_EXTRAS_VERSION }}-${{ env.MAGNUM_BINDINGS_VERSION }}-linux-x64 tar -cf magnum-tools-${{ env.CORRADE_VERSION }}-${{ env.MAGNUM_VERSION }}-${{ env.MAGNUM_PLUGINS_VERSION }}-${{ env.MAGNUM_EXTRAS_VERSION }}-${{ env.MAGNUM_BINDINGS_VERSION }}-linux-x64.tar magnum-tools-${{ env.CORRADE_VERSION }}-${{ env.MAGNUM_VERSION }}-${{ env.MAGNUM_PLUGINS_VERSION }}-${{ env.MAGNUM_EXTRAS_VERSION }}-${{ env.MAGNUM_BINDINGS_VERSION }}-linux-x64 - name: Upload artifacts - # upload-artifact v4 uses Node 20 which doesn't work on Ubuntu 18.04 - uses: actions/upload-artifact@v3.1.3 + uses: actions/upload-artifact@v4 with: name: magnum-tools-${{ env.CORRADE_VERSION }}-${{ env.MAGNUM_VERSION }}-${{ env.MAGNUM_PLUGINS_VERSION }}-${{ env.MAGNUM_EXTRAS_VERSION }}-${{ env.MAGNUM_BINDINGS_VERSION }}-linux-x64 path: magnum-tools-${{ env.CORRADE_VERSION }}-${{ env.MAGNUM_VERSION }}-${{ env.MAGNUM_PLUGINS_VERSION }}-${{ env.MAGNUM_EXTRAS_VERSION }}-${{ env.MAGNUM_BINDINGS_VERSION }}-linux-x64.tar @@ -501,21 +457,21 @@ jobs: brew install ninja mkdir -p deps - name: Clone Corrade - uses: actions/checkout@v4.1.7 + uses: actions/checkout@v4 with: repository: mosra/corrade path: corrade # Needed for tags :( fetch-depth: 0 - name: Clone Magnum - uses: actions/checkout@v4.1.7 + uses: actions/checkout@v4 with: repository: mosra/magnum path: magnum # Needed for tags :( fetch-depth: 0 - name: Clone Magnum Plugins - uses: actions/checkout@v4.1.7 + uses: actions/checkout@v4 with: repository: mosra/magnum-plugins path: magnum-plugins @@ -690,7 +646,7 @@ jobs: mv install magnum-tools-${{ env.CORRADE_VERSION }}-${{ env.MAGNUM_VERSION }}-${{ env.MAGNUM_PLUGINS_VERSION }}-${{ matrix.os }} tar -cf magnum-tools-${{ env.CORRADE_VERSION }}-${{ env.MAGNUM_VERSION }}-${{ env.MAGNUM_PLUGINS_VERSION }}-${{ matrix.os }}.tar magnum-tools-${{ env.CORRADE_VERSION }}-${{ env.MAGNUM_VERSION }}-${{ env.MAGNUM_PLUGINS_VERSION }}-${{ matrix.os }} - name: Upload artifacts - uses: actions/upload-artifact@v4.3.3 + uses: actions/upload-artifact@v4 # TODO add extras + bindings version once built with: name: magnum-tools-${{ env.CORRADE_VERSION }}-${{ env.MAGNUM_VERSION }}-${{ env.MAGNUM_PLUGINS_VERSION }}-${{ matrix.os }} @@ -712,35 +668,35 @@ jobs: - name: Set up Visual Studio environment uses: compnerd/gha-setup-vsdevenv@v6 - name: Clone Corrade - uses: actions/checkout@v4.1.7 + uses: actions/checkout@v4 with: repository: mosra/corrade path: corrade # Needed for tags :( fetch-depth: 0 - name: Clone Magnum - uses: actions/checkout@v4.1.7 + uses: actions/checkout@v4 with: repository: mosra/magnum path: magnum # Needed for tags :( fetch-depth: 0 - name: Clone Magnum Plugins - uses: actions/checkout@v4.1.7 + uses: actions/checkout@v4 with: repository: mosra/magnum-plugins path: magnum-plugins # Needed for tags :( fetch-depth: 0 - name: Clone Magnum Extras - uses: actions/checkout@v4.1.7 + uses: actions/checkout@v4 with: repository: mosra/magnum-extras path: magnum-extras # Needed for tags :( fetch-depth: 0 - name: Clone Magnum Bindings - uses: actions/checkout@v4.1.7 + uses: actions/checkout@v4 with: repository: mosra/magnum-bindings path: magnum-bindings @@ -951,7 +907,7 @@ jobs: -G Ninja -S magnum-extras -B magnum-extras-build || exit /b ninja -C magnum-extras-build install || exit /b - name: Setup Python 3.11 - uses: actions/setup-python@v3 + uses: actions/setup-python@v5 with: python-version: '3.11' - name: Install Pybind11 for Python 3.11 @@ -1030,7 +986,7 @@ jobs: VERSION=$(git describe --match "v*" --abbrev=4) echo "MAGNUM_BINDINGS_VERSION=${VERSION:9}" >> $GITHUB_ENV - name: Upload artifacts - uses: actions/upload-artifact@v4.3.3 + uses: actions/upload-artifact@v4 with: name: magnum-tools-${{ env.CORRADE_VERSION }}-${{ env.MAGNUM_VERSION }}-${{ env.MAGNUM_PLUGINS_VERSION }}-${{ env.MAGNUM_EXTRAS_VERSION }}-${{ env.MAGNUM_BINDINGS_VERSION }}-windows path: install