diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml index c1c1f34ff..1c96bc787 100644 --- a/.github/workflows/build-and-test.yml +++ b/.github/workflows/build-and-test.yml @@ -54,3 +54,46 @@ jobs: uses: codecov/codecov-action@v4 with: verbose: true + + extra-configurations: + runs-on: ubuntu-latest + + strategy: + fail-fast: false + matrix: + raft-config: + - --enable-build-raft=yes + - --enable-build-raft=no + lz4-config: + - --with-lz4 + - --without-lz4 + + steps: + - uses: actions/checkout@v4 + + - name: Set up dependencies + run: | + sudo apt update + sudo apt install -y libsqlite3-dev libuv1-dev liblz4-dev + + - name: Build raft + if: ${{ matrix.raft-config == '--enable-build-raft=no' }} + run: | + git clone https://github.com/canonical/raft --depth 1 + cd raft + autoreconf -i + ./configure --enable-debug --enable-sanitize + make -j4 + sudo make install + sudo ldconfig + + - name: Build dqlite + run: | + autoreconf -i + ./configure --enable-debug --enable-sanitize ${{ matrix.raft-config }} + make -j4 + + - name: Test + run: | + export LIBRAFT_TRACE=1 LIBDQLITE_TRACE=1 + make -j4 check || (cat ./test-suite.log && false) diff --git a/.github/workflows/cla-check.yml b/.github/workflows/cla-check.yml index b49bbeb18..40eed8f31 100644 --- a/.github/workflows/cla-check.yml +++ b/.github/workflows/cla-check.yml @@ -5,7 +5,7 @@ on: jobs: cla-check: - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest steps: - name: Check if CLA signed uses: canonical/has-signed-canonical-cla@v1 diff --git a/.github/workflows/downstream.yml b/.github/workflows/downstream.yml index 69e1d4fdf..56b5e3d9d 100644 --- a/.github/workflows/downstream.yml +++ b/.github/workflows/downstream.yml @@ -7,7 +7,7 @@ on: jobs: dqlite: if: ${{ github.event.issue.pull_request && contains(github.event.comment.body, 'please test downstream') }} - runs-on: ubuntu-22.04 + runs-on: ubuntu-latest steps: - name: Install apt deps run: | diff --git a/.github/workflows/external-raft.yml b/.github/workflows/external-raft.yml deleted file mode 100644 index da23836f8..000000000 --- a/.github/workflows/external-raft.yml +++ /dev/null @@ -1,38 +0,0 @@ -name: CI Tests (external libraft) - -on: - - push - - pull_request - -jobs: - build-and-test: - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v4 - - - name: Setup dependencies - run: | - sudo apt update - sudo apt install -y libsqlite3-dev liblz4-dev libuv1-dev - - - name: Build raft - run: | - git clone https://github.com/canonical/raft --depth 1 - cd raft - autoreconf -i - ./configure --enable-debug --enable-sanitize - make -j4 - sudo make install - sudo ldconfig - - - name: Build dqlite - run: | - autoreconf -i - ./configure --enable-debug --enable-sanitize - make -j4 - - - name: Test - run: | - export LIBRAFT_TRACE=1 LIBDQLITE_TRACE=1 - make -j4 check || (cat ./test-suite.log && false)