From a2c626870aaa9e2dd34d9792640f180992c3d9e0 Mon Sep 17 00:00:00 2001 From: Eugen Wissner Date: Mon, 27 Nov 2023 14:09:45 +0100 Subject: [PATCH] Add a workflow --- .gitea/workflows/build.yml | 68 ++++++++++++++++++++++++++++++++++++++ graphql-spice.cabal | 4 ++- 2 files changed, 71 insertions(+), 1 deletion(-) create mode 100644 .gitea/workflows/build.yml diff --git a/.gitea/workflows/build.yml b/.gitea/workflows/build.yml new file mode 100644 index 0000000..6851bbd --- /dev/null +++ b/.gitea/workflows/build.yml @@ -0,0 +1,68 @@ +name: Build + +on: + push: + pull_request: + branches: [master] + +jobs: + audit: + runs-on: alpine + steps: + - name: Set up environment + shell: ash {0} + run: | + apk add --no-cache git bash curl build-base readline-dev openssl-dev zlib-dev libpq-dev gmp-dev + - name: Prepare system + run: | + curl --create-dirs --output-dir \ + ~/.ghcup/bin https://downloads.haskell.org/~ghcup/0.1.19.5/x86_64-linux-ghcup-0.1.19.5 -o ghcup + chmod +x ~/.ghcup/bin/ghcup + ~/.ghcup/bin/ghcup install ghc 9.4.8 + ~/.ghcup/bin/ghcup install cabal 3.6.2.0 + - uses: actions/checkout@v4 + - name: Install dependencies + run: | + ~/.ghcup/bin/ghcup run --ghc 9.4.8 --cabal 3.6.2.0 -- cabal update + ~/.ghcup/bin/ghcup run --ghc 9.4.8 --cabal 3.6.2.0 -- cabal install hlint --constraint="hlint ==3.6.1" + - run: ~/.cabal/bin/hlint -- src tests + + test: + runs-on: alpine + steps: + - name: Set up environment + shell: ash {0} + run: | + apk add --no-cache git bash curl build-base readline-dev openssl-dev zlib-dev libpq-dev gmp-dev + - name: Prepare system + run: | + curl --create-dirs --output-dir \ + ~/.ghcup/bin https://downloads.haskell.org/~ghcup/0.1.19.5/x86_64-linux-ghcup-0.1.19.5 -o ghcup + chmod +x ~/.ghcup/bin/ghcup + ~/.ghcup/bin/ghcup install ghc 9.4.8 + ~/.ghcup/bin/ghcup install cabal 3.6.2.0 + - uses: actions/checkout@v4 + - name: Install dependencies + run: | + ~/.ghcup/bin/ghcup run --ghc 9.4.8 --cabal 3.6.2.0 -- cabal update + ~/.ghcup/bin/ghcup run --ghc 9.4.8 --cabal 3.6.2.0 -- cabal build graphql-test + - run: ~/.ghcup/bin/ghcup run --ghc 9.4.8 --cabal 3.6.2.0 -- cabal test --test-show-details=direct + + doc: + runs-on: alpine + steps: + - name: Set up environment + shell: ash {0} + run: | + apk add --no-cache git bash curl build-base readline-dev openssl-dev zlib-dev libpq-dev gmp-dev + - name: Prepare system + run: | + curl --create-dirs --output-dir \ + ~/.ghcup/bin https://downloads.haskell.org/~ghcup/0.1.19.5/x86_64-linux-ghcup-0.1.19.5 -o ghcup + chmod +x ~/.ghcup/bin/ghcup + ~/.ghcup/bin/ghcup install ghc 9.4.8 + ~/.ghcup/bin/ghcup install cabal 3.6.2.0 + - uses: actions/checkout@v4 + - name: Install dependencies + run: ~/.ghcup/bin/ghcup run --ghc 9.4.8 --cabal 3.6.2.0 -- cabal update + - run: ~/.ghcup/bin/ghcup run --ghc 9.4.8 --cabal 3.6.2.0 -- cabal haddock --enable-documentation diff --git a/graphql-spice.cabal b/graphql-spice.cabal index cbff6fb..61d02ab 100644 --- a/graphql-spice.cabal +++ b/graphql-spice.cabal @@ -16,7 +16,7 @@ license-files: LICENSE build-type: Simple extra-source-files: CHANGELOG.md tested-with: - GHC == 9.2.8 + GHC == 9.4.8 source-repository head type: git @@ -70,4 +70,6 @@ test-suite graphql-test text, time, unordered-containers + build-tool-depends: + hspec-discover:hspec-discover default-language: Haskell2010