Skip to content

tsanders-rh/release-tools

 
 

Repository files navigation

Release Tools

This project contains, or should contain, all of the configuration and automation to maintain, build, and release Konveyor.

Check out the config.yaml to see:

  1. The repositories we are managing
  2. The Labels we are configuring in repositories
  3. The milestones we are configuring in repositories

This allows us to have a single source of truth to make sure that, as we create enhancments, issues, and pull requests, they can be tracked properly.

You can find our reusable GitHub Workflows in ./.github/workflows.

Available Workflows

Prepare repository for release

See workflow file here

This workflow should be called when a new release branch is created. When invoked, it does the following:

  • update specified base images in the Dockerfile to use the right release tags
  • update specified golang deps to track the right release branch
  • commits the results back to the originating branch

Before doing the actual changes, it checks if the originating branch matches the pattern release-X.Y where X and Y are integers representing major and minor versions for the release.

It accepts following inputs:

  • branch_ref (Required): This is the ref of the branch. Only branches of format refs/heads/release-X.Y will enable the workflow to do the actual replacement of tags in Dockerfile. All other branches are ignored. ${{ github.ref }} in the original repo should be used to get the value for this variable.

  • images_to_update: This is a list of images in the Dockerfile for which you want to update the tags. It should be a JSON array string e.g. '["quay.io/konveyor/operator"]'. Defaults to '[]'.

  • go_deps_to_update: This is a list of go deps in the go.mod file for which you want to update the branches. It should be a JSON array string e.g. '["github.com/konveyor/analyzer-lsp"]'. Defaults to '[]'.

  • dockerfile: This is the relative path to the Dockerfile in the repo. Defaults to ./Dockerfile.

Available Tools

Stale Issue Workflow Deployment

See stale-workflow directory

This tool helps deploy a GitHub Actions workflow to automatically mark stale issues and pull requests across Konveyor repositories. The workflow:

  • Marks issues and PRs as stale after 60 days of inactivity
  • Does not auto-close items (only marks them for visibility)
  • Exempts items with specific labels or assignees
  • Automatically removes the stale label when items are updated

The deployment script can target specific repositories or all repositories in an organization at once.

For detailed usage instructions, see the stale-workflow README.

Community Health Dashboard

See community-health-dashboard directory

A comprehensive web-based dashboard for monitoring the health and activity of Konveyor repositories. The dashboard provides:

  • Overview Metrics: Total contributors, new contributors, response times, and PR merge rates
  • Repository Breakdown: Detailed metrics for each repository including coverage and Snyk security vulnerabilities
  • PR Health: Merge rates, review times, merge times, and PR size distribution
  • Issue Health: Closure rates, response coverage, and community engagement metrics
  • Maintainer Health: Active maintainer tracking, response load, and bus factor analysis
  • CI/CD Health: Workflow status, success rates, and branch health across all components
  • Activity Heatmap: Visual representation of contribution patterns by day and hour
  • Historical Trends: Charts showing metric trends over time
  • Automated Data Collection: Daily GitHub Actions workflow collects metrics at 3:00 AM UTC

The dashboard integrates with GitHub API and Snyk API to provide comprehensive visibility into project health. Data is collected automatically and stored in historical files for trend analysis.

Live Dashboard: https://konveyor.github.io/release-tools/community-health-dashboard/

For detailed configuration and setup instructions, see the dashboard README.

Stale Issues Dashboard

See stale-dashboard directory

A web-based dashboard for monitoring and managing stale issues and pull requests across Konveyor repositories. The dashboard provides:

  • Real-time visualization of stale items across all configured repositories
  • Filtering by repository, type (issue/PR), and search functionality
  • Statistics overview with counts of stale issues, PRs, and affected repositories
  • Grafana-inspired dark theme for a modern look
  • Can be hosted on GitHub Pages (no backend required)

The dashboard works in conjunction with the Stale Issue Workflow to provide visibility into items that need attention.

For Maintainers: Hosting the dashboard requires manually enabling GitHub Pages in repository settings. See the dashboard README for complete setup instructions.

Contributing

We welcome contributions to this project! If you're interested in contributing, please read the konveyor/community CONTRIBUTING doc for more information on how to get started.

Code of Conduct

Refer to Konveyor's Code of Conduct here.

License

FOSSA Status

About

Release tooling for Konveyor projects.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 61.5%
  • HTML 15.6%
  • CSS 9.0%
  • Go 7.4%
  • Shell 6.5%