From d16da8cf5a861a08d29934b4dbdb61060730e1eb Mon Sep 17 00:00:00 2001 From: Nelson Vides Date: Mon, 20 Nov 2023 14:11:56 +0100 Subject: [PATCH] Use pure rebar3 in GHA --- .github/workflows/ci.yml | 58 +++++++++++++++++++++++++--------------- 1 file changed, 37 insertions(+), 21 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 285b205..9b5264b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -9,28 +9,44 @@ on: jobs: test: - name: OTP ${{matrix.otp}} + name: OTP ${{matrix.otp}} / rebar3 ${{matrix.rebar3}} / OS ${{matrix.os}} strategy: matrix: - otp: ['24.0', '23.3', '22.3', '21.3'] - runs-on: 'ubuntu-20.04' - env: - OTPVER: ${{ matrix.otp }} + os: ['ubuntu-22.04'] + otp: ['26.1', '25.3', '24.3'] + rebar3: ['3.22.1'] + runs-on: ${{matrix.os}} steps: - - uses: actions/checkout@v2 - - uses: ErlGang/setup-erlang@v1.0.0 + - uses: actions/checkout@v3 + - uses: erlef/setup-beam@v1 with: - otp-version: ${{ matrix.otp }} - - run: make rebar3 - - run: make deps - - run: make test - - run: make dialyzer - if: ${{ matrix.otp == '24.0' }} - - run: make codecov - if: ${{ matrix.otp == '24.0' }} - - run: make gcov - if: ${{ matrix.otp == '24.0' }} - - run: pip install --user codecov - if: ${{ matrix.otp == '24.0' }} - - run: /home/runner/.local/bin/codecov - if: ${{ matrix.otp == '24.0' }} + otp-version: ${{matrix.otp}} + rebar3-version: ${{matrix.rebar3}} + - name: Restore _build + uses: actions/cache@v3 + with: + path: _build + key: _build-cache-for-os-${{matrix.os}}-otp-${{matrix.otp}}-rebar3-${{matrix.rebar3}}-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-${{matrix.otp}}-rebar3-${{matrix.rebar3}}-hash-${{hashFiles('rebar.lock')}} + + - run: rebar3 as test get-deps + - run: rebar3 as test compile + - run: rebar3 as test ct + + - run: rebar3 dialyzer + if: ${{ matrix.otp == '26.1' && matrix.os == 'ubuntu-22.04' }} + + - name: Run coverage + if: ${{ matrix.otp == '26.1' && matrix.os == 'ubuntu-22.04' }} + run: | + rebar3 as test codecov analyze + gcov -o c_src fast_pbkdf2 + - name: Upload coverage + if: ${{ matrix.otp == '26.1' && matrix.os == 'ubuntu-22.04' }} + run: | + pip install --user codecov + /home/runner/.local/bin/codecov