From 9ab08a15f8e311a633cd26aaea8c834393c7d9f9 Mon Sep 17 00:00:00 2001 From: Paul Dreik Date: Sat, 11 Jan 2025 20:59:16 +0100 Subject: [PATCH] polish CI jobs - update actions versions - only build on pull request - add missing compilers, so I know when backwards compatibility is broken --- .github/workflows/clang18.yml | 28 +++++++++++++++++++++++++++ .github/workflows/codeql.yml | 2 +- .github/workflows/cppcheck.yml | 6 +++--- .github/workflows/deterministic.yml | 6 +++--- .github/workflows/gcc10.yml | 29 ++++++++++++++++++++++++++++ .github/workflows/gcc11.yml | 8 ++++---- .github/workflows/gcc12.yml | 6 +++--- .github/workflows/gcc13.yml | 6 +++--- .github/workflows/gcc14.yml | 28 +++++++++++++++++++++++++++ .github/workflows/gcc9.yml | 29 ++++++++++++++++++++++++++++ .github/workflows/quality.yml | 8 ++++---- .github/workflows/ubuntu-default.yml | 6 +++--- 12 files changed, 138 insertions(+), 24 deletions(-) create mode 100644 .github/workflows/clang18.yml create mode 100644 .github/workflows/gcc10.yml create mode 100644 .github/workflows/gcc14.yml create mode 100644 .github/workflows/gcc9.yml diff --git a/.github/workflows/clang18.yml b/.github/workflows/clang18.yml new file mode 100644 index 0000000..5b7f296 --- /dev/null +++ b/.github/workflows/clang18.yml @@ -0,0 +1,28 @@ +name: clang 18 + +on: [pull_request] + +jobs: + build: + name: Compiles with clang 18 + runs-on: ubuntu-24.04 + + steps: + - name: checkout + uses: actions/checkout@v4 + - name: install packages + run: sudo apt install build-essential nettle-dev time clang-18 + - name: bootstrap + run: ./bootstrap.sh + - name: configure + run: ./configure CXX=clang++-18 + - name: build + run: make + - name: check + run: make check + - name: store the logs as an artifact + if: ${{ always() }} + uses: actions/upload-artifact@v4 + with: + path: '**/*.log' + diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 77a5b0b..cd603f7 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -40,7 +40,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Install dependencies run: | diff --git a/.github/workflows/cppcheck.yml b/.github/workflows/cppcheck.yml index 60de240..7dbaed8 100644 --- a/.github/workflows/cppcheck.yml +++ b/.github/workflows/cppcheck.yml @@ -1,6 +1,6 @@ name: cppcheck -on: [push, pull_request] +on: [pull_request] jobs: @@ -10,14 +10,14 @@ jobs: steps: - name: checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: install packages run: sudo apt install cppcheck - name: run cppcheck run: cppcheck/run_cppcheck.sh - name: store the cppcheck output as an artifact if: ${{ always() }} - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: path: 'cppcheck/out/*' diff --git a/.github/workflows/deterministic.yml b/.github/workflows/deterministic.yml index dadfe9e..ee85567 100644 --- a/.github/workflows/deterministic.yml +++ b/.github/workflows/deterministic.yml @@ -1,6 +1,6 @@ name: test deterministic operation -on: [push, pull_request] +on: [pull_request] jobs: @@ -10,7 +10,7 @@ jobs: steps: - name: checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: install packages run: sudo apt install build-essential nettle-dev time disorderfs - name: bootstrap @@ -23,7 +23,7 @@ jobs: run: testcases/verify_deterministic_operation.sh - name: store logs as artifacts if: ${{ always() }} - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: path: '**/*.log' diff --git a/.github/workflows/gcc10.yml b/.github/workflows/gcc10.yml new file mode 100644 index 0000000..f142a01 --- /dev/null +++ b/.github/workflows/gcc10.yml @@ -0,0 +1,29 @@ +name: gcc 10 + +on: [pull_request] + + +jobs: + build: + name: Compiles with gcc 10 + runs-on: ubuntu-22.04 + + steps: + - name: checkout + uses: actions/checkout@v4 + - name: install packages + run: sudo apt install build-essential nettle-dev time gcc-10 g++-10 + - name: bootstrap + run: ./bootstrap.sh + - name: configure + run: ./configure CXX=g++-10 + - name: build + run: make + - name: check + run: make check + - name: store the logs as an artifact + if: ${{ always() }} + uses: actions/upload-artifact@v4 + with: + path: '**/*.log' + diff --git a/.github/workflows/gcc11.yml b/.github/workflows/gcc11.yml index 5327953..d62b964 100644 --- a/.github/workflows/gcc11.yml +++ b/.github/workflows/gcc11.yml @@ -1,16 +1,16 @@ name: gcc 11 -on: [push, pull_request] +on: [pull_request] jobs: build: name: Compiles with gcc 11 - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 steps: - name: checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: install packages run: sudo apt install build-essential nettle-dev time gcc-11 g++-11 - name: bootstrap @@ -23,7 +23,7 @@ jobs: run: make check - name: store the logs as an artifact if: ${{ always() }} - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: path: '**/*.log' diff --git a/.github/workflows/gcc12.yml b/.github/workflows/gcc12.yml index e5cc243..5d9cfff 100644 --- a/.github/workflows/gcc12.yml +++ b/.github/workflows/gcc12.yml @@ -1,6 +1,6 @@ name: gcc 12 -on: [push, pull_request] +on: [pull_request] jobs: @@ -10,7 +10,7 @@ jobs: steps: - name: checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: install packages run: sudo apt install build-essential nettle-dev time gcc-12 g++-12 - name: bootstrap @@ -23,7 +23,7 @@ jobs: run: make check - name: store the logs as an artifact if: ${{ always() }} - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: path: '**/*.log' diff --git a/.github/workflows/gcc13.yml b/.github/workflows/gcc13.yml index 10b80eb..281ae56 100644 --- a/.github/workflows/gcc13.yml +++ b/.github/workflows/gcc13.yml @@ -1,6 +1,6 @@ name: gcc 13 -on: [push, pull_request] +on: [pull_request] jobs: @@ -10,7 +10,7 @@ jobs: steps: - name: checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: add ppa run: | sudo add-apt-repository ppa:ubuntu-toolchain-r/test @@ -27,7 +27,7 @@ jobs: run: make check - name: store the logs as an artifact if: ${{ always() }} - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: path: '**/*.log' diff --git a/.github/workflows/gcc14.yml b/.github/workflows/gcc14.yml new file mode 100644 index 0000000..468b60e --- /dev/null +++ b/.github/workflows/gcc14.yml @@ -0,0 +1,28 @@ +name: gcc 14 + +on: [pull_request] + +jobs: + build: + name: Compiles with gcc 14 + runs-on: ubuntu-24.04 + + steps: + - name: checkout + uses: actions/checkout@v4 + - name: install packages + run: sudo apt install build-essential nettle-dev time gcc-14 g++-14 + - name: bootstrap + run: ./bootstrap.sh + - name: configure + run: ./configure CXX=g++-14 + - name: build + run: make + - name: check + run: make check + - name: store the logs as an artifact + if: ${{ always() }} + uses: actions/upload-artifact@v4 + with: + path: '**/*.log' + diff --git a/.github/workflows/gcc9.yml b/.github/workflows/gcc9.yml new file mode 100644 index 0000000..faf7e0e --- /dev/null +++ b/.github/workflows/gcc9.yml @@ -0,0 +1,29 @@ +name: gcc 9 + +on: [pull_request] + + +jobs: + build: + name: Compiles with gcc 9 + runs-on: ubuntu-22.04 + + steps: + - name: checkout + uses: actions/checkout@v4 + - name: install packages + run: sudo apt install build-essential nettle-dev time gcc-9 g++-9 + - name: bootstrap + run: ./bootstrap.sh + - name: configure + run: ./configure CXX=g++-9 + - name: build + run: make + - name: check + run: make check + - name: store the logs as an artifact + if: ${{ always() }} + uses: actions/upload-artifact@v4 + with: + path: '**/*.log' + diff --git a/.github/workflows/quality.yml b/.github/workflows/quality.yml index 2cfaad2..5b18cf2 100644 --- a/.github/workflows/quality.yml +++ b/.github/workflows/quality.yml @@ -1,23 +1,23 @@ name: build variants -on: [push, pull_request] +on: [pull_request] jobs: build: name: Runs the quality script - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - name: checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: install packages run: sudo apt install build-essential nettle-dev time libc6-i386 gcc-multilib g++-multilib valgrind libc++-dev libc++abi-dev clang - name: run do_quality_checks.sh run: ./do_quality_checks.sh - name: store logs as artifacts if: ${{ always() }} - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: path: '**/*.log' diff --git a/.github/workflows/ubuntu-default.yml b/.github/workflows/ubuntu-default.yml index 7b96254..4a5dfb5 100644 --- a/.github/workflows/ubuntu-default.yml +++ b/.github/workflows/ubuntu-default.yml @@ -1,6 +1,6 @@ name: ubuntu default build -on: [push, pull_request] +on: [pull_request] jobs: build: @@ -8,11 +8,11 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - os: [ubuntu-20.04, ubuntu-22.04] + os: [ubuntu-20.04, ubuntu-22.04, ubuntu-24.04] steps: - name: checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: install packages run: sudo apt install build-essential nettle-dev - name: bootstrap