-
Notifications
You must be signed in to change notification settings - Fork 16
131 lines (109 loc) · 3.44 KB
/
precompile.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
name: precompile
on:
push:
tags:
- 'v*'
permissions:
contents: write
jobs:
linux:
runs-on: ubuntu-latest
env:
MIX_ENV: prod
strategy:
matrix:
otp_version: [25, 26]
name: Linux GNU - OTP ${{ matrix.otp_version }}
steps:
- uses: actions/checkout@v3
- uses: erlef/setup-beam@v1
with:
otp-version: ${{ matrix.otp_version }}
elixir-version: 1.15
- name: Install system dependecies
run: |
sudo apt-get update
sudo apt-get install -y build-essential automake autoconf pkg-config bc m4 unzip zip \
gcc g++ \
gcc-i686-linux-gnu g++-i686-linux-gnu \
gcc-aarch64-linux-gnu g++-aarch64-linux-gnu \
gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf \
gcc-riscv64-linux-gnu g++-riscv64-linux-gnu \
gcc-powerpc64le-linux-gnu g++-powerpc64le-linux-gnu \
gcc-s390x-linux-gnu g++-s390x-linux-gnu
- name: Precompile
run: |
export ELIXIR_MAKE_CACHE_DIR=$(pwd)/cache
mkdir -p "${ELIXIR_MAKE_CACHE_DIR}"
mix deps.get
mix elixir_make.precompile
- uses: softprops/action-gh-release@v1
if: startsWith(github.ref, 'refs/tags/')
with:
files: |
cache/adbc*.tar.gz
macos:
runs-on: macos-11
env:
MIX_ENV: prod
elixir_version: "1.15.2"
strategy:
matrix:
otp_version: ["25.3.2.3", "26.0.2"]
name: macOS - OTP ${{ matrix.otp_version }}
steps:
- uses: actions/checkout@v3
- name: Install erlang and elixir
run: |
brew install autoconf coreutils curl git openssl asdf
asdf plugin add erlang https://github.com/asdf-vm/asdf-erlang.git
asdf plugin-add elixir https://github.com/asdf-vm/asdf-elixir.git
export KERL_CONFIGURE_OPTIONS="--disable-debug --without-javac"
asdf install erlang ${{ matrix.otp_version }}
asdf install elixir ${{ env.elixir_version }}
asdf global erlang ${{ matrix.otp_version }}
asdf global elixir ${{ env.elixir_version }}
source $(brew --prefix asdf)/libexec/asdf.sh
mix local.hex --force
mix local.rebar --force
- name: Precompile
run: |
source $(brew --prefix asdf)/libexec/asdf.sh
export ELIXIR_MAKE_CACHE_DIR=$(pwd)/cache
mkdir -p "${ELIXIR_MAKE_CACHE_DIR}"
mix deps.get
mix elixir_make.precompile
- uses: softprops/action-gh-release@v1
if: startsWith(github.ref, 'refs/tags/')
with:
files: |
cache/adbc*.tar.gz
windows:
runs-on: windows-latest
env:
MIX_ENV: prod
strategy:
matrix:
otp_version: [25, 26]
name: Windows - OTP ${{ matrix.otp_version }}
steps:
- uses: actions/checkout@v3
- uses: erlef/setup-beam@v1
with:
otp-version: ${{ matrix.otp_version }}
elixir-version: 1.15
- uses: ilammy/msvc-dev-cmd@v1
with:
arch: x64
- name: Precompile
shell: bash
run: |
export ELIXIR_MAKE_CACHE_DIR=$(pwd)/cache
mkdir -p "${ELIXIR_MAKE_CACHE_DIR}"
mix deps.get
mix elixir_make.precompile
- uses: softprops/action-gh-release@v1
if: startsWith(github.ref, 'refs/tags/')
with:
files: |
cache/adbc*.tar.gz