74 lines
2.6 KiB
YAML
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
|