mirror of
https://github.com/processone/ejabberd.git
synced 2024-11-20 16:15:59 +01:00
Runtime: Try using elixir container for Rebar3+Elixir and Mix jobs (#4281)
This commit is contained in:
parent
d3baacd78e
commit
c20ed8c7b3
103
.github/workflows/runtime.yml
vendored
103
.github/workflows/runtime.yml
vendored
@ -158,51 +158,21 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
otp: ['23.0', '25', '26', '27']
|
elixir: ['1.13', '1.14', '1.15', '1.16', '1.17']
|
||||||
elixir: ['1.13', '1.15', '1.16', '1.17']
|
runs-on: ubuntu-24.04
|
||||||
exclude:
|
container:
|
||||||
- otp: '23.0'
|
image: elixir:${{ matrix.elixir }}
|
||||||
elixir: '1.15'
|
|
||||||
- otp: '23.0'
|
|
||||||
elixir: '1.16'
|
|
||||||
- otp: '23.0'
|
|
||||||
elixir: '1.17'
|
|
||||||
- otp: '26'
|
|
||||||
elixir: '1.13'
|
|
||||||
- otp: '27'
|
|
||||||
elixir: '1.13'
|
|
||||||
- otp: '27'
|
|
||||||
elixir: '1.15'
|
|
||||||
- otp: '27'
|
|
||||||
elixir: '1.16'
|
|
||||||
runs-on: ubuntu-20.04
|
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
|
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Get specific Erlang/OTP
|
|
||||||
uses: erlef/setup-beam@v1
|
|
||||||
with:
|
|
||||||
otp-version: ${{matrix.otp}}
|
|
||||||
elixir-version: ${{matrix.elixir}}
|
|
||||||
|
|
||||||
- name: Get compatible Rebar binaries
|
|
||||||
if: matrix.otp < 24
|
|
||||||
run: |
|
|
||||||
rm rebar
|
|
||||||
rm rebar3
|
|
||||||
wget https://github.com/processone/ejabberd/raw/21.12/rebar
|
|
||||||
wget https://github.com/processone/ejabberd/raw/21.12/rebar3
|
|
||||||
chmod +x rebar
|
|
||||||
chmod +x rebar3
|
|
||||||
|
|
||||||
- name: Prepare libraries
|
- name: Prepare libraries
|
||||||
run: |
|
run: |
|
||||||
sudo apt-get -qq update
|
apt-get -qq update
|
||||||
sudo apt-get -y purge libgd3 nginx
|
apt-get -y purge libgd3 nginx
|
||||||
sudo apt-get -qq install libexpat1-dev libgd-dev libpam0g-dev \
|
apt-get -qq install libexpat1-dev libgd-dev libpam0g-dev \
|
||||||
libsqlite3-dev libwebp-dev libyaml-dev
|
libsqlite3-dev libwebp-dev libyaml-dev
|
||||||
|
|
||||||
- name: Enable ModPresenceDemo and an Elixir dependency
|
- name: Enable ModPresenceDemo and an Elixir dependency
|
||||||
run: |
|
run: |
|
||||||
@ -216,7 +186,13 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
path: |
|
path: |
|
||||||
~/.cache/rebar3/
|
~/.cache/rebar3/
|
||||||
key: ${{matrix.otp}}-${{hashFiles('rebar.config')}}
|
key: ${{matrix.elixir}}-${{hashFiles('rebar.config')}}
|
||||||
|
|
||||||
|
- name: Install Hex and Rebar3 manually on older Elixir
|
||||||
|
if: matrix.elixir <= '1.14'
|
||||||
|
run: |
|
||||||
|
mix local.hex --force
|
||||||
|
mix local.rebar --force
|
||||||
|
|
||||||
- name: Compile
|
- name: Compile
|
||||||
run: |
|
run: |
|
||||||
@ -305,41 +281,21 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
otp: ['23.0', '25', '26', '27']
|
elixir: ['1.13', '1.14', '1.15', '1.16', '1.17']
|
||||||
elixir: ['1.13', '1.15', '1.16', '1.17']
|
runs-on: ubuntu-24.04
|
||||||
exclude:
|
container:
|
||||||
- otp: '23.0'
|
image: elixir:${{ matrix.elixir }}
|
||||||
elixir: '1.15'
|
|
||||||
- otp: '23.0'
|
|
||||||
elixir: '1.16'
|
|
||||||
- otp: '23.0'
|
|
||||||
elixir: '1.17'
|
|
||||||
- otp: '26'
|
|
||||||
elixir: '1.13'
|
|
||||||
- otp: '27'
|
|
||||||
elixir: '1.13'
|
|
||||||
- otp: '27'
|
|
||||||
elixir: '1.15'
|
|
||||||
- otp: '27'
|
|
||||||
elixir: '1.16'
|
|
||||||
runs-on: ubuntu-20.04
|
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
|
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Get specific Erlang/OTP
|
|
||||||
uses: erlef/setup-beam@v1
|
|
||||||
with:
|
|
||||||
otp-version: ${{matrix.otp}}
|
|
||||||
elixir-version: ${{matrix.elixir}}
|
|
||||||
|
|
||||||
- name: Prepare libraries
|
- name: Prepare libraries
|
||||||
run: |
|
run: |
|
||||||
sudo apt-get -qq update
|
apt-get -qq update
|
||||||
sudo apt-get -y purge libgd3 nginx
|
apt-get -y purge libgd3 nginx
|
||||||
sudo apt-get -qq install libexpat1-dev libgd-dev libpam0g-dev \
|
apt-get -qq install libexpat1-dev libgd-dev libpam0g-dev \
|
||||||
libsqlite3-dev libwebp-dev libyaml-dev
|
libsqlite3-dev libwebp-dev libyaml-dev
|
||||||
|
|
||||||
- name: Remove Elixir Matchers
|
- name: Remove Elixir Matchers
|
||||||
run: |
|
run: |
|
||||||
@ -356,17 +312,18 @@ jobs:
|
|||||||
sed -i 's|^{deps, \(.*\)|{deps, \1\n {decimal, ".*", {git, "https://github.com/ericmj/decimal", {branch, "main"}}}, |g' rebar.config
|
sed -i 's|^{deps, \(.*\)|{deps, \1\n {decimal, ".*", {git, "https://github.com/ericmj/decimal", {branch, "main"}}}, |g' rebar.config
|
||||||
cat rebar.config
|
cat rebar.config
|
||||||
|
|
||||||
- name: Unlock Jose dependency on older Erlang
|
|
||||||
if: matrix.otp < 24
|
|
||||||
run: |
|
|
||||||
mix deps.unlock jose
|
|
||||||
|
|
||||||
- name: Cache Hex.pm
|
- name: Cache Hex.pm
|
||||||
uses: actions/cache@v4
|
uses: actions/cache@v4
|
||||||
with:
|
with:
|
||||||
path: |
|
path: |
|
||||||
~/.hex/
|
~/.hex/
|
||||||
key: ${{matrix.otp}}-${{hashFiles('mix.exs')}}
|
key: ${{matrix.elixir}}-${{hashFiles('mix.exs')}}
|
||||||
|
|
||||||
|
- name: Install Hex and Rebar3 manually on older Elixir
|
||||||
|
if: matrix.elixir <= '1.14'
|
||||||
|
run: |
|
||||||
|
mix local.hex --force
|
||||||
|
mix local.rebar --force
|
||||||
|
|
||||||
- name: Compile
|
- name: Compile
|
||||||
run: |
|
run: |
|
||||||
|
Loading…
Reference in New Issue
Block a user