Files
Sovran_SystemsOS/.github/workflows/nix-wallet-connections-validation.yml
T

74 lines
2.6 KiB
YAML

name: Wallet Connections Nix Validation
on:
workflow_dispatch:
pull_request:
branches: [ main ]
jobs:
validate:
runs-on: ubuntu-latest
timeout-minutes: 180
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install Nix
uses: DeterminateSystems/nix-installer-action@v16
- name: Targeted Wallet Connections tests
run: python3 -m unittest app/tests/test_wallet_connections.py
- name: Full Python tests
run: python3 -m unittest discover -s app/tests -p 'test_*.py'
- name: JavaScript syntax checks
run: |
set -euo pipefail
for f in app/sovran_systemsos_web/static/js/*.js; do
node --check "$f"
done
- name: Verify Alby Hub patches apply to v1.23.0
run: |
set -euo pipefail
tmpdir="$(mktemp -d)"
curl -fsSL https://github.com/getAlby/hub/archive/refs/tags/v1.23.0.tar.gz | tar -xz -C "$tmpdir"
srcdir="$(find "$tmpdir" -maxdepth 1 -type d -name 'hub-*' | head -n1)"
test -n "$srcdir"
cd "$srcdir"
git init -q
git add -A
git commit -q -m "snapshot"
git apply --check "$GITHUB_WORKSPACE/packages/albyhub/0001-private-route-hints.patch"
git apply --check "$GITHUB_WORKSPACE/packages/albyhub/0002-isolated-invoice-app-id.patch"
git apply --check "$GITHUB_WORKSPACE/packages/albyhub/0003-loopback-bind-host.patch"
- name: Build patched Alby Hub
run: |
nix --extra-experimental-features 'nix-command flakes' build \
--no-link --print-build-logs --impure --expr \
'let
flake = builtins.getFlake (toString ./.);
pkgs = import flake.inputs.nixpkgs { system = "x86_64-linux"; };
patchedAlbyHub = pkgs.albyhub.overrideAttrs (old: {
patches = (old.patches or []) ++ [
./packages/albyhub/0001-private-route-hints.patch
./packages/albyhub/0002-isolated-invoice-app-id.patch
./packages/albyhub/0003-loopback-bind-host.patch
];
});
in patchedAlbyHub'
- name: Run real NixOS listener test
run: |
nix --extra-experimental-features 'nix-command flakes' build \
'.#checks.x86_64-linux.nwc-wallets-port-collision' \
--no-link --print-build-logs
- name: Build full system closure
run: |
nix --extra-experimental-features 'nix-command flakes' build \
'.#nixosConfigurations.nixos.config.system.build.toplevel' \
--no-link --print-build-logs