test: add EfCoreWalletStorage tests for LastUsedIndex regression #399
This file contains hidden or 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: 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 |