From 2cea499574a7b2986b500fb2a434e18a888ea77a Mon Sep 17 00:00:00 2001 From: Bartosz Szafran Date: Wed, 10 Apr 2024 08:34:20 +0200 Subject: [PATCH 1/3] Update GitHub runner and tested Elixir and OTP versions --- .github/workflows/elixir.yml | 57 +++++++++++++++--------------------- 1 file changed, 23 insertions(+), 34 deletions(-) diff --git a/.github/workflows/elixir.yml b/.github/workflows/elixir.yml index 0f62f46..bb6f835 100644 --- a/.github/workflows/elixir.yml +++ b/.github/workflows/elixir.yml @@ -13,34 +13,11 @@ jobs: build: name: Build and test - Erlang ${{matrix.otp}} / Elixir ${{matrix.elixir}} - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 strategy: matrix: # https://hexdocs.pm/elixir/compatibility-and-deprecations.html#compatibility-between-elixir-and-erlang-otp include: - # Elixir 1.10.3: 21-23 - - elixir: '1.10.3' - otp: '21.3' - - - elixir: "1.10.3" - otp: "22.3" - - - elixir: "1.10.3" - otp: "23.3" - - # Elixir 1.11: 21-23 - - elixir: "1.11.4" - otp: "21.3" - - - elixir: "1.11.4" - otp: "22.3" - - - elixir: "1.11.4" - otp: "23.3" - - - elixir: "1.11.4" - otp: "24.3" - # Elixir 1.12: 22-24 - elixir: "1.12" otp: "22.3" @@ -64,7 +41,7 @@ jobs: - elixir: "1.13.4" otp: "25.3" - # Elixir 1.14: 23-25 + # Elixir 1.14: 23-25 (and 26 from v1.14.5) - elixir: "1.14" otp: "23.3" @@ -74,16 +51,28 @@ jobs: - elixir: "1.14" otp: "25.3" - # Not available in operating system yet + - elixir: "1.14" + otp: "26.2" + # Elixir 1.15: 24-26 - #- elixir: "1.15" - # otp: "24.3" - # - #- elixir: "1.15" - # otp: "25.3" - # - #- elixir: "1.15" - # otp: "26.0" + - elixir: "1.15" + otp: "24.3" + + - elixir: "1.15" + otp: "25.3" + + - elixir: "1.15" + otp: "26.2" + + # Elixir 1.16: 24-26 + - elixir: "1.15" + otp: "24.3" + + - elixir: "1.15" + otp: "25.3" + + - elixir: "1.15" + otp: "26.2" steps: - uses: actions/checkout@v3 - name: Set up Elixir From d5bdca3b30fd8d4002301200eb16a1765ad5e3d6 Mon Sep 17 00:00:00 2001 From: Bartosz Szafran Date: Wed, 10 Apr 2024 08:43:57 +0200 Subject: [PATCH 2/3] Update runners to versions that supports tested OTP --- .github/workflows/elixir.yml | 69 +++++++++++++++++++++--------------- 1 file changed, 40 insertions(+), 29 deletions(-) diff --git a/.github/workflows/elixir.yml b/.github/workflows/elixir.yml index bb6f835..c573352 100644 --- a/.github/workflows/elixir.yml +++ b/.github/workflows/elixir.yml @@ -9,11 +9,29 @@ on: permissions: contents: read -jobs: - build: +steps: &common_steps +- uses: actions/checkout@v3 +- name: Set up Elixir + uses: erlef/setup-beam@ae6e9db1bf49000a27750a9e283cf4069da9d171 + with: + otp-version: ${{matrix.otp}} + elixir-version: ${{matrix.elixir}} +- name: Restore dependencies cache + uses: actions/cache@v3 + with: + path: deps + key: ${{ runner.os }}-mix-${{ hashFiles('**/mix.lock') }} + restore-keys: ${{ runner.os }}-mix- +- name: Install dependencies + run: mix deps.get +- name: Run tests + run: mix test + +jobs: + build-ubuntu-20: name: Build and test - Erlang ${{matrix.otp}} / Elixir ${{matrix.elixir}} - runs-on: ubuntu-22.04 + runs-on: ubuntu-20.04 strategy: matrix: # https://hexdocs.pm/elixir/compatibility-and-deprecations.html#compatibility-between-elixir-and-erlang-otp @@ -51,9 +69,6 @@ jobs: - elixir: "1.14" otp: "25.3" - - elixir: "1.14" - otp: "26.2" - # Elixir 1.15: 24-26 - elixir: "1.15" otp: "24.3" @@ -61,33 +76,29 @@ jobs: - elixir: "1.15" otp: "25.3" - - elixir: "1.15" - otp: "26.2" - - # Elixir 1.16: 24-26 - - elixir: "1.15" + # Elixir 1.16: 24-25 + - elixir: "1.16" otp: "24.3" - - elixir: "1.15" + - elixir: "1.16" otp: "25.3" + steps: *common_steps + + build: + name: Build and test - Erlang ${{matrix.otp}} / Elixir ${{matrix.elixir}} + runs-on: ubuntu-22.04 + strategy: + matrix: + # https://hexdocs.pm/elixir/compatibility-and-deprecations.html#compatibility-between-elixir-and-erlang-otp + include: + - elixir: "1.14" + otp: "26.2" + + - elixir: "1.15" + otp: "26.2" + - elixir: "1.15" otp: "26.2" - steps: - - uses: actions/checkout@v3 - - name: Set up Elixir - uses: erlef/setup-beam@988e02bfe678367a02564f65ca2e37726dc0268f - with: - otp-version: ${{matrix.otp}} - elixir-version: ${{matrix.elixir}} - - name: Restore dependencies cache - uses: actions/cache@v3 - with: - path: deps - key: ${{ runner.os }}-mix-${{ hashFiles('**/mix.lock') }} - restore-keys: ${{ runner.os }}-mix- - - name: Install dependencies - run: mix deps.get - - name: Run tests - run: mix test + steps: *common_steps From 85c31f633524ce4a930b9d4fba7da5452a62fb30 Mon Sep 17 00:00:00 2001 From: Bartosz Szafran Date: Wed, 10 Apr 2024 08:50:57 +0200 Subject: [PATCH 3/3] Add os version to matrix --- .github/workflows/elixir.yml | 82 ++++++++++++++++++++---------------- 1 file changed, 45 insertions(+), 37 deletions(-) diff --git a/.github/workflows/elixir.yml b/.github/workflows/elixir.yml index c573352..5bd47c3 100644 --- a/.github/workflows/elixir.yml +++ b/.github/workflows/elixir.yml @@ -9,29 +9,13 @@ on: permissions: contents: read -steps: &common_steps -- uses: actions/checkout@v3 -- name: Set up Elixir - uses: erlef/setup-beam@ae6e9db1bf49000a27750a9e283cf4069da9d171 - with: - otp-version: ${{matrix.otp}} - elixir-version: ${{matrix.elixir}} -- name: Restore dependencies cache - uses: actions/cache@v3 - with: - path: deps - key: ${{ runner.os }}-mix-${{ hashFiles('**/mix.lock') }} - restore-keys: ${{ runner.os }}-mix- -- name: Install dependencies - run: mix deps.get -- name: Run tests - run: mix test + jobs: - build-ubuntu-20: + build: name: Build and test - Erlang ${{matrix.otp}} / Elixir ${{matrix.elixir}} - runs-on: ubuntu-20.04 + runs-on: ${{matrix.os}} strategy: matrix: # https://hexdocs.pm/elixir/compatibility-and-deprecations.html#compatibility-between-elixir-and-erlang-otp @@ -39,66 +23,90 @@ jobs: # Elixir 1.12: 22-24 - elixir: "1.12" otp: "22.3" + os: "ubuntu-20.04" - elixir: "1.12" otp: "23.3" + os: "ubuntu-20.04" - elixir: "1.12" otp: "24.3" + os: "ubuntu-22.04" # Elixir 1.13: 22-24 - elixir: "1.13.4" otp: "22.3" + os: "ubuntu-20.04" - elixir: "1.13.4" otp: "23.3" + os: "ubuntu-20.04" - elixir: "1.13.4" otp: "24.3" + os: "ubuntu-22.04" - elixir: "1.13.4" otp: "25.3" + os: "ubuntu-22.04" # Elixir 1.14: 23-25 (and 26 from v1.14.5) - elixir: "1.14" otp: "23.3" + os: "ubuntu-20.04" - elixir: "1.14" otp: "24.3" + os: "ubuntu-22.04" - elixir: "1.14" otp: "25.3" + os: "ubuntu-22.04" + + - elixir: "1.14" + otp: "26.2" + os: "ubuntu-22.04" # Elixir 1.15: 24-26 - elixir: "1.15" otp: "24.3" + os: "ubuntu-22.04" - elixir: "1.15" otp: "25.3" + os: "ubuntu-22.04" + + - elixir: "1.15" + otp: "26.2" + os: "ubuntu-22.04" # Elixir 1.16: 24-25 - elixir: "1.16" otp: "24.3" + os: "ubuntu-22.04" - elixir: "1.16" otp: "25.3" + os: "ubuntu-22.04" - steps: *common_steps - - build: - name: Build and test - Erlang ${{matrix.otp}} / Elixir ${{matrix.elixir}} - runs-on: ubuntu-22.04 - strategy: - matrix: - # https://hexdocs.pm/elixir/compatibility-and-deprecations.html#compatibility-between-elixir-and-erlang-otp - include: - - elixir: "1.14" - otp: "26.2" - - - elixir: "1.15" - otp: "26.2" - - - elixir: "1.15" + - elixir: "1.16" otp: "26.2" - - steps: *common_steps + os: "ubuntu-22.04" + + steps: + - uses: actions/checkout@v3 + - name: Set up Elixir + uses: erlef/setup-beam@ae6e9db1bf49000a27750a9e283cf4069da9d171 + with: + otp-version: ${{matrix.otp}} + elixir-version: ${{matrix.elixir}} + - name: Restore dependencies cache + uses: actions/cache@v3 + with: + path: deps + key: ${{ runner.os }}-mix-${{ hashFiles('**/mix.lock') }} + restore-keys: ${{ runner.os }}-mix- + - name: Install dependencies + run: mix deps.get + - name: Run tests + run: mix test