diff --git a/.github/workflows/on-push.yml b/.github/workflows/on-push.yml index 4086325..5d629b2 100644 --- a/.github/workflows/on-push.yml +++ b/.github/workflows/on-push.yml @@ -6,26 +6,69 @@ env: AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} jobs: build: - runs-on: ubuntu-20.04 + runs-on: ubuntu-24.04 strategy: matrix: - otp: [23.x, 24.x, 25.x] - elixir: [1.12.x, 1.13.x, 1.14.x, 1.15.x] - exclude: - - otp: 25.x - elixir: 1.12.x - - otp: 23.x - elixir: 1.15.x + include: + - pair: + otp: 27.x + elixir: 1.17.x + lint: lint + + - pair: + otp: 26.x + elixir: 1.17.x + - pair: + otp: 26.x + elixir: 1.16.x + - pair: + otp: 26.x + elixir: 1.15.x + + - pair: + otp: 25.x + elixir: 1.17.x + - pair: + otp: 25.x + elixir: 1.16.x + - pair: + otp: 25.x + elixir: 1.15.x + - pair: + otp: 25.x + elixir: 1.14.x + + - pair: + otp: 24.x + elixir: 1.16.x + - pair: + otp: 24.x + elixir: 1.15.x + - pair: + otp: 24.x + elixir: 1.14.x + - pair: + otp: 24.x + elixir: 1.13.x + steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - uses: erlef/setup-beam@v1 with: - otp-version: ${{matrix.otp}} - elixir-version: ${{matrix.elixir}} + otp-version: ${{matrix.pair.otp}} + elixir-version: ${{matrix.pair.elixir}} + - uses: actions/cache@v3 + with: + path: | + deps + _build + key: ${{ runner.os }}-mix-${{matrix.pair.otp}}-${{matrix.pair.elixir}}-${{ hashFiles('**/mix.lock') }} + restore-keys: | + ${{ runner.os }}-mix-${{matrix.pair.otp}}-${{matrix.pair.elixir}}- - run: mix deps.get - run: mix compile - run: mix format --check-formatted - if: matrix.elixir == '1.15.x' # Only check formatting with the latest verison + if: ${{matrix.lint}} # Only check formatting with the latest verison - run: mix dialyzer - if: matrix.elixir == '1.15.x' + if: ${{matrix.lint}} # Only check formatting with the latest verison - run: mix test