ci: build with nix on macos (and push to cachix) (#2610)
The idea is to ensure the macos nix build works, and to build a cache in cachix to help local development on macos.
This commit is contained in:
@@ -139,6 +139,27 @@ jobs:
|
|||||||
postgrest-push-cachix
|
postgrest-push-cachix
|
||||||
|
|
||||||
|
|
||||||
|
Build-Macos-Nix:
|
||||||
|
name: Build MacOS (Nix)
|
||||||
|
runs-on: macos-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
- name: Setup Nix Environment
|
||||||
|
uses: ./.github/actions/setup-nix
|
||||||
|
with:
|
||||||
|
authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
|
||||||
|
|
||||||
|
- name: Build everything
|
||||||
|
run: |
|
||||||
|
nix-build
|
||||||
|
nix-env -f default.nix -iA devTools
|
||||||
|
|
||||||
|
- name: Push to Cachix (main branch only)
|
||||||
|
if: ${{ github.ref == 'refs/heads/main' }}
|
||||||
|
run: |
|
||||||
|
postgrest-push-cachix
|
||||||
|
|
||||||
|
|
||||||
Build-Stack:
|
Build-Stack:
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
|
|||||||
+8
-8
@@ -94,10 +94,6 @@ rec {
|
|||||||
postgrestPackage =
|
postgrestPackage =
|
||||||
lib.dontCheck postgrest;
|
lib.dontCheck postgrest;
|
||||||
|
|
||||||
# Static executable.
|
|
||||||
postgrestStatic =
|
|
||||||
lib.justStaticExecutables (lib.dontCheck (staticHaskellPackage name src));
|
|
||||||
|
|
||||||
# Profiled dynamic executable.
|
# Profiled dynamic executable.
|
||||||
postgrestProfiled =
|
postgrestProfiled =
|
||||||
lib.enableExecutableProfiling (
|
lib.enableExecutableProfiling (
|
||||||
@@ -123,10 +119,6 @@ rec {
|
|||||||
devTools =
|
devTools =
|
||||||
pkgs.callPackage nix/tools/devTools.nix { inherit tests style devCabalOptions hsie withTools; };
|
pkgs.callPackage nix/tools/devTools.nix { inherit tests style devCabalOptions hsie withTools; };
|
||||||
|
|
||||||
# Docker images and loading script.
|
|
||||||
docker =
|
|
||||||
pkgs.callPackage nix/tools/docker { postgrest = postgrestStatic; };
|
|
||||||
|
|
||||||
# Load testing tools.
|
# Load testing tools.
|
||||||
loadtest =
|
loadtest =
|
||||||
pkgs.callPackage nix/tools/loadtest.nix { inherit withTools; };
|
pkgs.callPackage nix/tools/loadtest.nix { inherit withTools; };
|
||||||
@@ -158,4 +150,12 @@ rec {
|
|||||||
|
|
||||||
withTools =
|
withTools =
|
||||||
pkgs.callPackage nix/tools/withTools.nix { inherit devCabalOptions postgresqlVersions postgrest; };
|
pkgs.callPackage nix/tools/withTools.nix { inherit devCabalOptions postgresqlVersions postgrest; };
|
||||||
|
} // pkgs.lib.optionalAttrs pkgs.stdenv.isLinux rec {
|
||||||
|
# Static executable.
|
||||||
|
postgrestStatic =
|
||||||
|
lib.justStaticExecutables (lib.dontCheck (staticHaskellPackage name src));
|
||||||
|
|
||||||
|
# Docker images and loading script.
|
||||||
|
docker =
|
||||||
|
pkgs.callPackage nix/tools/docker { postgrest = postgrestStatic; };
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user