35
35
strategy :
36
36
matrix :
37
37
include :
38
- - os : ubuntu-18 .04
38
+ - os : ubuntu-20 .04
39
39
runs-on : ubuntu-latest
40
- container : ubuntu:bionic-20220427
40
+ container : ubuntu:focal-20241011
41
41
steps :
42
42
- name : Install base build tools, OpenGL and Vulkan
43
43
# apt update is needed to fetch package lists; software-properties-common
@@ -50,79 +50,50 @@ jobs:
50
50
# DESIGNED THIS CRAP?! https://stackoverflow.com/a/58264927
51
51
DEBIAN_FRONTEND=noninteractive apt-get install -y tzdata
52
52
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
59
63
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
89
65
python3.9 -m ensurepip --altinstall
90
66
python3.10 -m ensurepip --altinstall
91
67
- 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
94
69
with :
95
70
repository : mosra/corrade
96
71
path : corrade
97
72
# Needed for tags :(
98
73
fetch-depth : 0
99
74
- 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
102
76
with :
103
77
repository : mosra/magnum
104
78
path : magnum
105
79
# Needed for tags :(
106
80
fetch-depth : 0
107
81
- 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
110
83
with :
111
84
repository : mosra/magnum-plugins
112
85
path : magnum-plugins
113
86
# Needed for tags :(
114
87
fetch-depth : 0
115
88
- 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
118
90
with :
119
91
repository : mosra/magnum-extras
120
92
path : magnum-extras
121
93
# Needed for tags :(
122
94
fetch-depth : 0
123
95
- 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
126
97
with :
127
98
repository : mosra/magnum-bindings
128
99
path : magnum-bindings
@@ -481,8 +452,7 @@ jobs:
481
452
mv install magnum-tools-${{ env.CORRADE_VERSION }}-${{ env.MAGNUM_VERSION }}-${{ env.MAGNUM_PLUGINS_VERSION }}-${{ env.MAGNUM_EXTRAS_VERSION }}-${{ env.MAGNUM_BINDINGS_VERSION }}-linux-x64
482
453
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
483
454
- 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
486
456
with :
487
457
name : magnum-tools-${{ env.CORRADE_VERSION }}-${{ env.MAGNUM_VERSION }}-${{ env.MAGNUM_PLUGINS_VERSION }}-${{ env.MAGNUM_EXTRAS_VERSION }}-${{ env.MAGNUM_BINDINGS_VERSION }}-linux-x64
488
458
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:
493
463
strategy :
494
464
matrix :
495
465
include :
496
- - os : macos12 -x64-arm64
497
- runs-on : macos-12
466
+ - os : macos13 -x64-arm64
467
+ runs-on : macos-13
498
468
steps :
499
469
- name : Install base build tools
500
470
run : |
501
471
brew install ninja
502
472
mkdir -p deps
503
473
- name : Clone Corrade
504
- uses : actions/checkout@v4.1.7
474
+ uses : actions/checkout@v4
505
475
with :
506
476
repository : mosra/corrade
507
477
path : corrade
508
478
# Needed for tags :(
509
479
fetch-depth : 0
510
480
- name : Clone Magnum
511
- uses : actions/checkout@v4.1.7
481
+ uses : actions/checkout@v4
512
482
with :
513
483
repository : mosra/magnum
514
484
path : magnum
515
485
# Needed for tags :(
516
486
fetch-depth : 0
517
487
- name : Clone Magnum Plugins
518
- uses : actions/checkout@v4.1.7
488
+ uses : actions/checkout@v4
519
489
with :
520
490
repository : mosra/magnum-plugins
521
491
path : magnum-plugins
@@ -690,7 +660,7 @@ jobs:
690
660
mv install magnum-tools-${{ env.CORRADE_VERSION }}-${{ env.MAGNUM_VERSION }}-${{ env.MAGNUM_PLUGINS_VERSION }}-${{ matrix.os }}
691
661
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 }}
692
662
- name : Upload artifacts
693
- uses : actions/upload-artifact@v4.3.3
663
+ uses : actions/upload-artifact@v4
694
664
# TODO add extras + bindings version once built
695
665
with :
696
666
name : magnum-tools-${{ env.CORRADE_VERSION }}-${{ env.MAGNUM_VERSION }}-${{ env.MAGNUM_PLUGINS_VERSION }}-${{ matrix.os }}
@@ -712,35 +682,35 @@ jobs:
712
682
- name : Set up Visual Studio environment
713
683
uses : compnerd/gha-setup-vsdevenv@v6
714
684
- name : Clone Corrade
715
- uses : actions/checkout@v4.1.7
685
+ uses : actions/checkout@v4
716
686
with :
717
687
repository : mosra/corrade
718
688
path : corrade
719
689
# Needed for tags :(
720
690
fetch-depth : 0
721
691
- name : Clone Magnum
722
- uses : actions/checkout@v4.1.7
692
+ uses : actions/checkout@v4
723
693
with :
724
694
repository : mosra/magnum
725
695
path : magnum
726
696
# Needed for tags :(
727
697
fetch-depth : 0
728
698
- name : Clone Magnum Plugins
729
- uses : actions/checkout@v4.1.7
699
+ uses : actions/checkout@v4
730
700
with :
731
701
repository : mosra/magnum-plugins
732
702
path : magnum-plugins
733
703
# Needed for tags :(
734
704
fetch-depth : 0
735
705
- name : Clone Magnum Extras
736
- uses : actions/checkout@v4.1.7
706
+ uses : actions/checkout@v4
737
707
with :
738
708
repository : mosra/magnum-extras
739
709
path : magnum-extras
740
710
# Needed for tags :(
741
711
fetch-depth : 0
742
712
- name : Clone Magnum Bindings
743
- uses : actions/checkout@v4.1.7
713
+ uses : actions/checkout@v4
744
714
with :
745
715
repository : mosra/magnum-bindings
746
716
path : magnum-bindings
@@ -951,7 +921,7 @@ jobs:
951
921
-G Ninja -S magnum-extras -B magnum-extras-build || exit /b
952
922
ninja -C magnum-extras-build install || exit /b
953
923
- name : Setup Python 3.11
954
- uses : actions/setup-python@v3
924
+ uses : actions/setup-python@v5
955
925
with :
956
926
python-version : ' 3.11'
957
927
- name : Install Pybind11 for Python 3.11
@@ -1030,7 +1000,7 @@ jobs:
1030
1000
VERSION=$(git describe --match "v*" --abbrev=4)
1031
1001
echo "MAGNUM_BINDINGS_VERSION=${VERSION:9}" >> $GITHUB_ENV
1032
1002
- name : Upload artifacts
1033
- uses : actions/upload-artifact@v4.3.3
1003
+ uses : actions/upload-artifact@v4
1034
1004
with :
1035
1005
name : magnum-tools-${{ env.CORRADE_VERSION }}-${{ env.MAGNUM_VERSION }}-${{ env.MAGNUM_PLUGINS_VERSION }}-${{ env.MAGNUM_EXTRAS_VERSION }}-${{ env.MAGNUM_BINDINGS_VERSION }}-windows
1036
1006
path : install
0 commit comments