@@ -9,6 +9,59 @@ permissions:
9
9
contents : write
10
10
11
11
jobs :
12
+ armv7l-linux-gnueabihf :
13
+ runs-on : ubuntu-latest
14
+ env :
15
+ ARCH : armv7l
16
+ TARGET : armv7l-linux-gnueabihf
17
+ strategy :
18
+ matrix :
19
+ job :
20
+ - {otp: "27.1.1", elixir: "1.17"}
21
+ - {otp: "25.3.2.14", elixir: "1.16"}
22
+
23
+ name : Linux armv7l - OTP ${{ matrix.job.otp }} - Elixir ${{ matrix.job.elixir }}
24
+ steps :
25
+ - name : Checkout
26
+ uses : actions/checkout@v4
27
+
28
+ - uses : erlef/setup-beam@v1
29
+ with :
30
+ otp-version : ${{ matrix.job.otp }}
31
+ elixir-version : ${{ matrix.job.elixir }}
32
+
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
+
40
+ - name : Install armv7l specific deps
41
+ run : sudo apt-get install -y gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf
42
+
43
+ - name : Create precompiled ${{ env.ARCH }} library
44
+ run : |
45
+ ROOTDIR="$(pwd)"
46
+ OTP_ROOTDIR="${ROOTDIR}/.tools/otp"
47
+ mkdir -p "${OTP_ROOTDIR}"
48
+ cd "${OTP_ROOTDIR}"
49
+ curl -fSL "https://github.com/cocoa-xu/otp-build/releases/download/v${{ matrix.job.otp }}/otp-${{ env.TARGET }}.tar.gz" -o "otp-${{ env.TARGET }}.tar.gz"
50
+ tar -xzf "otp-${{ env.TARGET }}.tar.gz"
51
+ cd "${ROOTDIR}"
52
+
53
+ export PRECOMPILE_ERL_EI_INCLUDE_DIR="${OTP_ROOTDIR}/usr/local/lib/erlang/usr/include"
54
+ export ELIXIR_MAKE_CACHE_DIR=$(pwd)/cache
55
+ mkdir -p "${ELIXIR_MAKE_CACHE_DIR}"
56
+ mix deps.get
57
+ mix elixir_make.precompile
58
+
59
+ - uses : softprops/action-gh-release@v1
60
+ if : startsWith(github.ref, 'refs/tags/')
61
+ with :
62
+ files : |
63
+ cache/*${{ env.TARGET }}*.tar.gz
64
+
12
65
precompile :
13
66
runs-on : ubuntu-20.04
14
67
env :
44
97
if : matrix.arch == 'x86_64'
45
98
run : |
46
99
sudo apt-get install -y gcc-i686-linux-gnu g++-i686-linux-gnu \
47
- gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf \
48
100
gcc-powerpc64le-linux-gnu g++-powerpc64le-linux-gnu \
49
101
gcc-s390x-linux-gnu g++-s390x-linux-gnu
50
102
0 commit comments