Merge pull request #709 Upd CI, manage Nix builds
* Remove all additional optional informative CI Nix builds, preferring following Hackage currently, and keep Nix dev narrow. * Add Cabal Hackage builds for all GHCs HNix supports. * Rename Nix workflows to direct literal meaning of what they are (`Nix-dev-env`). * Created a release test for middle GHC versions. CI tests always the latest and the oldest version, that seems good enough to track the development process. The middle GHC versions get tested when someone creates a GitHub prerelease/release.
This commit is contained in:
commit
9d31c56cff
|
@ -1,66 +0,0 @@
|
|||
name: "Nixpkgs, Linux, additional"
|
||||
|
||||
|
||||
on:
|
||||
# On Git changes in PR
|
||||
pull_request:
|
||||
# On Git changes of the master
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
schedule:
|
||||
# Every day at 03:45
|
||||
- cron: "45 06 * * *"
|
||||
|
||||
|
||||
env:
|
||||
rev: "nixos-unstable"
|
||||
cachixAccount: "hnix"
|
||||
CACHIX_SIGNING_KEY: ${{ secrets.CACHIX_SIGNING_KEY }}
|
||||
linkWithGold: "true"
|
||||
|
||||
|
||||
jobs:
|
||||
|
||||
build40:
|
||||
name: "Nixpkgs-unstable channel, default GHC (8.8)"
|
||||
runs-on: ubuntu-latest
|
||||
continue-on-error: true
|
||||
env:
|
||||
rev: "nixpkgs-unstable"
|
||||
steps:
|
||||
- name: Git checkout
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
submodules: recursive
|
||||
- name: Install Nix
|
||||
uses: cachix/install-nix-action@v10
|
||||
- name: Install Cachix
|
||||
uses: cachix/cachix-action@v6
|
||||
with:
|
||||
name: ${{ env.cachixAccount }}
|
||||
signingKey: '${{ secrets.CACHIX_SIGNING_KEY }}'
|
||||
- name: Determined Nix-build
|
||||
run: ./build.sh
|
||||
|
||||
|
||||
build50:
|
||||
name: "NixOS-unstable channel, GHC 8.6.5"
|
||||
runs-on: ubuntu-latest
|
||||
continue-on-error: true
|
||||
env:
|
||||
compiler: "ghc865"
|
||||
steps:
|
||||
- name: Git checkout
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
submodules: recursive
|
||||
- name: Install Nix
|
||||
uses: cachix/install-nix-action@v10
|
||||
- name: Install Cachix
|
||||
uses: cachix/cachix-action@v6
|
||||
with:
|
||||
name: ${{ env.cachixAccount }}
|
||||
signingKey: '${{ secrets.CACHIX_SIGNING_KEY }}'
|
||||
- name: Determined Nix-build
|
||||
run: ./build.sh
|
|
@ -0,0 +1,39 @@
|
|||
name: "Release testing, Hackage, Cabal, Linux"
|
||||
|
||||
on:
|
||||
release:
|
||||
# created: a draft is saved, or a release or pre-release is published without previously being saved as a draft
|
||||
- created
|
||||
|
||||
jobs:
|
||||
|
||||
build10:
|
||||
name: GHC
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
# Since CI by default tests boundary GHCs, test middle versions of GHCs
|
||||
ghc: [ "8.8", "8.6"]
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
submodules: recursive
|
||||
- name: Cache of ~/.cabal/packages, ~/.cabal/store and dist-newstyle
|
||||
uses: actions/cache@v2
|
||||
with:
|
||||
path: |
|
||||
~/.cabal/packages
|
||||
~/.cabal/store
|
||||
dist-newstyle
|
||||
key: ${{ runner.os }}-Cabal-${{ matrix.ghc }}
|
||||
- uses: actions/setup-haskell@v1.1
|
||||
with:
|
||||
ghc-version: ${{ matrix.ghc }}
|
||||
- name: Install additional system packages
|
||||
run: sudo apt install libsodium-dev
|
||||
# 2020-08-01: NOTE: Nix instantiate still needed for HNix tests
|
||||
- name: Install Nix
|
||||
uses: cachix/install-nix-action@v10
|
||||
- run: cabal v2-configure --disable-optimization --enable-tests --enable-deterministic
|
||||
- run: cabal v2-build
|
||||
- run: cabal v2-test
|
|
@ -1,4 +1,4 @@
|
|||
name: "Nixpkgs, macOS"
|
||||
name: "(Optional) Nix dev env, macOS"
|
||||
# Due to macOS is a side-build to test the platform, using nixos-unstable for additional long-term stability of it
|
||||
on:
|
||||
# On Git changes in PR
|
|
@ -1,4 +1,4 @@
|
|||
name: "Nixpkgs, Linux, main"
|
||||
name: "(Optional) Nix dev env, Linux, main"
|
||||
|
||||
# When to trigger builds
|
||||
on:
|
Loading…
Reference in New Issue