diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 30283506f0..80b21f3d10 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -19,26 +19,23 @@ jobs: fail-fast: false matrix: include: - - elixir: "1.18.1" - otp: "27.2" + - elixir: "1.19" + otp: "28" lint: lint - - elixir: "1.17.3" - otp: "27.1" - - elixir: "1.17.3" - otp: "25.0.4" - - elixir: "1.14.5" - otp: "24.3.4.17" + - elixir: "1.14" + otp: "24" steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Install Elixir and Erlang uses: erlef/setup-beam@v1 with: elixir-version: ${{ matrix.elixir }} otp-version: ${{ matrix.otp }} + - name: Restore deps and _build cache - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: | deps @@ -46,16 +43,21 @@ jobs: key: ${{ runner.os }}-${{ matrix.elixir }}-${{ matrix.otp }}-${{ hashFiles('**/mix.lock') }} restore-keys: | ${{ runner.os }}-${{ matrix.elixir }}-${{ matrix.otp }}- + - name: Install dependencies run: mix deps.get + - name: Compile deps run: mix deps.compile + - name: Check unused dependencies run: mix deps.unlock --check-unused if: ${{ matrix.lint }} + - name: Compile lint run: mix compile --warning-as-errors if: ${{ matrix.lint }} + - name: Run tests run: mix test @@ -68,11 +70,11 @@ jobs: fail-fast: false matrix: elixirbase: - - "1.17.3-erlang-27.1-alpine-3.17.9" - - "1.17.3-erlang-25.0.4-alpine-3.17.9" - - "1.14.5-erlang-23.3.4.20-alpine-3.16.9" + # search by tag from https://hub.docker.com/r/hexpm/elixir + - "1.19.3-erlang-28.2-alpine-3.22.2" + - "1.14.5-erlang-24.3.4.17-alpine-3.22.2" steps: - uses: earthly/actions-setup@v1 - - uses: actions/checkout@v3 + - uses: actions/checkout@v6 - name: ecto integration-test under ${{matrix.elixirbase}} run: earthly -P --ci --build-arg ELIXIR_BASE=${{matrix.elixirbase}} +integration-test