Skip to content

Commit f508ab6

Browse files
authored
chore(ci): precompile in docker containers (#325)
Signed-off-by: Cocoa <[email protected]>
1 parent df68fe5 commit f508ab6

File tree

1 file changed

+41
-20
lines changed

1 file changed

+41
-20
lines changed

.github/workflows/linux-precompile.yml

Lines changed: 41 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,14 @@ permissions:
1010

1111
jobs:
1212
armv7l-linux-gnueabihf:
13-
runs-on: ubuntu-22.04
13+
runs-on: ubuntu-latest
14+
container: ubuntu:20.04
1415
env:
16+
ImageOS: ubuntu20
17+
LANG: en_US.UTF-8
18+
LANGUAGE: en_US:en
19+
LC_ALL: en_US.UTF-8
20+
DEBIAN_FRONTEND: noninteractive
1521
ARCH: armv7l
1622
TARGET: armv7l-linux-gnueabihf
1723
strategy:
@@ -25,20 +31,23 @@ jobs:
2531
- name: Checkout
2632
uses: actions/checkout@v4
2733

34+
- name: Install system dependecies
35+
run: |
36+
alias sudo=`which sudo`
37+
$sudo apt-get update
38+
$sudo apt-get install -y \
39+
build-essential automake autoconf pkg-config wget curl \
40+
bc m4 unzip zip gcc g++ ca-certificates libssl-dev
41+
2842
- uses: erlef/setup-beam@v1
2943
with:
3044
otp-version: ${{ matrix.job.otp }}
3145
elixir-version: ${{ matrix.job.elixir }}
3246

33-
- name: Install system dependecies
34-
run: |
35-
sudo apt-get update
36-
sudo apt-get install -y \
37-
build-essential automake autoconf pkg-config \
38-
bc m4 unzip zip gcc g++
39-
4047
- name: Install armv7l specific deps
41-
run: sudo apt-get install -y gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf
48+
run: |
49+
alias sudo=`which sudo`
50+
$sudo apt-get install -y gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf
4251
4352
- name: Create precompiled ${{ env.ARCH }} library
4453
run: |
@@ -63,8 +72,14 @@ jobs:
6372
cache/*${{ env.TARGET }}*.tar.gz
6473
6574
precompile:
66-
runs-on: ubuntu-22.04
75+
runs-on: ubuntu-latest
76+
container: ubuntu:20.04
6777
env:
78+
ImageOS: ubuntu20
79+
LANG: en_US.UTF-8
80+
LANGUAGE: en_US:en
81+
LC_ALL: en_US.UTF-8
82+
DEBIAN_FRONTEND: noninteractive
6883
MIX_ENV: prod
6984
strategy:
7085
matrix:
@@ -81,32 +96,38 @@ jobs:
8196
- name: Checkout
8297
uses: actions/checkout@v4
8398

99+
- name: Install system dependecies
100+
run: |
101+
alias sudo=`which sudo`
102+
$sudo apt-get update
103+
$sudo apt-get install -y \
104+
build-essential automake autoconf pkg-config wget curl \
105+
bc m4 unzip zip gcc g++ ca-certificates libssl-dev
106+
84107
- uses: erlef/setup-beam@v1
85108
with:
86109
otp-version: ${{ matrix.job.otp }}
87110
elixir-version: ${{ matrix.job.elixir }}
88111

89-
- name: Install system dependecies
90-
run: |
91-
sudo apt-get update
92-
sudo apt-get install -y \
93-
build-essential automake autoconf pkg-config \
94-
bc m4 unzip zip gcc g++
95-
96112
- name: Install x86_64 specific deps
97113
if: matrix.arch == 'x86_64'
98114
run: |
99-
sudo apt-get install -y gcc-i686-linux-gnu g++-i686-linux-gnu \
115+
alias sudo=`which sudo`
116+
$sudo apt-get install -y gcc-i686-linux-gnu g++-i686-linux-gnu \
100117
gcc-powerpc64le-linux-gnu g++-powerpc64le-linux-gnu \
101118
gcc-s390x-linux-gnu g++-s390x-linux-gnu
102119
103120
- name: Install aarch64 specific deps
104121
if: matrix.arch == 'aarch64'
105-
run: sudo apt-get install -y gcc-aarch64-linux-gnu g++-aarch64-linux-gnu
122+
run: |
123+
alias sudo=`which sudo`
124+
$sudo apt-get install -y gcc-aarch64-linux-gnu g++-aarch64-linux-gnu
106125
107126
- name: Install riscv64 specific deps
108127
if: matrix.arch == 'riscv64'
109-
run: sudo apt-get install -y gcc-riscv64-linux-gnu g++-riscv64-linux-gnu
128+
run: |
129+
alias sudo=`which sudo`
130+
$sudo apt-get install -y gcc-riscv64-linux-gnu g++-riscv64-linux-gnu
110131
111132
- name: Get musl ${{ matrix.arch }} cross-compilers
112133
run: |

0 commit comments

Comments
 (0)