Releases: kubernetes/release
v0.9.0
Changes by Kind
Deprecation
- Remove hyperkube references (#2018, @justaugustus) [SIG Release]
Feature
-
Added i386 crossbuild toolchain to kube-cross. (#2086, @saschagrunert) [SIG Release]
-
Bump
k8s-cloud-builder
to version v1.16.4-2 (#2093, @puerco) [SIG Release] -
Debian-base: Build buster-v1.6.0 image (#1991, @justaugustus) [SIG Release]
-
Debian-base: Build buster-v1.7.0 image (#2080, @justaugustus) [SIG Release]
-
Debian-iptables: Build buster-v1.6.0 image (#1983, @wespanther) [SIG Release]
-
Debian-iptables: Build buster-v1.6.1 image
- setcap: Build buster-v2.0.1 image (#2082, @justaugustus) [SIG Release]
-
Dependency updates:
- github.com/spf13/cobra from 1.1.1 to 1.1.3
- github.com/go-git/go-git/v5 from 5.2.0 to 5.3.0
- github.com/google/uuid from 1.1.4 to 1.2.0
- github.com/sendgrid/rest from from 2.6.2 to 2.6.3
- github.com/cheggaaa/pb/v3 from 3.0.5 to 3.0.8 (#2042, @justaugustus) [SIG Release]
-
Deps: Update sigs.k8s.io/release-utils to v0.2.1 (#2052, @justaugustus) [SIG Release]
-
Hack: Allow verify-dependencies to succeed when GOBIN is missing
- [go] go1.16.4 and go1.15.12 updates
- kube-cross: Build v1.16.4-1 and v1.15.12-1 images
- go-runner: Build v2.3.1-go1.16.4-buster.0 and v2.3.1-go1.15.12-buster.0
- releng-ci: Build v0.5.2 image using go1.16.4 (#2059, @justaugustus) [SIG Release]
-
K8s-cloud-builder: Build v1.15.12-legacy-1/v1.15.12-1 image
-
Kube-cross: Adds mingw-w64 for Windows binary compilation
- kube-cross: Build v1.16.1-2 image (#1978, @claudiubelu) [SIG Release and Windows]
-
Kube-cross: Build v1.15.11-1 / v1.15.11-legacy-1 image
-
New
SPDX
package for generating SPDX compliant manifests of artifacts.- The
license
package now includes a newCatalog
object to interact with spdx license data - First set of image analyzers to enrich the BOM generated for the go-runner and distroless base images
- Corrects a bug with the license downloader where license data was not available when first downloaded. (#2064, @puerco) [SIG Release]
- The
-
New
bom
utility allows software authors to generate spdx manifests for projects. Allows adding files and images to the manifest. (#2066, @puerco) [SIG Release] -
New
krel cve
subcommand to handle CVE data information in the release bucket. Allow a release manager to upload, delete and edit CVE data files that publish vulnerability information in the changelog. (#1995, @puerco) [SIG Release] -
Releng-ci: Enable building multiple image variants (#2089, @justaugustus) [SIG Release]
-
Setcap: Build buster-v2.0.0 image
Uses debian-base:buster-v1.6.0.
Note: the image major version is arbitrarily bumped here to dissuade any
inferences that it must match the debian-base image tag (#1992, @justaugustus) [SIG Release] -
The SPDX package can now index the contents of a directory and produce a Package listing all contents. Directories can be specified by
-d
/--directory
- go.mod support: We now recognize directories that are golang modules. If a
go.mod
file is found, the spdx object will now download, scan them for licensing data and create packages which are then linked to the directory package as dependencies - Full support for
.gitignore
exclusions: WHen indexing a directory, the spdx object will detect a.gitignore
file and honor the files excluded by patterns in it. - The last two features can be turned on and of by passing
--no-gomod
and--no-gitignore
respectively tobom generate
--ignore
flag inbom
: In addition to the gitignore exclusions, a user can add more patterns with--ignore
bom
will now take directories as arguments to make simple use more intuitive:bom -n namespace .
(#2077, @puerco) [SIG Release]
- go.mod support: We now recognize directories that are golang modules. If a
-
The SPDX package now has unit and integration tests (#2069, @puerco) [SIG Release]
-
Verify cosign signatures of distroless base images
- go-runner: Build v2.3.1-go1.16.3-buster.1 image
- go-runner: Build v2.3.1-go1.15.11-buster.1 image (#2016, @justaugustus) [SIG Release]
-
Vulndash: Build v0.4.3-7
- kube-cross: Build v1.16.3-1 image
- go-runner: Build v2.3.1-go1.16.3-buster.0 image
- packages: Update debs build image to use go1.16.3
- releng-ci: Build v0.5.1 image (#2006, @justaugustus) [SIG Release]
-
When cutting a patch release, anago/stage will now read CVE information from a bucket, the CVE information read from the cloned data will be added to the changelog when it is generated. (#1996, @puerco) [SIG Release]
-
[go1.15] Update kubernetes/kubernetes dependents to use go1.15.11
-
[go1.16] Update kubernetes/kubernetes dependents to use go1.16.3
- k8s-cloud-builder: Build v1.16.3-1 image (#2008, @justaugustus) [SIG Release]
-
[go1.16] Update kubernetes/kubernetes dependents to use go1.16.4
- k8s-cloud-builder: Build v1.16.4-1 image
- k8s-ci-builder: Build image variants using go1.16.4 (#2061, @justaugustus) [SIG Release]
-
bom generate
will now perform go package downloads in parallel- When generating an sbom from a go module directory,
bom
will now list all transient dependencies by default. A new flag--no-transient
can be used to only include direct dependencies in the document. - Reduced the output of the license package by moving some of the output to Debug.
- FIxed a bug where the license package would sometimes crash due to a division by zero. (#2085, @puerco) [SIG Release]
- When generating an sbom from a go module directory,
-
krel release
will now check its inputs locally before submitting a GCB job.
Failing Test
- Dependencies: Add Golang entries for previous release branches (#2001, @justaugustus) [SIG Release]
- K8s-ci-builder: Add 1.21 branch variant
-
k8s-ci-builder: Match go version of the builder image with k/k@dev
This builder image is responsible for running compile-release-tools and
copying in tooling likekrel
into the final image.AFAIK, the compiled RelEng tools have no requirement to exactly match
the Golang version of all active kubernetes/kubernetes release branches.In instances where we make changes to releng tooling which are
backwards-incompatible, we have the possibility to cause image build
failures for other branch variants (as is currently happening). (#2003, @justaugustus) [SIG Release]
-
- K8s-ci-builder: Fix
CONFIG
substitution for1.21
variant (#2004, @justaugustus) [SIG Release]
Bug or Regression
- Fix a bug in
gcs.PathExists()
where nonexisting paths would always return an error (instead of false). Now the function can actually be used to check for the non existence of a file. (#2030, @puerco) [SIG Release] - Fixed release notes list manipulation (
*
→-
) which falsely replaced bold markdown text. ([#2056](https://github.com/kube...
v0.8.0
Changes by Kind
Feature
- Added
hash
package to unify file based hash creation (#1875, @saschagrunert) [SIG Release] - Added
kubecross
package to retrieve kube-cross image versions (latest or for a branch). (#1969, @saschagrunert) [SIG Release] - Added a new flag to
release-notes
:--list-v2
. When defined, it enables the new release notes list code which looks up release notes from merge PRs. (#1925, @puerco) [SIG Release] - Added a new setcap image, that can be used to apply capabilities to the k8s binaries when we build the server-images. (#1684, @vinayakankugoyal) [SIG Release]
- Cross: create new variant with protobuf version 3.0.2 (#1915, @cpanato)
- Downgrade logs on attempting to lookup PRs by commit to Debug as they are filling up console noisily, obstructing the progress log.
- Introducing
--list-v2
feature flag tokrel release-notes
. Behind a feature gate:- Looks up for the commit history from the local copy of k/k instead of GitHub API call.
- The new approach traverses Git history by left parents, only looking for PR information from the merge commits and thus reducing the API calls to GitHub, which should decrease the amount of rate limit errors users are receiving.
- Incidentally, this fixes a "bug" in previous implementation of including a "merged in the future" PR. (#1888, @wilsonehusin) [SIG Release]
- Introducing
- Go-runner: Build v2.3.1-go1.16rc1-buster.0 image
- vulndash: Build v0.4.3-4 image (using go1.16rc1)
- releng-ci: Build v0.3.0 image (using go1.16rc1)
- kube-cross: Build v1.16.0-rc.1-2 image (using go1.16rc1) (#1917, @justaugustus) [SIG Release]
- Golang bump to 1.15.8 resulting in the following new images:
- Images: Build debian-base:buster-v1.5.0 (#1957, @wespanther) [SIG Release]
- K8s-cloud-builder: Build v1.16.1-1 image
- k8s-ci-builder: Build default variant using go1.16.1
- k8s-ci-builder: Update 1.20 and 1.19 variants to go1.15.8 (#1941, @justaugustus) [SIG Release]
- Krel will now log into docker hub using a release engineering account to allow for more image pulls (#1979, @puerco) [SIG Release]
- Kube-cross: Build v1.15.10-1 / v1.15.10-legacy-1 image
- Kube-cross: Build v1.15.9-1 / v1.15.9-legacy-1 image
- Kube-cross: Build v1.16.0-1 image
- go-runner: Build v2.3.1-go1.16-buster.0 image
- releng-ci: Build v0.4.0 image
- vulndash: Build v0.4.3-5 image (#1920, @justaugustus) [SIG Release]
- Kube-cross: Build v1.16.0-rc.1-2 image (using go1.16rc1) (#1918, @justaugustus) [SIG Release]
- Kube-cross: Build v1.16.1-1 image
- go-runner: Build v2.3.1-go1.16.1-buster.0 image
- releng-ci: Build v0.5.0 image
- vulndash: Build v0.4.3-6 image (#1937, @justaugustus) [SIG Release]
- New
license
package adds the capability to scan source directories, locate license files and classify them to match OSS licenses in the SPDX catalog. (#1874, @puerco) [SIG Release] - New function
github.CreateIssue
to file new issues in a GitHub repository (#1964, @puerco) [SIG Release] - New function
github.GetMilestone()
that queries the GitHub API to find a given milestone in a repository from its title string (#1965, @puerco) [SIG Release] - Support custom BASEIMAGE for kube-cross (#1967, @chewong)
- Update Golang-based images to go1.16rc1
- kube-cross: Build v1.16.0-rc.1-1 image
- go-runner: Build buster-v2.3.0 image
- releng-ci: Build v0.2.0 image
- vulndash: Build v0.4.3-2 image (#1882, @justaugustus) [SIG Release]
- Update debian-hyperkube-base to v1.4.0 which is now a sane multi-architecture image. (#1878, @saschagrunert) [SIG Release]
- Update debian-iptables to v1.5.0 which is now a sane multi-architecture image. (#1877, @saschagrunert) [SIG Release]
krel
will now create the publishing bot issue ink8s-release-robot/sig-release
when creating the release branch (#1966, @puerco) [SIG Release]
Design
- Release notes libraries will now recognize CVE information in the
datafields
section of the release notes map files.
Failing Test
hack/packages/verify-published.sh
will skip v1.20.3 when checking packages as none were produced (#1928, @puerco) [SIG Release]
Bug or Regression
- Fix bug where returned errors from certain functions un in
krel release-notes
were overwritten by deferred function calls (#1894, @puerco) [SIG Release] - Fixed use of --create-website-pr flag to krel release-notes (#1690, @JamesLaverack) [SIG Release]
- Go.mod: Update github.com/containers/image/v5 to v5.10.4 (#1931, @justaugustus) [SIG Release]
- Image promotion pull requests are now created against
main
inkubernetes/k8s.io
as the default branch has been renamed, (#1901, @puerco) [SIG Release] - Jobs in GCB now fall back to latest version of kubecross when the release branch does not exist (#1974, @puerco) [SIG Release]
- K8s-rapture will now check if debs and RPMs exist before calling
rapture addpkg
(#1923, @puerco) [SIG Release] - The GitHub package now has a basic options struct to control how it behaves
Other (Cleanup or Flake)
- Enable parallel Kubernetes build on
krel stage
(#1795, @saschagrunert) [SIG Release] - Move references from TOOL_BRANCH to be TOOL_REF (#1906, @cpanato) [SIG Release]
- Prettify / indent JSON output of krel release-notes (#1879, @wilsonehusin) [SIG Release]
- Removed
stage-ci
Makefile target since it is not used. (#1981, @saschagrunert) [SIG Release] - Switch to hardcoded releng-ci:v0.5.0 image to build
krel
in GCB release jobs (#1961, @puerco) [SIG Release] - Switch to hardcoded releng-ci:v0.5.0 image to build
krel
in GCB jobs (#1959, @puerco) [SIG Release] - The following packages have been migrated to sigs.k8s.io/release-utils:
- pkg/command
- pkg/editor
- pkg/hash
- pkg/http
- pkg/log
- pkg/tar
- pkg/util (#1934, @justaugustus) [SIG Release]
- To avoid having commits merged between BuildVersion and the tag,
stage.TagRepository()
will now check out ...
v0.7.0
Changes by Kind
Feature
-
Added
StageExtraFiles
tobuild.Options
to allow stagingExtraGcpStageFiles
andExtraWindowsStageFiles
(#1843, @saschagrunert) [SIG Release] -
Added release notes JSON as krel stage/release artifact (#1805, @saschagrunert) [SIG Release]
-
Added release notes index publishing API to
release
package.- Added
GSUtilStatus()
API togcp
package (#1812, @saschagrunert) [SIG Release]
- Added
-
Added the
release-notes.json
tokrel release
artifacts as well as an updated index file.
The index file can be used to find referencing release notes. The location of the index file
ishttps://storage.googleapis.com/kubernetes-release-gcb/release/release-notes-index.json
for the mock bucket andhttps://storage.googleapis.com/kubernetes-release/release/release-notes-index.json
for the production bucket. (#1814, @saschagrunert) [SIG Release] -
Changed release notes fetching for official (non patch) releases to also assume a JSON version side by side to the markdown draft (#1815, @saschagrunert) [SIG Release]
-
Images: Add 1.20 variant for k8s-ci-builder (#1807, @xmudrii) [SIG Release]
-
Images: Build debian-base:buster-v1.3.0 (#1835, @wespanther) [SIG Release]
-
Images: Build debian-hyperkube-base:buster-v1.3.0
- Uses debian-iptables:buster-v1.4.0 (#1861, @justaugustus) [SIG Release]
-
Images: Build debian-iptables:buster-v1.4.0
- Uses debian-base:buster-v1.3.0 (#1859, @justaugustus) [SIG Release]
-
Krel release-notes now has 'do_not_publish' field in map to override release-note-none
- fixes regression where k/sig-release local copy might be deleted when user does not want to create automated PR at the end of create-draft-pr workflow (#1846, @wilsonehusin) [SIG Release]
-
Krel: add option to post the testgridshot straight to github issue (#1810, @cpanato) [SIG Release]
-
New
binary
module for analysis of executables. Initial functionality includes parsing of ELF, Mach-O and PE (win) executables to determine platform, OS, and wordlength (64/32 bit) (#1856, @puerco) [SIG Release] -
New tool
publish-release
to make available our release announcement tools to other projects. (#1705, @puerco) [SIG Release] -
Pkg/cip: Add
cli
packageThe
cli
package holds configurable options and command function logic
for the commands in the k8s-container-image-promoter repo.This will allow us to:
- refactor/integrate the commands without updates to the cip repo
- start pulling functionality into
kpromo
- further decrease reliance on bazel
(Commands were copied in from https://github.com/kubernetes-sigs/k8s-container-image-promoter/tree/455e8e6a6d2888de200d1fdadf2ee0e3d5c7d1d3.) (#1804, @justaugustus) [SIG Release]
-
Retry up to 3 times if the release does not show up right away when updating the GitHub page. (#1852, @puerco) [SIG Release]
-
Switch to docker buildx for building
debian-base
,debian-iptables
anddebian-hyperkube-base
container images (#1864, @saschagrunert) [SIG Release] -
The Release Notes draft pull request now includes the JSON version of the release notes draft which (#1821, @puerco) [SIG Release]
-
The following images are now built with Go 1.15.7:
-
Vulndash: add filter to get vulnerabilities for a specific registry hostname (#1847, @cpanato) [SIG Release]
-
Vulndash: improve vulndash html page (#1854, @cpanato) [SIG Release]
-
krel release-notes
will now generate the complete release notes in JSON when updating the website with the first minor (eg 1.20.0) (#1828, @puerco) [SIG Release]
Documentation
- Update README.md
- Add tool descriptions, statuses, audiences, and links to code
- Regenerate ToC
- Add badges for pkg.go.dev, goreportcard.com, and Slack
- Drop unused links
- Wrap at 80-char (#1803, @justaugustus) [SIG Release]
Bug or Regression
-
Ensure the Go version used to build the release is present in the announcement (#1816, @xmudrii) [SIG Release]
-
Fixed
krel stage
bug to not build the release if the build version is exactly a tag without a commit ID. (#1813, @saschagrunert) [SIG Release] -
Images: fix Archs expansion in makefile (#1865, @cpanato) [SIG Release]
-
Mark debian images with their corresponding architectures (#1839, @sozercan) [SIG Release]
-
Pkg/cip: Use --no-dry-run instead of --dry-run
Similar to our
--nomock
flags for other tools, we should use a
--no-dry-run
forcip
, since the default nil value for booleans is
false
.Meaning: If
--dry-run
is not explicitly set totrue
, our tooling will
initiate an image promotion. (#1806, @justaugustus) [SIG Release] -
Print the krel announce send command after a successful release run (#1817, @xmudrii) [SIG Release]
-
The announce package now support reading the changelog from a file defined in
changelogFile
(#1811, @puerco) [SIG Release] -
When staging releases, we now always checkout a branch and avoid going into detached HEAD (#1826, @puerco) [SIG Release]
Other (Cleanup or Flake)
- Cip: calling some functions by passing the parameters by pointer (#1802, @cpanato) [SIG Release]
- Cip: calling the function by passing the parameters by pointer (#1799, @cpanato) [SIG Release]
- Krel/testgrid: add footer note about the generated comment (#1823, @cpanato) [SIG Release]
- Promobot: replace klog to use logrus (#1800, @cpanato) [SIG Release]
- Removed "Done" log message when copying local files. (#1809, @saschagrunert) [SIG Release]
- Removing klog lib in favor of logrus (#1801, @cpanato) [SIG Release]
- Update
cloud.google.com/go
dependency tov0.73.0
- Update
cloud.google.com/go/logging
dependency tov1.1.2
- Update
github.com/GoogleCloudPlatform/testgrid
dependency tov0.0.32
- Update
github.com/containers/image/v5
dependency tov5.9.0
- Update
github.com/google/go-containerregistry
dependency tov0.2.1
- Update
github.com/mitchellh/mapstructure
dependency tov1.4.0
- Update
github.com/sendgrid/sendgrid-go
dependency tov3.7.2
- Update
github.com/shirou/gopsutil/v3
dependency tov3.20.11
- Update
google.golang.org/api
dependency tov0.36.0
- Update
gopkg.in/yaml.v2
dependency tov2.4.0
- Update
golang.org/x/net
dependency tov0.0.0-20201207224615-747e23833adb
- Update
golang.org/x/oauth2
dependency tov0.0.0-20201208152858-08078c50e5b5
- Update
google.golang.org/genproto
dependency tov0.0.0-20201207150747-9ee31aac76e7
(#1822, @cpanato) [SIG Release]
- Update
- Update
cloud.google.com/go
dependency tov0.75.0
- Update
github.com/GoogleCloudPlatform/testgrid
dependency tov0.0.38
- Update
github.com/google/go-containerregistry
dependency tov0.3.0
- Update
github.com/google/uuid
depend...
- Update
v0.6.0
Changes by Kind
API Change
- Added GCS object store implementation (#1758, @justaugustus)
Feature
-
Added
Env()
API tocommand
package (#1796, @saschagrunert) -
Added container image promotion packages (#1767, @justaugustus)
-
Added k8s-ci-builder image to support Kubernetes builds in CI (#1700, @justaugustus)
-
k8s-ci-builder: Short-circuit logic building by using krte image (#1700, @justaugustus)
-
pkg/build: Cleanup some CI flags and build requirements (#1700, @justaugustus)
-
pkg/build: Don't rewrite bucket in build Instance (#1700, @justaugustus)
-
pkg/build: Consolidate build type / directory setting logic (#1700, @justaugustus)
-
pkg/build: Properly handle extra version markers (#1700, @justaugustus)
-
Added krel push
Version
option to manually overwrite the build version (#1644, @saschagrunert) -
Added prerequisites check to
krel stage/release
(#1764, @saschagrunert) -
Added
--stream
flag tokrel stage/release
(#1763, @saschagrunert) -
Added
BranchChecker
API torelease
package. (#1753, @saschagrunert) -
Added
SetURL(remote, newURL string)
API for git repositories (#1677, @saschagrunert) -
Added
git.Tags()
API which is now used for validation of available tags onkrel anago push-git-objects
(#1717, @saschagrunert) -
Added
krel gcbmgr --krel
flag to usekrel stage/release
instead of anago (#1687, @saschagrunert) -
Added
krel gcbmgr --release …
message ifkrel stage
finished staging the artifacts. (#1708, @saschagrunert) -
Added
krel history
subcommand (as replacement tokrel gcbmgr history
) (#1762, @saschagrunert) -
Added
krel stage
workspace preparation step. (#1688, @saschagrunert) -
Added
tar.Extract(tarFilePath, destinationPath string)
API function (#1674, @saschagrunert) -
Added
tar
package which now contains theReadFileFromGzippedTar()
as well as theCompress()
API. (#1664, @saschagrunert) -
Added artifact pushing and release version generation to
krel stage/release
(#1689, @saschagrunert) -
Added changelog generation to
krel stage
(#1702, @saschagrunert) -
Added krel stage/release shared CLI parameters (#1685, @saschagrunert)
-
Added log file support to krel stage/release. (#1774, @saschagrunert)
-
Added progress counter to krel stage/release steps (#1741, @saschagrunert)
-
Added release branch state check for
krel stage/release
. (#1754, @saschagrunert) -
Added release build functionality to
krel stage
(#1692, @saschagrunert) -
Added repository tagging functionality to
krel stage
(#1707, @saschagrunert) -
Added verbose git command output if
--log-level=[debug,trace]
(#1728, @saschagrunert) -
Added workspace preparation to
krel release
. (#1686, @saschagrunert) -
Cip-mm: replace klog to use k/release/pkg/log (#1770, @cpanato)
-
Disable
git
clone output if log level is not debug or trace. (#1701, @saschagrunert) -
Go-runner: Build buster-v2.2.2 image
Rebuild go1.15.5 image with all arches enabled (#1780, @justaugustus) -
Images: Build go-runner:buster-v2.2.1
No image content changes.
Rebuild to pick up fixes to the distroless images to include anarmhf
variant in their manifests to allow us to continue releasing all of the
arch artifacts we do today. (#1752, @justaugustus) -
Images: Build k8s-cloud-builder:v1.15.3-1 (#1654, @justaugustus)
-
Uses kube-cross:v1.15.3-1 (#1654, @justaugustus)
-
Images: Build releng-ci:v0.1.1 image (#1679, @justaugustus)
-
Integrate the release archiver into
krel release
(#1769, @puerco) -
Kpromo: Add file promotion and manifest generation functionality (#1771, @justaugustus)
-
Deprecate
promobot-files
andpromobot-generate-manifest
in favor ofkpromo
(#1771, @justaugustus) -
Migrate vulnerability dashboard (vulndash) to k/release (#1657, @justaugustus)
-
Migrated the "stage source tree" step from anago to
krel anago push
(#1661, @saschagrunert) -
Pkg/git: remove sensitive data when returning errors that will be output (#1729, @cpanato)
-
The
anago
functionarchive_release ()
to copy a release into the archive bucket is now implemented in go. (#1768, @puerco) -
The
announce
package now has the capability to create/update the GitHub page of a release and upload asset files (#1704, @puerco) -
New functions added to the github package:
UpdateReleasePage()
as well asListReleaseAssets()
,DeleteReleaseAsset()
andUploadReleaseAsset()
to work with asset files (#1704, @puerco) -
The
krel gcbmgr --log-level
will now passed tokrel stage/release
and applies in the same way. (#1695, @saschagrunert) -
The following images are now built with go1.15.5:
- kube-cross:v1.15.5-1
- go-runner:buster-v2.2.0
- vulndash:v0.3.0-1
- releng-ci:v0.1.2 (#1732, @justaugustus)
-
The git package now has four new functions:
git.Status()
,git.Fetch()
,git.ShowLastCommit()
andgit.Rebase()
(#1691, @puerco) -
krel anago
now has a new flag--push-main
that pushes changes made to the main branch (#1691, @puerco) -
The log file sanitizer now removes GitHub tokens in addition to the original anago checks (#1781, @puerco)
-
UpdateGitHubPage() is now implemented in
krel release
. -
Vulndash: Add page size when listing vulnerabilities more logs and build v0.3.0 image ([#16...
v0.5.0
Changes by Kind
API Change
Feature
- Added
RsyncRecursive()
API to gcs package to rungsutil rsync
(#1627, @saschagrunert) - Added
--fast
flag tokrel push
(#1575, @saschagrunert) - Added
--validate-images
flag tokrel push
to validate the existence of the remote images (default:false
) (#1582, @saschagrunert) - Added
NewImages().Publish()
API torelease
package. (#1568, @saschagrunert) - Added
krel anago push
subcommand for publishing anago stage and release artifacts. (#1597, @saschagrunert) - Added
release.PushReleaseArtifacts
API which is now used in anago to push artifacts to GCS (#1603, @saschagrunert) - Added additional image validation step to
krel anago push --stage
to test for the image promotion. (#1633, @saschagrunert) - Added container images push feature to
krel anago push
(#1606, @saschagrunert) - Images: Build debian-iptables:stretch-v1.2.0
- Removes
iptables-wrapper
, which was extraneous for the stretch
variant of this image (#1623, @justaugustus)
- Removes
- Images: Build releng-ci with go1.15.3
- images: Build kube-cross:v1.15.3-1 and v1.15.3-canary-1
- Now built with go1.15.3
- images: Build go-runner:buster-v2.1.0
- Now built with go1.15.3 (#1650, @justaugustus)
- images: Build kube-cross:v1.15.3-1 and v1.15.3-canary-1
- Krel promote-images will now accept more than one --tag when patching the promotion manifest (#1641, @puerco)
- Krel/gcbmgr: add build-at-head flag (#1589, @cpanato)
- Migrate promotion CLI tools to k/release
The following tools have been added to the repo:cip-mm
promobot-files
promobot-generate-manifest
(#1652, @justaugustus)
- New
release.GitObjectPusher
object to handle pushes to remote git repos - New remote tag functions:
git.RemoteTags()
andgit.HasRemoteTag()
which return the tags in the default remote repository and check if one exists - Pkg/release: Add
release.StageLocalArtifacts()
API (#1593, @saschagrunert) - Pull requests done to the Release Notes website will now include edits from the release team. This are read from the mapping files stored in
kubernetes/sig-release
. (#1648, @puerco) git.Repo()
now has aSetMaxRetries()
function to enable retrying git ops when a network error occurs.
Bug or Regression
-
Adjust the way
krel release-notes
determines the start tag to match the post 1.19 branching strategy (#1573, @puerco) -
Changed
krel changelog
to always generate the release notes against the latest minor on alpha.1 pre-release cuts. (#1572, @saschagrunert) -
Fixed
--fast
upload location forkrel push
(#1583, @saschagrunert) -
Fixed a bug in
krel anago push
where it did downloadkubernetes.tar
into the wrong local destination path. (#1617, @saschagrunert) -
Fixed bug where a
command
execution could dead-lock when only producing stderr output. Both streams are now in sync. (#1604, @saschagrunert) -
Fixed image verification step to always stick to the provided container registry and not automatically use
k8s.gcr.io
(#1631, @saschagrunert) -
New package
k8s.io/release/pkg/editor
gets rid of the dependency to the editor package in kubectl. (#1599, @puerco) -
Starting with Debian Buster, nftables is available as a replacement for
iptables, by default.More details here: https://wiki.debian.org/nftables
This introduces both a "legacy" and an "nft" iptables variant.
To deal with this, an iptables-wrapper script was introduced to detect the
correct variant and run update-alternatives:A corresponding Dockerfile change was created to use
iptables-wrapper
.
These now apply to the stretch image build, and assume that the legacy/nft
variants exist, but they do not. This change removes the alternative
handling, which is not applicable back in Debian Stretch.This is needed to build a new version of debian-iptables with a newer
debian-base than we currently have available in the public repos. (#1613, @wespanther)
Other (Cleanup or Flake)
- Added
release.BuildDIr
const for referencing the default build directory_output
(#1586, @saschagrunert) - Changed
gcp.GSUtilExecutable
to be private. Please use thegcp.GSUtil()
function instead. (#1649, @saschagrunert) - Deps: Update to cip/[email protected] (#1653, @justaugustus)
- Fixed broken
update-deps-go
Makefile target (#1601, @saschagrunert) - Fixes #1556 introducing a new make target called test-go-integration (#1600, @gianarb)
- Images/k8s-cloud-builder: Update skopeo to v1.2.0 (#1588, @saschagrunert)
- Implement parallelism ourselves in
github.DownloadReleaseAssets()
instead of using k8s.io/apimachinery (#1598, @puerco) - Pkg/release: Use semver for release version generation (#1581, @saschagrunert)
- Removed
--release-type
flag fromkrel push
. Please use--ci
instead. (#1587, @saschagrunert) - Removed
nomock
option fromkrel push
(#1602, @saschagrunert) - Removed
prin
andscript-template
from the repository. (#1584, @saschagrunert) - Removed unnecessary flags
--local-gcs-stage-path
,--local-release-images-path
,--gcs-suffix
,--staged-bucket
fromkrel anago push
(#1618, @saschagrunert) - Update
cloud.google.com/go/storage
dependency to v1.12.0 which is the latest available and has the following changes
Dependencies
Added
- cloud.google.com/go/logging: v1.1.0
- github.com/Azure/azure-sdk-for-go: v42.3.0+incompatible
- github.com/Azure/go-autorest/autorest/to: v0.3.0
- github.com/Azure/go-autorest/autorest/validation: v0.2.0
- github.com/GoogleCloudPlat...
v0.4.2
Changes by Kind
Feature
- Added
--validate-images
flag tokrel push
to validate the existence of the remote images (default:false
) (#1582, @saschagrunert) [SIG Release] - Added
krel anago push
subcommand for publishing anago stage and release artifacts. (#1597, @saschagrunert) [SIG Release] - Krel/gcbmgr: add build-at-head flag (#1589, @cpanato) [SIG Release]
- Pkg/release: Add
release.StageLocalArtifacts()
API (#1593, @saschagrunert) [SIG Release]
Bug or Regression
- Fixed
--fast
upload location forkrel push
(#1583, @saschagrunert) [SIG Release] - New package
k8s.io/release/pkg/editor
gets rid of the dependency to the editor package in kubectl. (#1599, @puerco) [SIG Release]
Other (Cleanup or Flake)
- Added
release.BuildDIr
const for referencing the default build directory_output
(#1586, @saschagrunert) [SIG Release] - Fixed broken
update-deps-go
Makefile target (#1601, @saschagrunert) [SIG Release] - Images/k8s-cloud-builder: Update skopeo to v1.2.0 (#1588, @saschagrunert) [SIG Release]
- Implement parallelism ourselves in
github.DownloadReleaseAssets()
instead of using k8s.io/apimachinery (#1598, @puerco) [SIG Release] - Pkg/release: Use semver for release version generation (#1581, @saschagrunert) [SIG Release]
- Removed
--release-type
flag fromkrel push
. Please use--ci
instead. (#1587, @saschagrunert) [SIG Release] - Removed
nomock
option fromkrel push
(#1602, @saschagrunert) [SIG Release] - Removed
prin
andscript-template
from the repository. (#1584, @saschagrunert) [SIG Release] - Update
cloud.google.com/go/storage
dependency to v1.12.0 which is the latest available and has the following changes
Dependencies
Added
Nothing has changed.
Changed
- cloud.google.com/go/storage: v1.11.0 → v1.12.0
- cloud.google.com/go: v0.65.0 → v0.66.0
- github.com/alecthomas/template: fb15b89 → a0175ee
- github.com/alecthomas/units: c3de453 → 2efee85
- github.com/fsnotify/fsnotify: v1.4.9 → v1.4.7
- github.com/go-kit/kit: v0.9.0 → v0.8.0
- github.com/go-logr/logr: v0.2.0 → v0.1.0
- github.com/google/gofuzz: v1.1.0 → v1.0.0
- github.com/google/pprof: 1a94d86 → acf8798
- github.com/json-iterator/go: v1.1.10 → v1.1.7
- github.com/kr/pretty: v0.2.0 → v0.1.0
- github.com/matttproud/golang_protobuf_extensions: c182aff → v1.0.1
- github.com/moby/term: 672ec06 → 7f0af18
- github.com/prometheus/client_golang: v1.7.1 → v1.1.0
- github.com/prometheus/client_model: v0.2.0 → 14fe0d1
- github.com/prometheus/common: v0.10.0 → v0.6.0
- github.com/prometheus/procfs: v0.1.3 → v0.0.3
- github.com/psampaz/go-mod-outdated: v0.6.0 → v0.7.0
- github.com/sendgrid/sendgrid-go: v3.6.3+incompatible → v3.6.4+incompatible
- github.com/sirupsen/logrus: v1.6.0 → v1.7.0
- golang.org/x/net: 62affa3 → 4acb6c0
- golang.org/x/tools: 39188db → d647fc2
- google.golang.org/genproto: 0bd0a95 → 7abf4a1
- google.golang.org/grpc: v1.31.1 → v1.32.0
- k8s.io/klog/v2: v2.2.0 → v2.0.0
Removed
- github.com/Azure/go-autorest/autorest/adal: v0.8.2
- github.com/Azure/go-autorest/autorest/date: v0.2.0
- github.com/Azure/go-autorest/autorest/mocks: v0.3.0
- github.com/Azure/go-autorest/autorest: v0.9.6
- github.com/Azure/go-autorest/logger: v0.1.0
- github.com/Azure/go-autorest/tracing: v0.5.0
- github.com/MakeNowJust/heredoc: bb23615
- github.com/NYTimes/gziphandler: 56545f4
- github.com/PuerkitoBio/purell: v1.1.1
- github.com/PuerkitoBio/urlesc: de5bf2a
- github.com/cespare/xxhash/v2: v2.1.1
- github.com/chai2010/gettext-go: c6fed77
- github.com/daviddengcn/go-colortext: 511bcaf
- github.com/docker/spdystream: 449fdfc
- github.com/docopt/docopt-go: ee0de3b
- github.com/elazarl/goproxy: 947c36d
- github.com/emicklei/go-restful: v2.9.5+incompatible
- github.com/evanphx/json-patch: v4.9.0+incompatible
- github.com/exponent-io/jsonpath: d6023ce
- github.com/fatih/camelcase: v1.0.0
- github.com/go-openapi/jsonpointer: v0.19.3
- github.com/go-openapi/jsonreference: v0.19.3
- github.com/go-openapi/spec: v0.19.3
- github.com/go-openapi/swag: v0.19.5
- github.com/golangplus/bytes: 45c989f
- github.com/golangplus/fmt: 2a5d6d7
- github.com/golangplus/testing: af21d9c
- github.com/googleapis/gnostic: v0.4.1
- github.com/gregjones/httpcache: 9cad4c3
- github.com/liggitt/tabwriter: 89fcab3
- github.com/lithammer/dedent: v1.1.0
- github.com/mailru/easyjson: v0.7.0
- github.com/mitchellh/go-wordwrap: v1.0.0
- github.com/munnerz/goautoneg: a547fc6
- github.com/mxk/go-flowrate: cca7078
- github.com/peterbourgon/diskv: v2.0.1+incompatible
- gopkg.in/inf.v0: v0.9.1
- k8s.io/api: v0.19.2
- k8s.io/apimachinery: v0.19.2
- k8s.io/cli-runtime: v0.19.2
- k8s.io/client-go: v0.19.2
- k8s.io/code-generator: v0.19.2
- k8s.io/component-base: v0.19.2
- k8s.io/gengo: 8167cfd
- k8s.io/kube-openapi: 6aeccd4
- k8s.io/kubectl: v0.19.2
- k8s.io/metrics: v0.19.2
- sigs.k8s.io/kustomize: v2.0.3+incompatible
- sigs.k8s.io/structured-merge-diff/v4: v4.0.1
v0.4.1
Changes by Kind
API Change
- Add new function
git.ParseRepoSlug()
- Fix a bug where the draft pull request was not created when the release-notes subdirs did not exist
- New
krel release-notes
flag--fork
that replaces--org
,--draft-repo
and--website-repo
. (#1543, @puerco) [SIG Release] - Changed
anago
's--buildversion
flag to be required (#1489, @saschagrunert) [SIG Release] - Changed
release-notes
--github-[org,repo]
flags to be just--org
and--repo
(#1495, @saschagrunert) [SIG Release] - Removed
release-notes
--release-version
option since it has only being used for the JSON blob in the website (#1520, @saschagrunert) [SIG Release]
Feature
-
Add configurable timeout to test-go.sh with a new
-t|--timeout
flag (#1558, @puerco) [SIG Release] -
Add release.ReadReleaseImageTags() function to read image tags from generated tar files
Add release.GetTarManifest() function to read themanifest.json
file in an image
Addrelease.GetOCIManifest()
function which return the image manifest in an OCI Image manifest (#1486, @puerco) [SIG Release] -
Added
--fast
flag tokrel push
(#1575, @saschagrunert) [SIG Release] -
Added
NewImages().Publish()
API torelease
package. (#1568, @saschagrunert) [SIG Release] -
Added
krel set-release-version
command to be used from anago (#1522, @saschagrunert) [SIG Release] -
Added
release.CopyBinaries
to copy built Kubernetes binaries into the pre-defined target directories (#1538, @saschagrunert) [SIG Release] -
Added
release.WriteChecksums()
API for writing release checksums (mainly used bykrel push
) (#1562, @saschagrunert) [SIG Release] -
Added
util.WrapText()
which allows to word wrap text to a specified line size -
Improvements to
util.Ask()
to recognize more choices, invalid expected answers and a default value. (#1454, @puerco) [SIG Release] -
Added automatic skip for dependency report if
release-notes
start and end SHA are the same. (#1507, @saschagrunert) [SIG Release] -
Bootstrap docker buildx usage for multiarch containers (#1511, @justaugustus) [SIG Release]
-
Deps: Update repo-infra to v0.1.1
-
deps: Add dependency versions check via zeitgeist (#1561, @justaugustus) [SIG Release]
-
Go.mod: Update to go1.15 directives
-
deps: Move tools to its own module
-
deps: Update all dependencies (#1553, @justaugustus) [SIG Release]
-
Images: Build debian-base:v1.2.0
New Debian images are available upstream, so this is just a periodic
image update. (#1537, @justaugustus) [SIG Release] -
Images: Build debian-hyperbase-base:buster-v1.2.0
-
Uses debian-iptables:buster-v1.3.0 (#1542, @justaugustus) [SIG Release]
-
Images: Build debian-iptables:buster-v1.3.0
-
Uses debian-base:buster-v1.2.0
-
Updates iptables to 1.8.5 (#1540, @justaugustus) [SIG Release]
-
Images: Build go-runner:buster-v2.0.0 using go1.15
-
images/go-runner: Allow PLATFORMS to be configurable
-
images/go-runner: Echo platform value before starting build
-
images/go-runner: Use multiarch/qemu-user-static
-
images/go-runner: Allow fallback to 'direct' for GOPROXY (#1499, @justaugustus) [SIG Release]
-
Images: Build go1.15.1 images (kube-cross, go-runner)
-
kube-cross:v1.15.1-1
- etcd updated to v3.4.13
-
go-runner:buster-v2.0.1
-
kube-cross: Remove variant building for go1.13 (which is out of support)
-
kube-cross: Remove variant building for go1.14 (which is unused in k/k) (#1514, @justaugustus) [SIG Release]
-
Images: Build k8s-cloud-builder:v1.15.1-1
-
Update to go1.15.1
-
Update skopeo to v1.1.1 (#1516, @justaugustus) [SIG Release]
-
Images: Build k8s-cloud-builder:v1.15.2-1
-
Uses kube-cross:v1.15.2-1 (#1550, @justaugustus) [SIG Release]
-
Images: Build kube-cross v1.15.2-1 and v1.15.2-canary-1
-
images: Build go-runner:buster-v2.0.2 (using go1.15.2) (#1533, @justaugustus) [SIG Release]
-
Images: Migrate go-runner image building to k/release
-
images/go-runner: Enable variant building
-
images/go-runner: Add 'buster' variant
-
images/go-runner: Allow configurable go versions and use go1.13.15
-
images/go-runner: Fixup go module and build files (#1498, @justaugustus) [SIG Release]
-
Images: Update env to k8s-testimages/gcb-docker-gcloud:v20200824-5d057db
-
kube-cross: Enable building via docker buildx
Use go-runner Makefile pattern for multi-arch
-
images: Use shell for loops to "simplify" platform building/pushing
-
images: Standardize Makefiles for build images
Here we create a few "common" Makefiles for image building:
-
images/Makefile.common-image
-
images/build/Makefile.build-image
Makefile.common-image takes the targets from the go-runner Makefile and
makes them reusable for both go-runner and kube-cross.Makefile.build-image is intended to contain information specific to
images that will be built in the k8s-staging-build-image GCP project.
Right now, it only contains the target Google Container Registry.images/build/{go-runner,kube-cross}/Makefile now only contains variables
specific to the image and includes the aforementioned "common" Makefiles
via the 'include' directive.(This is borrowed from how k-sigs/kind handles their image building.)
-
-
go-runner: Drop extraneous pre-build step in Dockerfile
This seems like it might be causing build failures on s390x.
-
images: Fix image manifests annotating 'os/arch' instead of 'arch'
Use make functions for string substitution instead of sed.
Frankly, the sed was hard for me for comprehend.For amending manifests to the final manifest list, we were previously
pushing images with the full platform name:e.g., "linux/amd64" (OS/architecture) instead of "amd64" (just arch)
This commit properly strips the OS during manifest list creation.
(The same issue was fixed for image tags in a previous commit.) (#1418, @justaugustus) [SIG Release]
-
Images: Use OS codenames to construct clearer versions for Debian images (#1496, @justaugustus) [SIG Release]
-
K8s-cloud-builder: Build on kube-cross:v1.15.0-1 (#1490, @justaugustus) [SIG Release]
-
Krel/announcement: Add krel command to build the Kubernetes announcement file (#1502, @cpanato) [SIG Release]
-
Kube-cross: Build v1.15.0-1 image (#1487, @justaugustus) [SIG Release]
-
New
krel promote-images
subcommand to create the image promotion pull requests -
API to read and write image lists in an image promoter thin-manifest (#1544, @puerco) [SIG Release]
-
Packages: Update to CNI plugins v0.8.7
-
images: Build debian-hyperkube-base:buster-v1.1.4
- Update CNI plugins to v0.8.7 (#1515, @justaugustus) [SIG Release]
-
Release Notes Editing Flow. Adds the
--fix
flag to the krel release-notes subcommand to enable the team to edit the release notes during the release cycle. It also adds logic to handle editing sessions and pushing the modified Draft back to k/sig-release (#1467, @puerco) [SIG Release]
Documentation
- Update repo...
v0.4.0
Changes by Kind
API Change
- Changed
notes.ReleaseNotes
to be a wrapper struct which now contains the notes by PR and the history.
Necessary API fields to retrieve and set the notes have been added as well, likenotes.NewReleaseNotes()
. (#1423, @saschagrunert) - New standaolne functions
git.GetUserName()
andgit.GetUserEmail()
(#1453, @puerco) - Removed
--build-at-head
flag from anago (#1394, @saschagrunert)
Feature
- Add record/replay functionality to
github.GetReleaseByTag
(#1377, @saschagrunert) - Added
Commands
structure which can be used to run multiple commands sequentially by preserving
the working directory and verbosity mode. The structure can be used by calling the
Add(cmd string, args string...)
method ofCommand
orCommands
.
CallingRun()
onCommands
will run each command in sequence by aborting if the first command fails. (#1391, @saschagrunert) - Added
Signed-off-by: User Name <[email protected]>
line togit.UserCommit()
(#1436, @saschagrunert) - Added
command.SetGlobalVerbose(bool)
andcommand.GetGlobalVerbose() bool
functions to
globally set the commands verbosity mode - Changed commands to be automatically verbose when the specified
log-level=[debug,trace]
(#1393, @saschagrunert) - Added
command.Verbose()
method which enables verbose output (printing the command before execution) for the command invocation (#1390, @saschagrunert) - Added
gcp.GSUtil()
function to run GCP commands - Added
release.GetJobCache()
method to retrieve the job cache for a job name (#1308, @saschagrunert) - Added
release.BuildVersionClient
and the corresponding APIBuildVersionClient.SetBuildVersion
which searches for a
successful build version in the CI. (#1395, @saschagrunert) - Added
release.SetReleaseVersion()
API method (#1397, @saschagrunert) - Anago: set the Golang version used to build the release when creating the announcement (#1451, @cpanato)
- Base-images: Build debian-hyperkube-base:v1.1.3 (#1483, @justaugustus)
- Base-images: Build [email protected] (#1458, @justaugustus)
- Base-images: Build [email protected] (#1456, @justaugustus)
- Changed
release-notes
--format
flag to only supportmarkdown
andjson
.
Added a newrelease-notes
flag--go-template
which can be used to specify
the golang template when--format=markdown
. (#1419, @saschagrunert) - Gh2gcs: add yaml config option (#1380, @cpanato)
- Hack: Add k8s-rapture.sh for publishing debs and rpms to Google-owned infra (#1378, @listx)
- Images/build/debian-**: Enable variant building
- base-images: Build [email protected] (#1476, @justaugustus)
- Images: Build debian-base:v2.1.3
- images: Build debian-iptables:v11.1.0 (#1478, @justaugustus)
- Images: Build debian-iptables:v12.1.2 (#1480, @justaugustus)
- Images: Migrate Debian base image building to k/release
- third_party: Add multiarch/qemu-user-static@22b0013
- [VDF] Reference k8s.gcr.io instead of us.gcr.io/k8s-artifacts-prod
- base-images: Build [email protected] (#1450, @justaugustus)
- Increased release notes parsing logging verbosity.
It now displays which PRs contain release notes for which commit. (#1409, @saschagrunert) - K8s-cloud-builder: Build on kube-cross:v1.14.5-1 and v1.13.13-1 (#1407, @justaugustus)
- K8s-cloud-builder: Build on kube-cross:v1.14.6-1 and v1.13.14-1 (#1417, @justaugustus)
- K8s-cloud-builder: Build on kube-cross:v1.14.7-1 and v1.13.15-1 (#1475, @justaugustus)
- K8s-cloud-builder: Build on kube-cross:v1.15.0-rc.1-1 and add canary (#1439, @justaugustus)
- K8s-cloud-builder: Build on kube-cross:v1.15.0-rc.2-1 (#1484, @justaugustus)
- Krel: add generate subcommand to build the metrics for the gh issue (#1369, @cpanato)
- Kube-cross: Build v1.13.14-1 and v1.15.0-beta.1-canary-1 images (#1415, @justaugustus)
- Kube-cross: Build v1.14.5-1 and v1.13.13-1 images (#1406, @justaugustus)
- Kube-cross: Build v1.14.6-1 (#1411, @mkumatag)
- Kube-cross: Build v1.14.7-1 and v1.13.15-1 images (#1473, @justaugustus)
- Kube-cross: Build v1.15.0-beta.1-1 image (#1420, @justaugustus)
- Kube-cross: Build v1.15.0-rc.1-1 image (#1437, @justaugustus)
- Kube-cross: Build v1.15.0-rc.2-1 image (#1482, @justaugustus)
- Make
hack/verify-shellcheck.sh
work with docker-compatible container runtimes, for example
by settingCONTAINER_RUNTIME=podman hack/verify-shellcheck.sh
(#1351, @saschagrunert) - New capability in release notes pkg to read map files which can modify release notes data and add new, arbitrary fields.
- Function
ApplyMap()
was added toReleasNote
type to enable it to get a map and modify itself - New interface
MapProvider
which gets release notes map files - New flag in
krel release-notes
to enable map providers:--maps-from
(#1373, @puerco) - Push-build: Support pushing cross builds to a /cross subdirectory (#1386, @justaugustus)
- Push-build: Support uploading multiple version markers (#1385, @justaugustus) [SIG Release and Testing]
Documentation
- Gcbmgr: add releases numbers tags to the cloudbuild (#1388, @cpanato)
- Improved the help output for
release-notes --format
option (#1412, @saschagrunert)
Failing Test
- Fixed kubepkg deb builds (#1379, @saschagrunert)
- Kubepkg: Use the cross build version marker (ci/k8s-master) for packages (#1383, @justaugustus)
Bug or Regression
- Anago: Push images during staging and validate manifests during release
- lib/release: Cleanup container registry variables
- Use GCRIO_PATH_PROD to construct KUBE_CROSS_REGISTRY
- Rename GCRIO_PATH_TEST to GCRIO_PATH_STAGING
- Add GCRIO_PATH_MOCK (gcr.io/k8s-staging-kubernetes/mock) for mocks
- lib/release: Use a mock location for images when running mock stages (#1455, @justaugustus)
- Changelog: remove changelog files from other releases when we cut the first official release (#1416, @cpanato)
- Fixed bug on error population for
krel release-notes
if the website PR draft fails. ([#1413](https://github.com/kubernetes/releas...
v0.3.4
Changes by Kind
Feature
- gh2gcs: Download release assets in parallel (#1344, @cpanato)
- k8s-cloud-builder: Build cross1.14 variant on kube-cross:v1.14.4-1 (#1346, @justaugustus)
- k8s-cloud-builder: Build cross1.14 variant on kube-cross:v1.14.4-2 (#1374, @justaugustus)
- kube-cross: Build v1.14.4-1 image (#1339, @justaugustus)
- kube-cross: Build v1.14.4-2 and v1.13.12-2 images (#1372, @justaugustus)
- kube-cross: Update to go1.13.12 (#1347, @Verolop)
Documentation
- Update
krel release-notes
documentation to reflect ui changes introduced in the last code clean up. (#1356, @puerco)
Bug or Regression
- packages/deb: Use go modules instead of vendor in build Dockerfile (#1359, @justaugustus)
- packages: Reintroduce kubernetes-cni package at v0.8.6 (#1375, @justaugustus)
Other (Cleanup or Flake)
- Function
BranchExists()
has been ported to the github package. - The
addReferenceToAssetsFile()
function idempotent to enable re-generation of json files - The GitHub organization flag to create PRs is now simply
--org
- The
--website-org
and--draft-org
have been removed - Fork checking is now done in an independent block which can be called independently
--create-draft-pr
and--create-website-pr
can now be run at the same time- Running krel release-notes without any option now shows usage info and exits (#1350, @puerco)
- Schedule-builder: add unit tests (#1349, @cpanato)
- Update
github.com/go-git/go-git
dependency to v5.1.0 - Update
github.com/sendgrid/rest
dependency to v2.6.0 - Update
github.com/sendgrid/sendgrid-go
dependency to v3.6.0 - Update
github.com/stretchr/testify
dependency to v1.6.1 - Update
github.com/yuin/goldmark
dependency to v1.1.32 - Update
github.com/bazelbuild/rules_go
dependency to v0.23.3 - Update
golang.org/x/net
dependency to v0.0.0-20200602114024-627f9648deb9 (#1357, @cpanato)
Dependencies
Added
- github.com/NYTimes/gziphandler: 56545f4
- github.com/PuerkitoBio/purell: v1.0.0
- github.com/PuerkitoBio/urlesc: 5bd2802
- github.com/docker/spdystream: 449fdfc
- github.com/elazarl/goproxy: 947c36d
- github.com/emicklei/go-restful: ff4f55a
- github.com/evanphx/json-patch: v4.2.0+incompatible
- github.com/go-logr/logr: v0.1.0
- github.com/go-openapi/jsonpointer: 46af16f
- github.com/go-openapi/jsonreference: 13c6e35
- github.com/go-openapi/spec: 6aced65
- github.com/go-openapi/swag: 1d0bd11
- github.com/google/gofuzz: v1.1.0
- github.com/googleapis/gnostic: v0.1.0
- github.com/imdario/mergo: v0.3.9
- github.com/json-iterator/go: v1.1.8
- github.com/mailru/easyjson: d5b7844
- github.com/modern-go/concurrent: bacd9c7
- github.com/modern-go/reflect2: v1.0.1
- github.com/munnerz/goautoneg: a547fc6
- github.com/mxk/go-flowrate: cca7078
- gopkg.in/inf.v0: v0.9.1
- gopkg.in/yaml.v3: 9f266ea
- k8s.io/apimachinery: v0.18.3
- k8s.io/gengo: 0689ccc
- k8s.io/kube-openapi: 61e04a5
- sigs.k8s.io/structured-merge-diff/v3: v3.0.0
Changed
- github.com/bazelbuild/rules_go: v0.23.1 → v0.23.3
- github.com/go-git/go-git/v5: v5.0.0 → v5.1.0
- github.com/gogo/protobuf: v1.2.1 → v1.3.1
- github.com/kisielk/errcheck: v1.1.0 → v1.2.0
- github.com/sendgrid/rest: v2.4.1+incompatible → v2.6.0+incompatible
- github.com/sendgrid/sendgrid-go: v3.5.0+incompatible → v3.6.0+incompatible
- github.com/stretchr/testify: v1.5.1 → v1.6.1
- github.com/yuin/goldmark: v1.1.30 → v1.1.32
- golang.org/x/net: 244492d → 627f964
- golang.org/x/sys: 5c8b2ff → 85ca7c5
- k8s.io/klog: v0.3.0 → v1.0.0
Removed
Nothing has changed.
v0.3.3
Changes by Kind
Deprecation
- Removed
krel patch-announce
in favor of the more generalkrel announce
subcommand (#1315, @saschagrunert) [SIG Release]
API Change
- Added
mail.NewSender(apiKey string)
API function for mail client creation (#1319, @saschagrunert) [SIG Release] - Changed
anago
to always expect to be run inside GCB.
This means local runs ofanago
are not possible any more.
The flag--gcb
does not exist any more and is enforced insideanago
viaexport FLAGS_gcb=1
(#1326, @saschagrunert) [SIG Release]
Feature
- Add
github.ListBranches()
to the package and clients to list the branches of a GitHub repository . - When creating pull requests, verify that branches do not exist before pushing new revisions of the release notes draft or patches to the website. (#1310, @puerco) [SIG Release]
- Added
krel announce
subcommand which can be used to announce any release to the[email protected]
mailing list (#1173, @saschagrunert) [SIG Release] - Added
krel announe
--print-only,-p
flag to print the email content without sending the mail (#1318, @saschagrunert) [SIG Release] - Adds schedule parser to generate markdown text based on the machine-readable format (#1313, @cpanato) [SIG Release]
- Automate the creation of pull requests to update the release notes draft in
kubernetes/sig-release
- Automate the creation of pull requests in
kubernetes-sigs/release-notes
to update relnotes.k8s.io (#1304, @puerco) [SIG Release] - Automatically infer the
krel announce
default sender address and name from sendgrid if the flags (--email,-e
and--name,-n
) are not set (#1316, @saschagrunert) [SIG Release] - gh2gcs: Add go-based CLI for uploading GH releases to GCS (#1311, @justaugustus) [SIG Network, Node and Release]
- gh2gcs: add download only option (#1337, @cpanato) [SIG Release]
- kubepkg: Bundle CNI plugins (v0.8.6) in kubelet deb/rpm packages (#1330, @justaugustus) [SIG Network and Release]
Documentation
- Change release-notes/README.md to correctly state that the default value of
--dependencies
istrue
(#1305, @saschagrunert) [SIG Release] - gh2gcs: add initial documentation (#1338, @cpanato) [SIG Release]
Bug or Regression
- Fixed
release-notes
table of contents to also contain dependency report if available (#1341, @saschagrunert) [SIG Release] - Fixed invalid previous tag selection on
krel changelog
for beta releases > 0 (#1334, @saschagrunert) [SIG Release] - Fixed not working
kubepkg
flag parsing (#1332, @saschagrunert) [SIG Release] - gh2gcs: clean temporary folder if output-dir is not set (#1324, @cpanato) [SIG Release]
- kubepkg: Allow processing multiple arches, channels, and packages via flag (#1329, @justaugustus) [SIG Release]
- Modified the release notes and changelog templates to fix rendering problems in headings, itemized lists and multiline comments.
Fixed a bug wherekrel release-notes
produced json output when invoked with--format=markdown
(#1306, @puerco) [SIG Release]
Other (Cleanup or Flake)
- Improve the algorithm used to determine the startTag and branch when generating the JSON version of the release notes for a specific tag
- Fix a small bug in the git pkg where
git.PreviousTag()
would return an incorrect tag when passing a non existing tag (#1307, @puerco) [SIG Release] - krel/announce: remove --sendgrid-api-key flag in favor to env var only (#1335, @cpanato) [SIG Release]
- kubepkg: Use k8s-artifacts-cri-tools GCS bucket as source for CRI tools (#1321, @justaugustus) [SIG Release]
- packages: Forward-port Build Admin scripts to master branch (#1342, @justaugustus) [SIG Release]
- Removed
release-notify
bash script in favor ofkrel announce
(#1323, @saschagrunert) [SIG Release] - Update github.com/bazelbuild/rules_go dependency to v0.23.1
- Update k8s.io/utils dependency to v0.0.0-20200414100711-2df71ebbae66 (#1301, @cpanato) [SIG Release]
Dependencies
Added
Nothing has changed.
Changed
- github.com/bazelbuild/rules_go: v0.22.1 → v0.23.1
- github.com/mattn/go-runewidth: v0.0.7 → v0.0.9
- github.com/maxbrunsfeld/counterfeiter/v6: v6.2.2 → v6.2.3
- github.com/psampaz/go-mod-outdated: v0.5.0 → v0.6.0
- github.com/sclevine/spec: v1.2.0 → v1.4.0
- github.com/spf13/cobra: v0.0.7 → v1.0.0
- github.com/yuin/goldmark: v1.1.27 → v1.1.30
- golang.org/x/tools: 9497f49 → 066e0c0
Removed
Nothing has changed.