Skip to content

Commit 0774bd6

Browse files
authored
Merge pull request #23 from theofficialgman/docker
Lower GLIBC requirements by using building linux natives on ubuntu 18.04 docker
2 parents 3cd779f + 31d3ab4 commit 0774bd6

File tree

3 files changed

+72
-12
lines changed

3 files changed

+72
-12
lines changed

.github/workflows/pushaction.yml

Lines changed: 33 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,11 +50,38 @@ jobs:
5050
linux:
5151
needs: macos
5252
runs-on: ubuntu-20.04
53+
container: ubuntu:18.04
5354
env:
5455
ORG_GRADLE_PROJECT_GITHUB_USERNAME: ""
5556
ORG_GRADLE_PROJECT_GITHUB_API_TOKEN: ""
5657
steps:
57-
- uses: actions/checkout@v4
58+
- name: Install dependencies into minimal dockerfile
59+
run: |
60+
# ubuntu dockerfile is very minimal (only 122 packages are installed)
61+
# need to install updated git (from official git ppa)
62+
apt update
63+
apt install -y software-properties-common
64+
add-apt-repository ppa:git-core/ppa -y
65+
# install dependencies expected by other steps
66+
apt update
67+
apt install -y git \
68+
curl \
69+
ca-certificates \
70+
wget \
71+
bzip2 \
72+
zip \
73+
unzip \
74+
xz-utils \
75+
openjdk-11-jdk-headless \
76+
maven \
77+
build-essential \
78+
ant sudo locales
79+
# set Locale to en_US.UTF-8 (avoids hang during compilation)
80+
locale-gen en_US.UTF-8
81+
echo "LANG=en_US.UTF-8" >> $GITHUB_ENV
82+
echo "LANGUAGE=en_US.UTF-8" >> $GITHUB_ENV
83+
echo "LC_ALL=en_US.UTF-8" >> $GITHUB_ENV
84+
- uses: actions/checkout@v3
5885
with:
5986
submodules: 'recursive'
6087

@@ -67,10 +94,13 @@ jobs:
6794
- name: Setup Gradle
6895
uses: gradle/[email protected]
6996

70-
- run: echo "http://ports.ubuntu.com/ubuntu-ports" | sudo tee -a /etc/apt/apt-mirrors.txt
97+
- run: sudo sed -i 's/deb http/deb [arch=amd64,i386] http/' /etc/apt/sources.list
98+
- run: grep "ubuntu.com/ubuntu" /etc/apt/sources.list | sudo tee /etc/apt/sources.list.d/ports.list
99+
- run: sudo sed -i 's/amd64,i386/armhf,arm64/' /etc/apt/sources.list.d/ports.list
100+
- run: sudo sed -i 's#http://.*/ubuntu#http://ports.ubuntu.com/ubuntu-ports#' /etc/apt/sources.list.d/ports.list
71101
- name: Add extra platform architectures
72102
run: sudo dpkg --add-architecture i386; sudo dpkg --add-architecture armhf; sudo dpkg --add-architecture arm64
73-
- run: sudo apt-get update || true
103+
- run: sudo apt-get update
74104
- name: Install Windows compilers
75105
run: sudo apt-get -yq install g++-mingw-w64-i686 g++-mingw-w64-x86-64
76106
- name: Install Linux x86 compilers/libraries

.github/workflows/releaseaction.yml

Lines changed: 33 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -53,11 +53,38 @@ jobs:
5353
linux:
5454
needs: macos
5555
runs-on: ubuntu-20.04
56+
container: ubuntu:18.04
5657
env:
5758
ORG_GRADLE_PROJECT_GITHUB_USERNAME: ""
5859
ORG_GRADLE_PROJECT_GITHUB_API_TOKEN: ""
5960
steps:
60-
- uses: actions/checkout@v4
61+
- name: Install dependencies into minimal dockerfile
62+
run: |
63+
# ubuntu dockerfile is very minimal (only 122 packages are installed)
64+
# need to install updated git (from official git ppa)
65+
apt update
66+
apt install -y software-properties-common
67+
add-apt-repository ppa:git-core/ppa -y
68+
# install dependencies expected by other steps
69+
apt update
70+
apt install -y git \
71+
curl \
72+
ca-certificates \
73+
wget \
74+
bzip2 \
75+
zip \
76+
unzip \
77+
xz-utils \
78+
openjdk-11-jdk-headless \
79+
maven \
80+
build-essential \
81+
ant sudo locales
82+
# set Locale to en_US.UTF-8 (avoids hang during compilation)
83+
locale-gen en_US.UTF-8
84+
echo "LANG=en_US.UTF-8" >> $GITHUB_ENV
85+
echo "LANGUAGE=en_US.UTF-8" >> $GITHUB_ENV
86+
echo "LC_ALL=en_US.UTF-8" >> $GITHUB_ENV
87+
- uses: actions/checkout@v3
6188
with:
6289
submodules: 'recursive'
6390

@@ -70,10 +97,13 @@ jobs:
7097
- name: Setup Gradle
7198
uses: gradle/[email protected]
7299

73-
- run: echo "http://ports.ubuntu.com/ubuntu-ports" | sudo tee -a /etc/apt/apt-mirrors.txt
100+
- run: sudo sed -i 's/deb http/deb [arch=amd64,i386] http/' /etc/apt/sources.list
101+
- run: grep "ubuntu.com/ubuntu" /etc/apt/sources.list | sudo tee /etc/apt/sources.list.d/ports.list
102+
- run: sudo sed -i 's/amd64,i386/armhf,arm64/' /etc/apt/sources.list.d/ports.list
103+
- run: sudo sed -i 's#http://.*/ubuntu#http://ports.ubuntu.com/ubuntu-ports#' /etc/apt/sources.list.d/ports.list
74104
- name: Add extra platform architectures
75105
run: sudo dpkg --add-architecture i386; sudo dpkg --add-architecture armhf; sudo dpkg --add-architecture arm64
76-
- run: sudo apt-get update || true
106+
- run: sudo apt-get update
77107
- name: Install Windows compilers
78108
run: sudo apt-get -yq install g++-mingw-w64-i686 g++-mingw-w64-x86-64
79109
- name: Install Linux x86 compilers/libraries

build.gradle

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -119,32 +119,32 @@ jnigen {
119119
add(Windows, x32) {
120120
cFlags += getSdl2CFlags('./SDL/build-windows32/')
121121
cppFlags += getSdl2CFlags('./SDL/build-windows32/')
122-
libraries += getSdl2StaticLibs('./SDL/build-windows32/').replaceAll("[a-zA-Z0-9\\.\\-/]+libSDL2.a", file("SDL/build-windows32/build/.libs/libSDL2.a").absolutePath).replace("-lSDL2main", file("SDL/build-windows32/build/.libs/libSDL2main.a").absolutePath)
122+
libraries += getSdl2StaticLibs('./SDL/build-windows32/').replaceAll("[a-zA-Z0-9_\\.\\-/]+libSDL2.a", file("SDL/build-windows32/build/.libs/libSDL2.a").absolutePath).replace("-lSDL2main", file("SDL/build-windows32/build/.libs/libSDL2main.a").absolutePath)
123123
}
124124
add(Windows, x64) {
125125
cFlags += getSdl2CFlags('./SDL/build-windows64/')
126126
cppFlags += getSdl2CFlags('./SDL/build-windows64/')
127-
libraries += getSdl2StaticLibs('./SDL/build-windows64/').replaceAll("[a-zA-Z0-9\\.\\-/]+libSDL2.a", file("SDL/build-windows64/build/.libs/libSDL2.a").absolutePath).replace("-lSDL2main", file("SDL/build-windows64/build/.libs/libSDL2main.a").absolutePath)
127+
libraries += getSdl2StaticLibs('./SDL/build-windows64/').replaceAll("[a-zA-Z0-9_\\.\\-/]+libSDL2.a", file("SDL/build-windows64/build/.libs/libSDL2.a").absolutePath).replace("-lSDL2main", file("SDL/build-windows64/build/.libs/libSDL2main.a").absolutePath)
128128
}
129129
add(Linux, x32) {
130130
cFlags += getSdl2CFlags('./SDL/build-linux32/')
131131
cppFlags += getSdl2CFlags('./SDL/build-linux32/')
132-
libraries += getSdl2StaticLibs('./SDL/build-linux32/').replaceAll("[a-zA-Z0-9\\.\\-/]+libSDL2.a", file("SDL/build-linux32/build/.libs/libSDL2.a").absolutePath)
132+
libraries += getSdl2StaticLibs('./SDL/build-linux32/').replaceAll("[a-zA-Z0-9_\\.\\-/]+libSDL2.a", file("SDL/build-linux32/build/.libs/libSDL2.a").absolutePath)
133133
}
134134
add(Linux, x64) {
135135
cFlags += getSdl2CFlags('./SDL/build-linux64/')
136136
cppFlags += getSdl2CFlags('./SDL/build-linux64/')
137-
libraries += getSdl2StaticLibs('./SDL/build-linux64/').replaceAll("[a-zA-Z0-9\\.\\-/]+libSDL2.a", file("SDL/build-linux64/build/.libs/libSDL2.a").absolutePath)
137+
libraries += getSdl2StaticLibs('./SDL/build-linux64/').replaceAll("[a-zA-Z0-9_\\.\\-/]+libSDL2.a", file("SDL/build-linux64/build/.libs/libSDL2.a").absolutePath)
138138
}
139139
add(Linux, x32, ARM) {
140140
cFlags += getSdl2CFlags('./SDL/build-linuxarm32/')
141141
cppFlags += getSdl2CFlags('./SDL/build-linuxarm32/')
142-
libraries += getSdl2StaticLibs('./SDL/build-linuxarm32/').replaceAll("[a-zA-Z0-9\\.\\-/]+libSDL2.a", file("SDL/build-linuxarm32/build/.libs/libSDL2.a").absolutePath)
142+
libraries += getSdl2StaticLibs('./SDL/build-linuxarm32/').replaceAll("[a-zA-Z0-9_\\.\\-/]+libSDL2.a", file("SDL/build-linuxarm32/build/.libs/libSDL2.a").absolutePath)
143143
}
144144
add(Linux, x64, ARM) {
145145
cFlags += getSdl2CFlags('./SDL/build-linuxarm64/')
146146
cppFlags += getSdl2CFlags('./SDL/build-linuxarm64/')
147-
libraries += getSdl2StaticLibs('./SDL/build-linuxarm64/').replaceAll("[a-zA-Z0-9\\.\\-/]+libSDL2.a", file("SDL/build-linuxarm64/build/.libs/libSDL2.a").absolutePath)
147+
libraries += getSdl2StaticLibs('./SDL/build-linuxarm64/').replaceAll("[a-zA-Z0-9_\\.\\-/]+libSDL2.a", file("SDL/build-linuxarm64/build/.libs/libSDL2.a").absolutePath)
148148
}
149149
add(MacOsX, x64) {
150150
cFlags += getSdl2CFlags('./SDL/build-macos64/')

0 commit comments

Comments
 (0)