Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/kubernetes/release
Release infrastructure for Kubernetes and related components
https://github.com/kubernetes/release
kubernetes release-infrastructure
Last synced: 5 days ago
JSON representation
Release infrastructure for Kubernetes and related components
- Host: GitHub
- URL: https://github.com/kubernetes/release
- Owner: kubernetes
- License: apache-2.0
- Created: 2016-03-23T22:11:59.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2024-11-25T07:57:04.000Z (27 days ago)
- Last Synced: 2024-11-25T08:45:00.496Z (27 days ago)
- Topics: kubernetes, release-infrastructure
- Language: Go
- Size: 19.3 MB
- Stars: 485
- Watchers: 82
- Forks: 502
- Open Issues: 82
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: code-of-conduct.md
- Security: .github/SECURITY.md
Awesome Lists containing this project
README
# Kubernetes Release Tooling
[![PkgGoDev](https://pkg.go.dev/badge/k8s.io/release)](https://pkg.go.dev/k8s.io/release)
[![Go Report Card](https://goreportcard.com/badge/k8s.io/release)](https://goreportcard.com/report/k8s.io/release)
[![Slack](https://img.shields.io/badge/Slack-%23release--management-blueviolet)](https://kubernetes.slack.com/archives/C2C40FMNF)This repo contains the tooling and infrastructure configurations for creating
Kubernetes releases from the [kubernetes/kubernetes] main repository.There are several scripts and helpers in this repository a Release Manager will
find useful when managing all kinds of releases (alpha, beta, official, rc)
across branches.Golang-based tools can be built via the `compile-release-tools` script.
Individual tools can be installed via `go install k8s.io/release/cmd/$TOOL@latest`.- [Release Creation](#release-creation)
- [Release Management](#release-management)
- [`krel`](#krel)
- [`schedule-builder`](#schedule-builder)
- [Artifact Management](#artifact-management)
- [`kpromo`](#kpromo)
- [End User](#end-user)
- [`bom`](#bom)
- [`release-notes`](#release-notes)
- [`gcbuilder`](#gcbuilder)
- [`publish-release`](#publish-release)
- [Legacy](#legacy)
- [`push-build.sh`](#push-buildsh)
- [Contributing](#contributing)**Each of the headings below links to a tool's location.**
## Release Creation
If you create a new release for this repository, then the
[goreleaser](https://github.com/goreleaser/goreleaser) GitHub action will attach
all available binary artifacts to it automatically. To publish those artifacts
to our [`k8s-artifacts-sig-release` GCS bucket](https://console.cloud.google.com/storage/browser/k8s-artifacts-sig-release),
run the following [kpromo](https://github.com/kubernetes-sigs/promo-tools)
command for the new `$TAG`:```bash
kpromo gh \
--org kubernetes \
--repo release \
--bucket k8s-artifacts-sig-release \
--tags $TAG
```The release notes can be generated by using the
[release-notes](cmd/release-notes) tool from this repository, which is also
available as binary artifact:```bash
release-notes \
--org kubernetes \
--repo release \
--required-author "" \
--start-rev $PREVIOUS_TAG \
--end-rev $TAG \
--output release-notes.md
```## Release Management
### [`krel`](/cmd/krel)
**K**ubernetes **rel**ease Toolbox: tooling for releasing Kubernetes
Status: Feature Complete
Audience: [Release Managers][release-managers]
Details: [Documentation](/docs/krel/README.md)
### [`schedule-builder`](/cmd/schedule-builder)
Generate a Markdown schedule for Kubernetes releases.
Status: In Progress
Audience: [Release Managers][release-managers]
Details: [Documentation](/cmd/schedule-builder/README.md)
## Artifact Management
### [`kpromo`](https://sigs.k8s.io/promo-tools/cmd/kpromo)
**K**ubernetes artifact **promo**tion tooling: tooling for promoting artifacts
Status: In Progress
Audience: [Release Managers][release-managers] and subproject maintainers
responsible for promoting file or container artifactsDetails: [Documentation](https://sigs.k8s.io/promo-tools/README.md#kpromo)
## End User
### [`bom`](https://sigs.k8s.io/bom)
Generate SPDX-compliant Bills of Materials for a software
project. Supports reading directories, images, files and more.Details: [Documentation](https://sigs.k8s.io/bom/README.md)
### [`release-notes`](/cmd/release-notes)
Scrape GitHub pull requests for release notes.
Status: Feature Complete
Details: [Documentation](/cmd/release-notes/README.md)
### [`gcbuilder`](/cmd/gcbuilder)
General purpose tool for triggering Google Cloud Build (GCB) runs with
substitutions.Status: Unused
Details: [Documentation](/cmd/gcbuilder/README.md)
### [`publish-release`](/cmd/publish-release)
A tool to announce software releases. Currently supports updating the
release page on GitHub based on templates and updating release artifacts.Details: [Documentation](cmd/publish-release/README.md)
## Legacy
### [`push-build.sh`](push-build.sh)
Push a CI build of Kubernetes to Google Cloud Storage (GCS).
Status: Deprecated (but still in use)
Audience: [Release Managers][release-managers], Prowjobs
## Contributing
Please see [CONTRIBUTING.md](CONTRIBUTING.md) for instructions on how to contribute.
[kubernetes/kubernetes]: https://git.k8s.io/kubernetes
[Branch Manager Handbook]: https://git.k8s.io/sig-release/release-engineering/role-handbooks/branch-manager.md
[release-managers]: https://git.k8s.io/website/content/en/releases/release-managers.md