Skip to content

ci: add GitHub Actions for CI, releases and Dependabot - #14

Open
nGoline wants to merge 2 commits into
mainfrom
ci/github-actions
Open

nGoline wants to merge 2 commits into
mainfrom
ci/github-actions

Conversation

@nGoline

@nGoline nGoline commented Oct 22, 2026

Copy link
Copy Markdown
Owner

CI (ci.yml): pushes to main and all PRs

  • Build & unit tests: restore, build (Release), unit tests, then fails if dotnet list package --vulnerable --include-transitive reports anything.
  • Integration tests: LND and Core Lightning suites as separate matrix jobs against real regtest nodes (LNUnit / docker compose), 30 min timeout.
  • Docker: multi-arch build (amd64, arm64, arm/v7) without pushing, with GHA layer cache. Catches regressions like the earlier arm/v7 restore crash.

Release (release.yml): on v* tags

  1. Fails unless the tag matches <Version> in LnAddress.Net.csproj.
  2. Builds self-contained single-file binaries (linux-x64, linux-arm64, linux-arm, linux-musl-x64, osx-arm64, osx-x64, win-x64) plus SHA256SUMS. This is the same set as the v0.1.0 release.
  3. Pushes ngoline/lnaddress.net:<version>, :<short-sha> and :latest for all three architectures.
  4. Creates the GitHub release with the binaries and auto-generated notes. Edit the notes afterwards if you want.

⚠️ Needs repo secrets before the next release: DOCKERHUB_USERNAME and DOCKERHUB_TOKEN (a Docker Hub access token with read/write scope).

Dependabot

Weekly updates for NuGet (gRPC/protobuf and test packages grouped), GitHub Actions and the Docker base images.

New release flow: bump <Version>, merge, then git tag vX.Y.Z && git push origin vX.Y.Z.

🤖 Generated with Claude Code

CI runs on pushes to main and on pull requests: build, unit tests and
a vulnerable-package check; LND and Core Lightning integration tests
against regtest nodes; and a multi-arch Docker build without pushing.

Pushing a v* tag checks the tag against <Version> in the csproj, builds
self-contained binaries for seven platforms, pushes the multi-arch
image to Docker Hub and creates the GitHub release with the binaries.

Dependabot watches NuGet packages, GitHub Actions and base images.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Pass one --filter-class per test class, since xunit filters only take a
wildcard at the start or end. Running a class that doesn't exist yet is
harmless, so this is ready for the clnrest tests.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant