diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index a3127a1..bbed24e 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -10,13 +10,13 @@ on: jobs: build: - name: Test on OTP ${{ matrix.tuple.otp_version }} and ${{ matrix.tuple.os }} - runs-on: ${{ matrix.tuple.os }} + name: Test on OTP ${{ matrix.otp_version }} and ${{ matrix.os }} + runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: - tuple: + include: - otp_version: 25 os: ubuntu-22.04 rebar3_version: 3.22 @@ -25,18 +25,39 @@ jobs: rebar3_version: 3.22 - otp_version: 23 os: ubuntu-20.04 - rebar3_version: 3.15 + rebar3_version: 3.18 - otp_version: 22 os: ubuntu-20.04 - rebar3_version: 3.15 + rebar3_version: 3.18 steps: - uses: actions/checkout@v4 - uses: erlef/setup-beam@v1 + id: setup-beam with: - otp-version: ${{ matrix.tuple.otp_version }} - rebar3-version: ${{ matrix.tuple.rebar3_version }} + otp-version: ${{ matrix.otp_version }} + rebar3-version: ${{ matrix.rebar3_version }} + + - name: Restore _build + uses: actions/cache@v3 + with: + path: _build + key: "_build-cache-for\ + -os-${{ matrix.os }}\ + -otp-${{ steps.setup-beam.outputs.otp-version }}\ + -rebar3-${{ steps.setup-beam.outputs.rebar3-version }}\ + -hash-${{ hashFiles('rebar.lock') }}" + + - name: Restore rebar3's cache + uses: actions/cache@v3 + with: + path: ~/.cache/rebar3 + key: "rebar3-cache-for\ + -os-${{ matrix.os }}\ + -otp-${{ steps.setup-beam.outputs.otp-version }}\ + -rebar3-${{ steps.setup-beam.outputs.rebar3-version }}\ + -hash-${{ hashFiles('rebar.lock') }}" - name: Compile run: rebar3 compile