@@ -15,61 +15,79 @@ jobs:
15
15
MIX_ENV : prod
16
16
strategy :
17
17
matrix :
18
- otp_version : ["25"]
18
+ job :
19
+ - {otp: "27", elixir: "1.17", nif: "2.17"}
20
+ - {otp: "26", elixir: "1.16", nif: "2.16"}
21
+ - {otp: "24", elixir: "1.13", nif: "2.15"}
19
22
20
- name : Linux x86_64 - OTP ${{ matrix.otp_version }}
23
+ name : Linux x86_64 - OTP ${{ matrix.job.otp }} - Elixir ${{ matrix.job.elixir }}
21
24
steps :
22
25
- name : Checkout
23
26
uses : actions/checkout@v4
24
27
25
28
- uses : erlef/setup-beam@v1
26
29
with :
27
- otp-version : ${{ matrix.otp_version }}
28
- elixir-version : " 1.14 "
30
+ otp-version : ${{ matrix.job.otp }}
31
+ elixir-version : ${{ matrix.job.elixir }}
29
32
30
- - name : Install system dependecies
31
- run : |
32
- sudo apt-get update
33
- sudo apt-get install -y build-essential automake autoconf pkg-config bc m4 unzip zip \
34
- gcc g++ \
35
- gcc-i686-linux-gnu g++-i686-linux-gnu \
36
- gcc-aarch64-linux-gnu g++-aarch64-linux-gnu \
37
- gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf \
38
- gcc-riscv64-linux-gnu g++-riscv64-linux-gnu \
39
- gcc-powerpc64le-linux-gnu g++-powerpc64le-linux-gnu \
40
- gcc-s390x-linux-gnu g++-s390x-linux-gnu
33
+ # - name: Install system dependecies
34
+ # run: |
35
+ # sudo apt-get update
36
+ # sudo apt-get install -y build-essential automake autoconf pkg-config bc m4 unzip zip \
37
+ # gcc g++ \
38
+ # gcc-i686-linux-gnu g++-i686-linux-gnu \
39
+ # gcc-aarch64-linux-gnu g++-aarch64-linux-gnu \
40
+ # gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf \
41
+ # gcc-riscv64-linux-gnu g++-riscv64-linux-gnu \
42
+ # gcc-powerpc64le-linux-gnu g++-powerpc64le-linux-gnu \
43
+ # gcc-s390x-linux-gnu g++-s390x-linux-gnu
41
44
42
- - name : Get musl cross-compilers
43
- run : |
44
- for musl_arch in x86_64 aarch64 riscv64
45
- do
46
- wget "https://musl.cc/${musl_arch}-linux-musl-cross.tgz" -O "${musl_arch}-linux-musl-cross.tgz"
47
- tar -xf "${musl_arch}-linux-musl-cross.tgz"
48
- done
45
+ # - name: Get musl cross-compilers
46
+ # run: |
47
+ # for musl_arch in x86_64 aarch64 riscv64
48
+ # do
49
+ # wget "https://musl.cc/${musl_arch}-linux-musl-cross.tgz" -O "${musl_arch}-linux-musl-cross.tgz"
50
+ # tar -xf "${musl_arch}-linux-musl-cross.tgz"
51
+ # done
49
52
50
- - name : Create precompiled x86_64 library
51
- run : |
52
- export PATH="$(pwd)/x86_64-linux-musl-cross/bin:${PATH}"
53
- export ELIXIR_MAKE_CACHE_DIR=$(pwd)/cache
54
- mkdir -p "${ELIXIR_MAKE_CACHE_DIR}"
55
- mix deps.get
56
- mix elixir_make.precompile
53
+ # - name: Create precompiled x86_64 library
54
+ # run: |
55
+ # export PATH="$(pwd)/x86_64-linux-musl-cross/bin:${PATH}"
56
+ # export ELIXIR_MAKE_CACHE_DIR=$(pwd)/cache
57
+ # mkdir -p "${ELIXIR_MAKE_CACHE_DIR}"
58
+ # mix deps.get
59
+ # mix elixir_make.precompile
57
60
58
- - name : Create precompiled aarch64 library
59
- run : |
60
- export PATH="$(pwd)/aarch64-linux-musl-cross/bin:${PATH}"
61
- export ELIXIR_MAKE_CACHE_DIR=$(pwd)/cache
62
- mkdir -p "${ELIXIR_MAKE_CACHE_DIR}"
63
- mix deps.get
64
- mix elixir_make.precompile
61
+ # - name: Create precompiled aarch64 library
62
+ # run: |
63
+ # export PATH="$(pwd)/aarch64-linux-musl-cross/bin:${PATH}"
64
+ # export ELIXIR_MAKE_CACHE_DIR=$(pwd)/cache
65
+ # mkdir -p "${ELIXIR_MAKE_CACHE_DIR}"
66
+ # mix deps.get
67
+ # mix elixir_make.precompile
68
+
69
+ # - name: Create precompiled riscv64 library
70
+ # run: |
71
+ # export PATH="$(pwd)/riscv64-linux-musl-cross/bin:${PATH}"
72
+ # export ELIXIR_MAKE_CACHE_DIR=$(pwd)/cache
73
+ # mkdir -p "${ELIXIR_MAKE_CACHE_DIR}"
74
+ # mix deps.get
75
+ # mix elixir_make.precompile
65
76
66
- - name : Create precompiled riscv64 library
67
- run : |
68
- export PATH="$(pwd)/riscv64-linux-musl-cross/bin:${PATH}"
69
- export ELIXIR_MAKE_CACHE_DIR=$(pwd)/cache
70
- mkdir -p "${ELIXIR_MAKE_CACHE_DIR}"
71
- mix deps.get
72
- mix elixir_make.precompile
77
+ # - uses: softprops/action-gh-release@v1
78
+ # if: startsWith(github.ref, 'refs/tags/')
79
+ # with:
80
+ # files: |
81
+ # cache/*.tar.gz
82
+ # macos:
83
+ # runs-on: ubuntu-20.04
84
+ # env:
85
+ # MIX_ENV: prod
86
+ # ELIXIR_VERSION: "1.16.0"
87
+ # strategy:
88
+ # matrix:
89
+ # job:
90
+ # - {otp: "25", elixir: "1.16"}
73
91
74
92
# precompile:
75
93
# runs-on: ${{ matrix.job.os }}
0 commit comments