Update compare-nix.yml #97
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Trivial Test | |
on: | |
pull_request: | |
types: [opened, synchronize, reopened] | |
paths: | |
- '**' | |
- '!**/README*' | |
push: | |
branches: [main] | |
paths: | |
- '**' | |
- '!**/README*' | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
tests: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Install flox | |
uses: flox/[email protected] | |
- name: Setup Nix Registry | |
shell: bash | |
run: | | |
set -eu; | |
set -o pipefail; | |
nix registry pin nixpkgs github:NixOS/nixpkgs/22.11; | |
flox nix registry pin nixpkgs github:NixOS/nixpkgs/22.11; | |
- name: Make Injector | |
shell: bash | |
run: | | |
set -eu; | |
set -o pipefail; | |
mkdir ./bin; | |
echo '#! /usr/bin/env bash | |
cat "$PWD/flox.nix" > "$1";' > ./bin/flox-inject; | |
chmod +x ./bin/flox-inject; | |
- name: SQLite3 pkg-config Test | |
shell: bash | |
run: | | |
set -eu; | |
set -o pipefail; | |
_ec=0; | |
trap '_ec="$?"; echo "ERROR: code $_ec" >&2; exit "$_ec";' HUP TERM INT; | |
echo "Creating sqlite-dev" >&2; | |
flox create -e sqlite-dev; | |
trap ' | |
_ec="$?"; | |
echo "ERROR: code $_ec" >&2; | |
flox destroy -e sqlite-dev; | |
exit "$_ec"; | |
' HUP TERM INT; | |
trap '_ec="$?"; flox destroy -e sqlite-dev; exit "$_ec";' EXIT; | |
echo "Creating flox.nix" >&2; | |
cat <<'EOF' > ./flox.nix | |
{ | |
packages.nixpkgs-flox.sqlite = { | |
meta.outputsToInstall = ["bin" "out" "dev"]; | |
}; | |
shell.hook = '' | |
[[ -r "$FLOX_ENV/etc/profile" ]] && . "$FLOX_ENV/etc/profile"; | |
''; | |
} | |
EOF | |
echo "flox.nix contents:" >&2; | |
echo "---" >&2; | |
cat ./flox.nix >&2; | |
echo "---" >&2; | |
echo "Inject flox.nix" >&2; | |
EDITOR="$PWD/bin/flox-inject" flox edit -e sqlite-dev; | |
rm -f ./flox.nix; | |
echo "Installing deps" >&2; | |
flox install -e sqlite-dev pkg-config; | |
if [[ "$GITHUB_REF" == "refs/heads/main" ]]; then | |
selfURI="github:${{ github.repository }}"; | |
else | |
selfURI="github:${{ github.repository }}/$GITHUB_REF"; | |
fi | |
echo "selfURI: $selfURI" >&2; | |
echo "Installing locally defined deps" >&2; | |
SYSTEM="$( nix eval --raw --impure --expr builtins.currentSystem; )"; | |
flox install -e sqlite-dev "$selfURI#packages.$SYSTEM.etc-profiles"; | |
# Have to work around a bunch of unset variables that get us killed | |
# when `set -eu; set -o pipefail;' is active. | |
export PS0=; | |
export PS1='\s-\v$ '; | |
export PS2='> '; | |
export PS3='>'; | |
export PS4='+'; | |
export FLOX_SAVE_PS1=; | |
ansifilter() { cat -; } | |
export -f ansifilter; | |
export _ansifilter=ansifilter; | |
echo "Activating env" >&2; | |
. <( flox activate -e sqlite-dev; ); | |
echo "Checking if pkg-config can find sqlite" >&2; | |
if pkg-config --list-all|grep '^sqlite3'; | |
then | |
echo "PASS" >&2; | |
exit 0; | |
else | |
echo "FAIL" >&2; | |
echo "pkg-config --list results:" >&2; | |
echo "---" >&2; | |
pkg-config --list-all >&2; | |
echo "---" >&2; | |
exit 1; | |
fi |