Skip to content

Conversation

@pablomendezroyo
Copy link
Contributor

This pull request introduces major improvements to the CI/CD pipeline, containerization, and documentation for the Dappnode staker test utility. It adds dedicated Dockerfiles for each service, automated GitHub Actions workflows for building, testing, and releasing binaries and images, and significantly expands the documentation to help users understand and utilize the toolkit. Additionally, the main entry points for both the test runner and snapshot checker have been refactored for clarity and maintainability.

CI/CD and Containerization Enhancements:

  • Automated GitHub Actions Workflows

    • Added .github/workflows/build-and-push.yml to build and push Docker images for test-runner and snapshot-checker on pushes to main and tags, with matrix builds and caching.
    • Added .github/workflows/release.yml to build and release cross-platform binaries for both utilities on tagged releases, uploading them as artifacts and attaching them to GitHub Releases.
  • Dockerfile Reorganization

    • Removed the old monolithic Dockerfile and replaced it with service-specific Dockerfiles: Dockerfile.test-runner and Dockerfile.snapshot-checker, each using multi-stage builds for minimal images and including only necessary dependencies. [1] [2] [3]

Documentation Improvements:

  • Expanded README
    • Updated README.md with detailed usage instructions, environment variable documentation, GitHub Actions integration examples, and feature overviews for both the test runner and snapshot checker.

Codebase Refactoring:

  • Service Entry Points
    • Added a new cmd/snapshot-checker/main.go as the main entry point for the snapshot checker, including configuration parsing, adapter setup, and signal handling for graceful shutdown.
    • Refactored and renamed the main entry point for the test runner to cmd/test-runner/main.go, streamlining configuration parsing, adapter initialization, and improving logging and signal handling.

These changes collectively modernize the project's build, release, and deployment process, improve maintainability, and make it easier for users and contributors to run and understand the staker test utilities.

@pablomendezroyo pablomendezroyo merged commit cd344fb into main Jan 26, 2026
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.

2 participants