From 8d2d34ed6bdbc7b8c21db8d0db7dd6cc3aa20ea6 Mon Sep 17 00:00:00 2001 From: Tomas Janousek Date: Sun, 23 May 2021 18:35:34 +0100 Subject: [PATCH] ci: Move apt deps to cabal.haskell-ci and regenerate haskell-ci Related: https://github.com/xmonad/xmonad/commit/e4659c2475565b867d8f2e0aeabbbdc32ac4f33d Related: https://github.com/xmonad/X11/pull/75 --- .github/workflows/haskell-ci.yml | 45 ++++++++++++++++++-------------- cabal.haskell-ci | 7 +++++ 2 files changed, 33 insertions(+), 19 deletions(-) create mode 100644 cabal.haskell-ci diff --git a/.github/workflows/haskell-ci.yml b/.github/workflows/haskell-ci.yml index c98e091d..78542fcd 100644 --- a/.github/workflows/haskell-ci.yml +++ b/.github/workflows/haskell-ci.yml @@ -1,6 +1,6 @@ # This GitHub workflow config has been generated by a script via # -# haskell-ci '--apt' 'libx11-dev' '--apt' 'libxss-dev' '--apt' 'libxext-dev' '--apt' 'libxrandr-dev' 'github' 'xmonad-contrib.cabal' +# haskell-ci 'github' 'cabal.project' # # To regenerate the script (for example after adjusting tested-with) run # @@ -8,9 +8,9 @@ # # For more information, see https://github.com/haskell-CI/haskell-ci # -# version: 0.11.20210111 +# version: 0.12 # -# REGENDATA ("0.11.20210111",["--apt","libx11-dev","--apt","libxss-dev","--apt","libxext-dev","--apt","libxrandr-dev","github","xmonad-contrib.cabal"]) +# REGENDATA ("0.12",["github","cabal.project"]) # name: Haskell-CI on: @@ -18,7 +18,7 @@ on: - pull_request jobs: linux: - name: Haskell-CI Linux - GHC ${{ matrix.ghc }} + name: Haskell-CI - Linux - ${{ matrix.compiler }} runs-on: ubuntu-18.04 container: image: buildpack-deps:bionic @@ -26,13 +26,13 @@ jobs: strategy: matrix: include: - - ghc: 8.10.3 + - compiler: ghc-8.10.3 allow-failure: false - - ghc: 8.8.4 + - compiler: ghc-8.8.4 allow-failure: false - - ghc: 8.6.5 + - compiler: ghc-8.6.5 allow-failure: false - - ghc: 8.4.4 + - compiler: ghc-8.4.4 allow-failure: false fail-fast: false steps: @@ -42,28 +42,31 @@ jobs: apt-get install -y --no-install-recommends gnupg ca-certificates dirmngr curl git software-properties-common apt-add-repository -y 'ppa:hvr/ghc' apt-get update - apt-get install -y ghc-$GHC_VERSION cabal-install-3.2 libx11-dev libxext-dev libxrandr-dev libxss-dev + apt-get install -y $CC cabal-install-3.4 libx11-dev libxext-dev libxft-dev libxinerama-dev libxrandr-dev libxss-dev env: - GHC_VERSION: ${{ matrix.ghc }} + CC: ${{ matrix.compiler }} - name: Set PATH and environment variables run: | echo "$HOME/.cabal/bin" >> $GITHUB_PATH echo "LANG=C.UTF-8" >> $GITHUB_ENV echo "CABAL_DIR=$HOME/.cabal" >> $GITHUB_ENV echo "CABAL_CONFIG=$HOME/.cabal/config" >> $GITHUB_ENV - HC=/opt/ghc/$GHC_VERSION/bin/ghc + HCDIR=$(echo "/opt/$CC" | sed 's/-/\//') + HCNAME=ghc + HC=$HCDIR/bin/$HCNAME echo "HC=$HC" >> $GITHUB_ENV - echo "HCPKG=/opt/ghc/$GHC_VERSION/bin/ghc-pkg" >> $GITHUB_ENV - echo "HADDOCK=/opt/ghc/$GHC_VERSION/bin/haddock" >> $GITHUB_ENV - echo "CABAL=/opt/cabal/3.2/bin/cabal -vnormal+nowrap" >> $GITHUB_ENV + echo "HCPKG=$HCDIR/bin/$HCNAME-pkg" >> $GITHUB_ENV + echo "HADDOCK=$HCDIR/bin/haddock" >> $GITHUB_ENV + echo "CABAL=/opt/cabal/3.4/bin/cabal -vnormal+nowrap" >> $GITHUB_ENV HCNUMVER=$(${HC} --numeric-version|perl -ne '/^(\d+)\.(\d+)\.(\d+)(\.(\d+))?$/; print(10000 * $1 + 100 * $2 + ($3 == 0 ? $5 != 1 : $3))') echo "HCNUMVER=$HCNUMVER" >> $GITHUB_ENV echo "ARG_TESTS=--enable-tests" >> $GITHUB_ENV echo "ARG_BENCH=--enable-benchmarks" >> $GITHUB_ENV - echo "ARG_COMPILER=--ghc --with-compiler=/opt/ghc/$GHC_VERSION/bin/ghc" >> $GITHUB_ENV + echo "HEADHACKAGE=false" >> $GITHUB_ENV + echo "ARG_COMPILER=--$HCNAME --with-compiler=$HC" >> $GITHUB_ENV echo "GHCJSARITH=0" >> $GITHUB_ENV env: - GHC_VERSION: ${{ matrix.ghc }} + CC: ${{ matrix.compiler }} - name: env run: | env @@ -108,10 +111,14 @@ jobs: uses: actions/checkout@v2 with: path: source + - name: initial cabal.project for sdist + run: | + touch cabal.project + echo "packages: $GITHUB_WORKSPACE/source/." >> cabal.project + cat cabal.project - name: sdist run: | mkdir -p sdist - cd source || false $CABAL sdist all --output-dir $GITHUB_WORKSPACE/sdist - name: unpack run: | @@ -138,9 +145,9 @@ jobs: - name: cache uses: actions/cache@v2 with: - key: ${{ runner.os }}-${{ matrix.ghc }}-${{ github.sha }} + key: ${{ runner.os }}-${{ matrix.compiler }}-${{ github.sha }} path: ~/.cabal/store - restore-keys: ${{ runner.os }}-${{ matrix.ghc }}- + restore-keys: ${{ runner.os }}-${{ matrix.compiler }}- - name: install dependencies run: | $CABAL v2-build $ARG_COMPILER --disable-tests --disable-benchmarks --dependencies-only -j2 all diff --git a/cabal.haskell-ci b/cabal.haskell-ci new file mode 100644 index 00000000..e3cb39fc --- /dev/null +++ b/cabal.haskell-ci @@ -0,0 +1,7 @@ +apt: + libx11-dev + libxext-dev + libxft-dev + libxinerama-dev + libxrandr-dev + libxss-dev