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:
Anton Latukha 2020-09-10 18:53:41 +03:00 committed by GitHub
commit 9d31c56cff
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 41 additions and 68 deletions

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -1,4 +1,4 @@
name: "Nixpkgs, Linux, main"
name: "(Optional) Nix dev env, Linux, main"
# When to trigger builds
on: