From 86dce463a1dc6c83482ab93ede916eccaeac8214 Mon Sep 17 00:00:00 2001 From: Konstantin Kushnir Date: Tue, 21 May 2024 22:23:54 +0300 Subject: [PATCH] Add multiple configuration for github workflows (#1) --- .github/workflows/linux-build.yml | 34 +++++++++++++++++++++++++------ ChangeLog | 1 + 2 files changed, 29 insertions(+), 6 deletions(-) diff --git a/.github/workflows/linux-build.yml b/.github/workflows/linux-build.yml index 11052c4..eb942fd 100644 --- a/.github/workflows/linux-build.yml +++ b/.github/workflows/linux-build.yml @@ -7,12 +7,32 @@ defaults: shell: bash jobs: build: - runs-on: ubuntu-20.04 + runs-on: ubuntu-24.04 strategy: matrix: - compiler: - - "gcc" - - "clang" + compiler: ["gcc", "clang"] + configure: [""] + include: + - description: "default" + - compiler: gcc + configure: "--disable-c-pkgconfig --disable-c-pages --disable-c-fsindex --disable-c-readerchannel --disable-c-writerchannel --disable-c-vfs" + description: "no pkgcfg, pages, fsindex, readedchannel, writerchannel, vfs" + - compiler: gcc + configure: "--disable-c-pages --disable-c-fsindex --disable-c-readerchannel --disable-c-writerchannel --disable-c-vfs" + description: "no pages, fsindex, readedchannel, writerchannel, vfs" + - compiler: gcc + configure: "--disable-c-fsindex --disable-c-readerchannel --disable-c-writerchannel --disable-c-vfs" + description: "no fsindex, readedchannel, writerchannel, vfs" + - compiler: gcc + configure: "--disable-c-readerchannel --disable-c-writerchannel --disable-c-vfs" + description: "no readedchannel, writerchannel, vfs" + - compiler: gcc + configure: "--disable-c-writerchannel --disable-c-vfs" + description: "no writerchannel, vfs" + - compiler: gcc + configure: "--disable-c-vfs" + description: "no vfs" + name: build (${{ matrix.compiler }}, ${{ matrix.description }}) steps: - name: Checkout uses: actions/checkout@v4 @@ -22,14 +42,16 @@ jobs: run: | sudo apt-get install tcl8.6-dev tcl-vfs mkdir "$HOME/install dir" - echo "CFGOPT=--with-tcl=/usr/lib/tcl8.6" >> $GITHUB_ENV + echo "CFGOPT_COMMON=--with-tcl=/usr/lib/tcl8.6" >> $GITHUB_ENV + echo "CFGOPT_CUSTOM=$CONFIGURE" >> $GITHUB_ENV echo "CC=$COMPILER" >> $GITHUB_ENV env: COMPILER: ${{ matrix.compiler }} OPTS: ${{ matrix.compiler }} + CONFIGURE: ${{ matrix.configure }} - name: Configure run: | - ./configure $CFGOPT "--prefix=$HOME/install dir" "--exec-prefix=$HOME/install dir" --enable-xz || { + ./configure $CFGOPT_COMMON $CFGOPT_CUSTOM "--prefix=$HOME/install dir" "--exec-prefix=$HOME/install dir" || { cat config.log echo "::error::Failure during Configure" exit 1 diff --git a/ChangeLog b/ChangeLog index 55b6f4f..bbc5944 100644 --- a/ChangeLog +++ b/ChangeLog @@ -6,6 +6,7 @@ * Update 7z lib (xz/lzma2 support) from 23.01 to 24.05 * Fix compiler warnings in --enable-internal-debug mode * Add a presentation from the original authors + * Add multiple configurations to github workflows 2024-05-18 Konstantin Kushnir * Provide successful operation when tcl files unavailable. CookFS should