diff --git a/.github/workflows/Linux.yml b/.github/workflows/Linux.yml deleted file mode 100644 index 4a78e875..00000000 --- a/.github/workflows/Linux.yml +++ /dev/null @@ -1,38 +0,0 @@ -name: Test build - -on: - push: - branches: - - "*" - paths-ignore: - - "README.md" - - "doc/**" - pull_request: - branches: - - "*" - paths-ignore: - - "README.md" - - "doc/**" - workflow_dispatch: - -jobs: - build: - name: amd64 - runs-on: ubuntu-22.04 - - strategy: - fail-fast: false - - steps: - - uses: actions/checkout@v4 - - - name: Install packages required - run: | - sudo apt-get update - sudo apt-get install -y g++ cmake uuid-dev libboost-program-options-dev libboost-filesystem-dev libssl-dev - - - name: Build blksnap-dev, blksnap-tools and blksnap-tests - working-directory: . - run: | - cmake . - make diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 00000000..61b093ef --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,92 @@ +name: Build + +on: + push: + branches: + - "*" + paths-ignore: + - "README.md" + - "doc/**" + pull_request: + branches: + - "*" + paths-ignore: + - "README.md" + - "doc/**" + workflow_dispatch: + +jobs: + amd64: + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + name: [Ubuntu-20, Ubuntu-22, Debian-10, Debian-11, Debian-12, Debian-Testing, Debian-Experimental] + cpp_compiler: [g++] + include: + - name: Ubuntu-20 + # Uses gcc 9.3.0, clang 10.0.0, cmake 3.16.3 + image: "ubuntu:20.04" + ubuntu: 20 + - name: Ubuntu-22 + # Uses gcc 12.2.0, clang 15.0.7, cmake 3.24.2 + image: "ubuntu:22.04" + ubuntu: 22 + - name: Debian-10 + # Uses gcc 8.3.0, clang 7.0.1, cmake 3.13.4 + image: "debian:buster" + - name: Debian-11 + # Uses gcc 10.2.1, clang 11.0.1, cmake 3.18.4 + image: "debian:bullseye" + - name: Debian-11 + image: "debian:bullseye" + c_compiler: clang + cpp_compiler: clang++ + - name: Debian-12 + # Uses gcc 12.2.0, clang 15.0.6, cmake 3.25.1 + image: "debian:bookworm" + - name: Debian-12 + image: "debian:bookworm" + c_compiler: clang + cpp_compiler: clang++ + - name: Debian-Testing + image: "debian:testing" + - name: Debian-Testing + image: "debian:testing" + c_compiler: clang + cpp_compiler: clang++ + - name: Debian-Experimental + image: "debian:experimental" + - name: Debian-Experimental + image: "debian:experimental" + c_compiler: clang + cpp_compiler: clang++ + container: + image: ${{ matrix.image }} + env: + LANG: en_US.UTF-8 + BUILD_TYPE: ${{ matrix.build_type }} + CC: ${{ matrix.c_compiler }} + CXX: ${{ matrix.cpp_compiler }} + WITH_PROJ: ON + APT_LISTCHANGES_FRONTEND: none + DEBIAN_FRONTEND: noninteractive + steps: + - name: Install packages required + shell: bash + run: | + apt-get update -qq + apt-get install -yq \ + clang \ + cmake \ + g++ \ + uuid-dev \ + libboost-program-options-dev \ + libboost-filesystem-dev \ + libssl-dev + - uses: actions/checkout@v4 + - name: Build blksnap-dev, blksnap-tools and blksnap-tests + working-directory: . + run: | + cmake . + make diff --git a/.github/workflows/codespell.yml b/.github/workflows/codespell.yml new file mode 100644 index 00000000..cc163505 --- /dev/null +++ b/.github/workflows/codespell.yml @@ -0,0 +1,14 @@ +name: codespell +on: [pull_request] + +jobs: + codespell: + name: codespell + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: codespell + uses: codespell-project/actions-codespell@v2 + with: + only_warn: 1 \ No newline at end of file