Skip to content

Commit 7bd9285

Browse files
committed
Redo the build on Ubuntu 20.04 and macOS 13.
And bump versions of random crap. THIS ALL WORKED CORRECTLY SIX MONTHS AGO FFS!!!
1 parent f12cb69 commit 7bd9285

File tree

1 file changed

+32
-62
lines changed

1 file changed

+32
-62
lines changed

.github/workflows/magnum-tools.yml

Lines changed: 32 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,9 @@ jobs:
3535
strategy:
3636
matrix:
3737
include:
38-
- os: ubuntu-18.04
38+
- os: ubuntu-20.04
3939
runs-on: ubuntu-latest
40-
container: ubuntu:bionic-20220427
40+
container: ubuntu:focal-20241011
4141
steps:
4242
- name: Install base build tools, OpenGL and Vulkan
4343
# apt update is needed to fetch package lists; software-properties-common
@@ -50,79 +50,50 @@ jobs:
5050
# DESIGNED THIS CRAP?! https://stackoverflow.com/a/58264927
5151
DEBIAN_FRONTEND=noninteractive apt-get install -y tzdata
5252
mkdir -p deps
53-
- name: Install a newer Git version from a PPA
54-
# The actions/checkout FOR SOME REASON requires Git 2.18+, while 18.04
55-
# ships only with 2.17. Ultimately that means the "clones" are not
56-
# actually clones, so I can't fetch version info.
57-
run: |
58-
add-apt-repository ppa:git-core/ppa
53+
- name: Install Python versions from the deadsnakes PPA
54+
# I don't need any venv stuff nor pip, but setuptools (for installing the
55+
# bindings package) isn't included by default so I have to install it via
56+
# pip, however pip isn't included by default either so I have to
57+
# bootstrap it via ensurepip, and ensurepip isn't included by default
58+
# EITHER, only in the venv package. Then, ensurepip *magically* makes
59+
# setuptools available although that's not really documented anywhere.
60+
# What a system, wow.
61+
run: |
62+
add-apt-repository ppa:deadsnakes/ppa
5963
apt update
60-
apt install -y git
61-
- name: Fetch Python debs from the no-longer-supported deadsnakes PPA
62-
# The deadsnakes PPA dropped 18.04 support in June 2023, the last 18.04
63-
# debs are downloaded from the archive and hosted
64-
# https://launchpad.net/~deadsnakes/+archive/ubuntu/ppa/+builds?build_text=&build_state=built
65-
# https://launchpad.net/~deadsnakes/+archive/ubuntu/ppa/+build/24906232 (3.9)
66-
# https://launchpad.net/~deadsnakes/+archive/ubuntu/ppa/+build/25962597 (3.10)
67-
# https://launchpad.net/~deadsnakes/+archive/ubuntu/ppa/+build/26277625 (3.11, in case it gets ever build)
68-
run: |
69-
mkdir python-deb && cd python-deb
70-
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
71-
wget https://ci.magnum.graphics/py39/${i}_3.9.16-1+bionic1_amd64.deb
72-
done
73-
for i in python3.9-distutils python3.9-lib2to3; do
74-
wget https://ci.magnum.graphics/py39/${i}_3.9.16-1+bionic1_all.deb
75-
done
76-
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
77-
wget https://ci.magnum.graphics/py310/${i}_3.10.11-1+bionic1_amd64.deb
78-
done
79-
for i in python3.10-distutils python3.10-lib2to3; do
80-
wget https://ci.magnum.graphics/py310/${i}_3.10.11-1+bionic1_all.deb
81-
done
82-
# 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
83-
# wget https://ci.magnum.graphics/py311/${i}_3.11.3-1+bionic2_amd64.deb
84-
# done
85-
# for i in python3.11-distutils python3.11-lib2to3; do
86-
# wget https://ci.magnum.graphics/py311/${i}_3.11.3-1+bionic2_all.deb
87-
# done
88-
dpkg -i *.deb
64+
apt install -y python3.9 python3.9-dev python3.9-venv python3.10 python3.10-dev python3.10-venv
8965
python3.9 -m ensurepip --altinstall
9066
python3.10 -m ensurepip --altinstall
9167
- name: Clone Corrade
92-
# checkout v4 uses Node 20 which doesn't work on Ubuntu 18.04
93-
uses: actions/checkout@v3.6.0
68+
uses: actions/checkout@v4
9469
with:
9570
repository: mosra/corrade
9671
path: corrade
9772
# Needed for tags :(
9873
fetch-depth: 0
9974
- name: Clone Magnum
100-
# checkout v4 uses Node 20 which doesn't work on Ubuntu 18.04
101-
uses: actions/checkout@v3.6.0
75+
uses: actions/checkout@v4
10276
with:
10377
repository: mosra/magnum
10478
path: magnum
10579
# Needed for tags :(
10680
fetch-depth: 0
10781
- name: Clone Magnum Plugins
108-
# checkout v4 uses Node 20 which doesn't work on Ubuntu 18.04
109-
uses: actions/checkout@v3.6.0
82+
uses: actions/checkout@v4
11083
with:
11184
repository: mosra/magnum-plugins
11285
path: magnum-plugins
11386
# Needed for tags :(
11487
fetch-depth: 0
11588
- name: Clone Magnum Extras
116-
# checkout v4 uses Node 20 which doesn't work on Ubuntu 18.04
117-
uses: actions/checkout@v3.6.0
89+
uses: actions/checkout@v4
11890
with:
11991
repository: mosra/magnum-extras
12092
path: magnum-extras
12193
# Needed for tags :(
12294
fetch-depth: 0
12395
- name: Clone Magnum Bindings
124-
# checkout v4 uses Node 20 which doesn't work on Ubuntu 18.04
125-
uses: actions/checkout@v3.6.0
96+
uses: actions/checkout@v4
12697
with:
12798
repository: mosra/magnum-bindings
12899
path: magnum-bindings
@@ -481,8 +452,7 @@ jobs:
481452
mv install magnum-tools-${{ env.CORRADE_VERSION }}-${{ env.MAGNUM_VERSION }}-${{ env.MAGNUM_PLUGINS_VERSION }}-${{ env.MAGNUM_EXTRAS_VERSION }}-${{ env.MAGNUM_BINDINGS_VERSION }}-linux-x64
482453
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
483454
- name: Upload artifacts
484-
# upload-artifact v4 uses Node 20 which doesn't work on Ubuntu 18.04
485-
uses: actions/upload-artifact@v3.1.3
455+
uses: actions/upload-artifact@v4
486456
with:
487457
name: magnum-tools-${{ env.CORRADE_VERSION }}-${{ env.MAGNUM_VERSION }}-${{ env.MAGNUM_PLUGINS_VERSION }}-${{ env.MAGNUM_EXTRAS_VERSION }}-${{ env.MAGNUM_BINDINGS_VERSION }}-linux-x64
488458
path: magnum-tools-${{ env.CORRADE_VERSION }}-${{ env.MAGNUM_VERSION }}-${{ env.MAGNUM_PLUGINS_VERSION }}-${{ env.MAGNUM_EXTRAS_VERSION }}-${{ env.MAGNUM_BINDINGS_VERSION }}-linux-x64.tar
@@ -493,29 +463,29 @@ jobs:
493463
strategy:
494464
matrix:
495465
include:
496-
- os: macos12-x64-arm64
497-
runs-on: macos-12
466+
- os: macos13-x64-arm64
467+
runs-on: macos-13
498468
steps:
499469
- name: Install base build tools
500470
run: |
501471
brew install ninja
502472
mkdir -p deps
503473
- name: Clone Corrade
504-
uses: actions/checkout@v4.1.7
474+
uses: actions/checkout@v4
505475
with:
506476
repository: mosra/corrade
507477
path: corrade
508478
# Needed for tags :(
509479
fetch-depth: 0
510480
- name: Clone Magnum
511-
uses: actions/checkout@v4.1.7
481+
uses: actions/checkout@v4
512482
with:
513483
repository: mosra/magnum
514484
path: magnum
515485
# Needed for tags :(
516486
fetch-depth: 0
517487
- name: Clone Magnum Plugins
518-
uses: actions/checkout@v4.1.7
488+
uses: actions/checkout@v4
519489
with:
520490
repository: mosra/magnum-plugins
521491
path: magnum-plugins
@@ -690,7 +660,7 @@ jobs:
690660
mv install magnum-tools-${{ env.CORRADE_VERSION }}-${{ env.MAGNUM_VERSION }}-${{ env.MAGNUM_PLUGINS_VERSION }}-${{ matrix.os }}
691661
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 }}
692662
- name: Upload artifacts
693-
uses: actions/upload-artifact@v4.3.3
663+
uses: actions/upload-artifact@v4
694664
# TODO add extras + bindings version once built
695665
with:
696666
name: magnum-tools-${{ env.CORRADE_VERSION }}-${{ env.MAGNUM_VERSION }}-${{ env.MAGNUM_PLUGINS_VERSION }}-${{ matrix.os }}
@@ -712,35 +682,35 @@ jobs:
712682
- name: Set up Visual Studio environment
713683
uses: compnerd/gha-setup-vsdevenv@v6
714684
- name: Clone Corrade
715-
uses: actions/checkout@v4.1.7
685+
uses: actions/checkout@v4
716686
with:
717687
repository: mosra/corrade
718688
path: corrade
719689
# Needed for tags :(
720690
fetch-depth: 0
721691
- name: Clone Magnum
722-
uses: actions/checkout@v4.1.7
692+
uses: actions/checkout@v4
723693
with:
724694
repository: mosra/magnum
725695
path: magnum
726696
# Needed for tags :(
727697
fetch-depth: 0
728698
- name: Clone Magnum Plugins
729-
uses: actions/checkout@v4.1.7
699+
uses: actions/checkout@v4
730700
with:
731701
repository: mosra/magnum-plugins
732702
path: magnum-plugins
733703
# Needed for tags :(
734704
fetch-depth: 0
735705
- name: Clone Magnum Extras
736-
uses: actions/checkout@v4.1.7
706+
uses: actions/checkout@v4
737707
with:
738708
repository: mosra/magnum-extras
739709
path: magnum-extras
740710
# Needed for tags :(
741711
fetch-depth: 0
742712
- name: Clone Magnum Bindings
743-
uses: actions/checkout@v4.1.7
713+
uses: actions/checkout@v4
744714
with:
745715
repository: mosra/magnum-bindings
746716
path: magnum-bindings
@@ -951,7 +921,7 @@ jobs:
951921
-G Ninja -S magnum-extras -B magnum-extras-build || exit /b
952922
ninja -C magnum-extras-build install || exit /b
953923
- name: Setup Python 3.11
954-
uses: actions/setup-python@v3
924+
uses: actions/setup-python@v5
955925
with:
956926
python-version: '3.11'
957927
- name: Install Pybind11 for Python 3.11
@@ -1030,7 +1000,7 @@ jobs:
10301000
VERSION=$(git describe --match "v*" --abbrev=4)
10311001
echo "MAGNUM_BINDINGS_VERSION=${VERSION:9}" >> $GITHUB_ENV
10321002
- name: Upload artifacts
1033-
uses: actions/upload-artifact@v4.3.3
1003+
uses: actions/upload-artifact@v4
10341004
with:
10351005
name: magnum-tools-${{ env.CORRADE_VERSION }}-${{ env.MAGNUM_VERSION }}-${{ env.MAGNUM_PLUGINS_VERSION }}-${{ env.MAGNUM_EXTRAS_VERSION }}-${{ env.MAGNUM_BINDINGS_VERSION }}-windows
10361006
path: install

0 commit comments

Comments
 (0)