Skip to content

test: add EfCoreWalletStorage tests for LastUsedIndex regression #399

test: add EfCoreWalletStorage tests for LastUsedIndex regression

test: add EfCoreWalletStorage tests for LastUsedIndex regression #399

Workflow file for this run

name: CI
on:
push:
pull_request:
jobs:
build:
name: Build & Unit Tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: true
fetch-depth: 0
- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: 9.0.x
- name: Restore dependencies
run: dotnet restore
- name: Build
run: dotnet build --no-restore
- name: Unit Tests
run: dotnet test --no-build --verbosity normal --filter "FullyQualifiedName!~End2End"
e2e:
name: E2E Tests
runs-on: ubuntu-latest
needs: build
steps:
- uses: actions/checkout@v4
with:
submodules: true
fetch-depth: 0
- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: 9.0.x
- name: Setup Go
uses: actions/setup-go@v5
with:
go-version: '1.23'
- name: Start regtest infrastructure
run: |
chmod +x ./NArk.Tests.End2End/Infrastructure/start-env.sh
./NArk.Tests.End2End/Infrastructure/start-env.sh --clean
timeout-minutes: 10
- name: Restore and build
run: dotnet build
- name: Run E2E tests
run: dotnet test NArk.Tests.End2End --no-build --verbosity normal
timeout-minutes: 15
- name: Collect docker logs on failure
if: failure()
run: |
docker compose -f NArk.Tests.End2End/Infrastructure/docker-compose.ark.yml logs > /tmp/ark-overlay-logs.txt 2>&1 || true
docker logs ark > /tmp/arkd-logs.txt 2>&1 || true
docker logs boltz > /tmp/boltz-logs.txt 2>&1 || true
docker logs bitcoin > /tmp/bitcoin-logs.txt 2>&1 || true
docker logs lnd > /tmp/lnd-logs.txt 2>&1 || true
docker logs boltz-lnd > /tmp/boltz-lnd-logs.txt 2>&1 || true
docker logs fulmine-delegator > /tmp/fulmine-delegator-logs.txt 2>&1 || true
- name: Upload logs
if: failure()
uses: actions/upload-artifact@v4
with:
name: docker-logs
path: /tmp/*-logs.txt
- name: Stop infrastructure
if: always()
run: |
docker compose -f NArk.Tests.End2End/Infrastructure/docker-compose.ark.yml down --volumes || true
./NArk.Tests.End2End/Infrastructure/nigiri/build/nigiri-linux-amd64 stop --delete || true
publish:
name: Publish NuGet Packages
runs-on: ubuntu-latest
needs: [build, e2e]
if: github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/tags/')
steps:
- uses: actions/checkout@v4
with:
submodules: true
fetch-depth: 0
- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: 9.0.x
- name: Restore dependencies
run: dotnet restore
- name: Pack
run: dotnet pack -c Release -o dist/
- name: Push to NuGet
run: dotnet nuget push "dist/*.nupkg" --skip-duplicate -k ${{secrets.NUGET_API_KEY}} -s https://api.nuget.org/v3/index.json