release

Release infrastructure for Kubernetes and related components

APACHE-2.0 License

Stars
473
Committers
189

Bot releases are visible (Hide)

release - v0.4.2

Published by saschagrunert about 4 years ago

Changes by Kind

Feature

  • Added --validate-images flag to krel 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 for krel 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.BuildDIrconst 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 from krel push. Please use --ci instead. (#1587, @saschagrunert) [SIG Release]
  • Removed nomock option from krel push (#1602, @saschagrunert) [SIG Release]
  • Removed prin and script-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
    • Update golang.org/x/net dependency to v0.0.0-20200925080053-05aa5d4ee321 (#1590, @cpanato) [SIG Release]

Dependencies

Added

Nothing has changed.

Changed

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
release - v0.4.1

Published by justaugustus about 4 years ago

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 the manifest.json file in an image
    Add release.GetOCIManifest() function which return the image manifest in an OCI Image manifest (#1486, @puerco) [SIG Release]

  • Added --fast flag to krel push (#1575, @saschagrunert) [SIG Release]

  • Added NewImages().Publish() API to release 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 by krel 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

  • 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 repository documentation to not mention bazel any more (#1564, @saschagrunert) [SIG Release]

Bug or Regression

  • Debian-iptables: Install ebtables from buster-backports

    Resolves the build failure in which we've requested an impossible package
    dependency resolution:

    The following packages have unmet dependencies:
    netbase : Breaks: ebtables (< 2.0.11-2) but 2.0.10.4+snapshot20181205-3
    is to be installed
    E: Error, pkgProblemResolver::Resolve generated breaks, this may be
    caused by held packages.

    ebtables:
    Installed: (none)
    Candidate: 2.0.10.4+snapshot20181205-3
    Version table:
    2.0.11-4~bpo10+1 100
    100 http://deb.debian.org/debian buster-backports/main amd64
    Packages
    2.0.10.4+snapshot20181205-3 500
    500 http://deb.debian.org/debian buster/main amd64 Packages

  • images: Add image name tags to image-building GCB configs

    Now that we're producing images on a regular basis, this will be helpful
    to surface details about which GCB jobs are related to which images.

    Signed-off-by: Stephen Augustus [email protected] (#1541, @justaugustus) [SIG Release]

  • Fixed golang dependency generation for new minor releases. (#1505, @saschagrunert) [SIG Release]

  • Fixed notes exclude regular expression which caused to skip release-notes too early. (#1508, @saschagrunert) [SIG Release]

  • Schedule-builder: fix bug when path release is next and are in the previous patch list (#1519, @cpanato) [SIG Release]

Other (Cleanup or Flake)

Dependencies

Added

  • cloud.google.com/go/bigquery: v1.8.0
  • cloud.google.com/go/pubsub: v1.3.1
  • cloud.google.com/go/storage: v1.11.0
  • dmitri.shuralyov.com/gpu/mtl: 666a987
  • github.com/14rcole/gopopulate: b175b21
  • github.com/Azure/go-ansiterm: d6e3b33
  • 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/Microsoft/go-winio: fc70bd9
  • github.com/Microsoft/hcsshim: v0.8.9
  • github.com/VividCortex/ewma: v1.1.1
  • github.com/acarl005/stripansi: 5a71ef0
  • github.com/bombsimon/wsl/v3: v3.0.0
  • github.com/cespare/xxhash/v2: v2.1.1
  • github.com/chai2010/gettext-go: c6fed77
  • github.com/checkpoint-restore/go-criu/v4: v4.0.2
  • github.com/chzyer/logex: v1.1.10
  • github.com/chzyer/readline: 2972be2
  • github.com/chzyer/test: a1ea475
  • github.com/cilium/ebpf: a9f01ed
  • github.com/cncf/udpa/go: 269d4d4
  • github.com/containerd/cgroups: bf292b2
  • github.com/containerd/console: v1.0.0
  • github.com/containerd/containerd: v1.3.2
  • github.com/containerd/continuity: aaeac12
  • github.com/containerd/fifo: a9fb20d
  • github.com/containerd/go-runc: 5a6d9f3
  • github.com/containerd/ttrpc: 0e0f228
  • github.com/containerd/typeurl: a93fcdb
  • github.com/containers/image/v5: v5.6.0
  • github.com/containers/libtrust: 14b9617
  • github.com/containers/ocicrypt: v1.0.3
  • github.com/containers/storage: v1.23.5
  • github.com/coreos/go-systemd/v22: v22.0.0
  • github.com/cyphar/filepath-securejoin: v0.2.2
  • github.com/daviddengcn/go-colortext: 511bcaf
  • github.com/docker/distribution: v2.7.1+incompatible
  • github.com/docker/docker-credential-helpers: v0.6.3
  • github.com/docker/docker: a9416c6
  • github.com/docker/go-connections: v0.4.0
  • github.com/docker/go-metrics: v0.0.1
  • github.com/docker/go-units: v0.4.0
  • github.com/docker/libtrust: aabc10e
  • github.com/docopt/docopt-go: ee0de3b
  • github.com/exponent-io/jsonpath: d6023ce
  • github.com/fatih/camelcase: v1.0.0
  • github.com/fvbommel/sortorder: v1.0.1
  • github.com/go-gl/glfw/v3.3/glfw: 6f7a984
  • github.com/go-gl/glfw: e6da0ac
  • github.com/go-xmlfmt/xmlfmt: d5b6f63
  • github.com/godbus/dbus/v5: v5.0.3
  • github.com/godbus/dbus: ade71ed
  • github.com/golangplus/bytes: 45c989f
  • github.com/golangplus/fmt: 2a5d6d7
  • github.com/golangplus/testing: af21d9c
  • github.com/google/martian/v3: v3.0.0
  • github.com/gorilla/mux: v1.7.4
  • github.com/gregjones/httpcache: 9cad4c3
  • github.com/ianlancetaylor/demangle: 5e5cf60
  • github.com/klauspost/pgzip: v1.2.5
  • github.com/liggitt/tabwriter: 89fcab3
  • github.com/lithammer/dedent: v1.1.0
  • github.com/maratori/testpackage: v1.0.1
  • github.com/mattn/go-shellwords: v1.0.10
  • github.com/mistifyio/go-zfs: v2.1.1+incompatible
  • github.com/mitchellh/go-wordwrap: v1.0.0
  • github.com/moby/sys/mountinfo: v0.1.3
  • github.com/moby/term: 672ec06
  • github.com/morikuni/aec: v1.0.0
  • github.com/mrunalp/fileutils: 7d4729f
  • github.com/mtrmac/gpgme: v0.1.2
  • github.com/nakabonne/nestif: v0.3.0
  • github.com/opencontainers/go-digest: v1.0.0
  • github.com/opencontainers/image-spec: 775207b
  • github.com/opencontainers/runc: v1.0.0-rc91
  • github.com/opencontainers/runtime-spec: 237cc4f
  • github.com/opencontainers/selinux: v1.6.0
  • github.com/ostreedev/ostree-go: 759a8c1
  • github.com/peterbourgon/diskv: v2.0.1+incompatible
  • github.com/phayes/checkstyle: bfd46e6
  • github.com/pquerna/ffjson: dac163c
  • github.com/ryancurrah/gomodguard: v1.0.2
  • github.com/seccomp/libseccomp-golang: v0.9.1
  • github.com/syndtr/gocapability: d983527
  • github.com/tchap/go-patricia: v2.3.0+incompatible
  • github.com/tetafro/godot: v0.2.5
  • github.com/ulikunitz/xz: v0.5.8
  • github.com/urfave/cli: v1.22.1
  • github.com/vbatts/tar-split: v0.11.1
  • github.com/vbauerster/mpb/v5: v5.3.0
  • github.com/vishvananda/netlink: v1.1.0
  • github.com/vishvananda/netns: 0a2b9b5
  • github.com/willf/bitset: d5bec33
  • github.com/xeipuuv/gojsonpointer: df4f5c8
  • github.com/xeipuuv/gojsonreference: bd5ef7b
  • github.com/xeipuuv/gojsonschema: v1.2.0
  • go.mozilla.org/pkcs7: 432b235
  • google.golang.org/protobuf: v1.25.0
  • gopkg.in/square/go-jose.v2: v2.3.1
  • gotest.tools/v3: v3.0.2
  • gotest.tools: v2.2.0+incompatible
  • k8s.io/api: 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/klog/v2: v2.2.0
  • k8s.io/kubectl: v0.19.2
  • k8s.io/metrics: v0.19.2
  • rsc.io/quote/v3: v3.1.0
  • rsc.io/sampler: v1.3.0
  • sigs.k8s.io/kustomize: v2.0.3+incompatible
  • sigs.k8s.io/structured-merge-diff/v4: v4.0.1

Changed

Removed

  • sigs.k8s.io/structured-merge-diff/v3: v3.0.0
release - v0.4.0

Published by justaugustus about 4 years ago

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, like notes.NewReleaseNotes(). (#1423, @saschagrunert)
  • New standaolne functions git.GetUserName() and git.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 of Command or Commands.
    Calling Run() on Commands will run each command in sequence by aborting if the first command fails. (#1391, @saschagrunert)
  • Added Signed-off-by: User Name <[email protected]> line to git.UserCommit() (#1436, @saschagrunert)
  • Added command.SetGlobalVerbose(bool) and command.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 API BuildVersionClient.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 support markdown and json.
    Added a new release-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 setting CONTAINER_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 to ReleasNote 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

Failing Test

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, @saschagrunert)
  • Fixed rootless docker/podman execution for kube-cross container image (#1404, @saschagrunert)
  • Fixed segmentation fault when running piped verbose commands (#1485, @saschagrunert)
  • Gh2gcs: when copying the package to cloud storage use the tag to set the path in the destination (#1470, @cpanato)
  • Krel/ff: dont restore the branch if the cleanup flag is set (#1405, @cpanato)
  • Lib/release: Ensure production images have been promoted in validation (#1457, @justaugustus)
  • Lib/release: Remove GCRIO_PATH_PROD_PUSH logic (#1424, @justaugustus)
  • Make sure go template file exists early to avoid running the gathering process with a faulty template (#1422, @puerco)
  • Packages: Reintroduce kubernetes-cni package at v0.8.6 (#1375, @justaugustus)
  • Push-build: Fix directory listing for fast builds (#1444, @justaugustus) [SIG Release and Testing]
  • Push-build: Log extra version markers when publishing release (#1471, @hasheddan)
  • Push-build: Prevent cross build and amd64 version marker collisions (#1387, @justaugustus)
  • Push-build: Support pushing fast builds to a /fast subdirectory (#1389, @justaugustus)

Other (Cleanup or Flake)

Dependencies

Added

Nothing has changed.

Changed

Nothing has changed.

Removed

Nothing has changed.

release - v0.3.4

Published by justaugustus over 4 years ago

Changes by Kind

Feature

Documentation

Bug or Regression

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

Removed

Nothing has changed.

release - v0.3.3

Published by justaugustus over 4 years ago

Changes by Kind

Deprecation

  • Removed krel patch-announce in favor of the more general krel 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 of anago are not possible any more.
    The flag --gcb does not exist any more and is enforced inside anago via export 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

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 where krel 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 of krel 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

Removed

Nothing has changed.

release - v0.1.5

Published by justaugustus over 4 years ago

Changes by Kind

Deprecation

  • Bundle CNI plugins (v0.8.6) in kubelet deb/rpm packages (#1309, @justaugustus) [SIG Network and Release]

Bug or Regression

  • Systemd would now start the kubelet service after the network-online.target is reached. (#1250, @justaugustus) [SIG Node and Release]

Other (Cleanup or Flake)

  • Use k8s-artifacts-cri-tools GCS bucket as source for CRI tools (#1322, @justaugustus) [SIG Release]
release - v0.3.2

Published by justaugustus over 4 years ago

Changes by Kind

API Change

  • Added kubepkg.Client struct type to allow better encapsulation (has to be created via kubepkg.New()) (#1282, @saschagrunert)
  • Added dedicated options package for configuring kubepkg (#1285, @saschagrunert)
  • Added new anago flag --type=[alpha|beta|rc|official] which deprecates the --official and --rc flags
  • Changed the krel gcbmgr --type flag to now accept alpha, beta, rc and official as well (#1286, @saschagrunert)
  • Switched to go-git/v5 dependency which makes manual import path adaption required (#1283, @saschagrunert)

Feature

  • Add DependencyChanges() function to the notes package to be able to collect Kubernetes dependency changes (#1253, @saschagrunert)
  • Add --dependencies option to krel release-notes (default: true) (#1298, @saschagrunert)
  • Add RepoIsForkOf() to check repository inheritance.
  • Add GetRepository() functions in all clients to get repository data from the GitHub API. (#1287, @puerco)
  • Added --dependencies flag to release-notes tool to add a dependency report (#1292, @saschagrunert)
  • Added git.IsDirty() method to verify the state of a local repository
  • krel gcbmgr now verifies that the local copy of k/release is neither dirty nor diverged with the latest remote commit (#1284, @saschagrunert)
  • Added dependency report to generated CHANGELOG.{md,html} when running krel changelog (#1291, @saschagrunert)
  • Added flag validation for anago --type, which must be either alpha, beta, rc or official. (#1289, @saschagrunert)
  • K8s-cloud-builder: Build cross1.14 variant on kube-cross:v1.14.3-1 (#1299, @justaugustus)
  • kube-cross: Build v1.14.3-1 image (#1294, @justaugustus)

Bug or Regression

  • Changed git.OpenRepo to now correctly choose the path when prefixed with ~/ (#1297, @saschagrunert)
  • lib/release: Fix version label logic for release cuts
  • Move branch creation to RC cuts
  • Enable beta cuts on master
  • Disallow alpha releases after a beta has been cut (#1288, @justaugustus)
  • [krel] gcbmgr: Add validation method for GcbmgrOptions (#1293, @justaugustus)

Dependencies

Added

  • github.com/saschagrunert/ccli: b68f755
  • github.com/saschagrunert/go-modiff: v1.2.0
  • github.com/urfave/cli/v2: v2.2.0

Changed

Removed

Nothing has changed.

release - v0.3.1

Published by justaugustus over 4 years ago

Changes by Kind

API Change

  • Added --format go-template:inline:<template-string> options to release-notes tool
  • Removed deprecated FormatSpecMarkdown from options package (#1271, @saschagrunert) [SIG Release]
  • Added document.GatherReleaseNotesDocument and notes.GatherReleaseNotes API
  • Changed document.CreateDocument to document.New which now needs a start and end tag for later rendering as well (#1272, @saschagrunert) [SIG Release]
  • Removed deprecated document.RenderMarkdown function (#1274, @saschagrunert) [SIG Release]

Feature

  • Add CreatePullRequest() to the github package (#1268, @puerco) [SIG Release]
  • Added MatchesExcludeFilter and MatchesIncludeFilter public functions to notes package (#1270, @saschagrunert) [SIG Release]
  • k8s-cloud-builder: Build images on kube-cross v1.14.2-4 and v1.13.9-5 (#1280, @justaugustus) [SIG Release]
  • [krel] anago: Initial commit (#1106, @justaugustus) [SIG Release]
  • images/k8s-cloud-builder: Support building against multiple kube-cross versions in parallel
  • kube-cross: Build v1.14.2-4 and v1.13.9-5 images (#1279, @justaugustus) [SIG Release]

Bug or Regression

  • Fixed krel changelog start revision retrieval issue (#1276) (#1277, @saschagrunert) [SIG Release]
  • pkg/gcp: Swap GCloudExecutable and TarExecutable const values
  • anago: Add '--branch' to krel gcbmgr command tip (#1275, @justaugustus) [SIG Release]

Dependencies

  • Dependencies/logrus: update logrus to v1.6.0 (#1236, @cpanato) [SIG Release]
release - v0.3.0

Published by justaugustus over 4 years ago

Changes by Kind

Deprecation

API Change

  • Removed git.DescribeTag and git.GetTag in favor of the new method git.Describe().
    This method takes the new type git.DescribeOptions to ensure enough flexibility for the future. (#1220, @saschagrunert) [SIG Release]
  • The functions GetRepoURL, GetKubernetesRepoURL, and GetDefaultKubernetesRepoURL
    of the git package are not able to error any more and return only the resulting string. (#1213, @saschagrunert) [SIG Release]

Feature

  • Add LsRemote() method to git package repository (#1252, @saschagrunert) [SIG Release]
  • Add file location to debug log output of kubepkg (#1262, @saschagrunert) [SIG Release]
  • Add release notes inline template support (via go-template:inline:<string>) to document.RenderMarkdownTemplate() (#1266, @saschagrunert) [SIG Release]
  • Added testgrid package to retrieve the blocking testgrid tests (#1226, @saschagrunert) [SIG Release]
  • Added support for kind/regression on release notes generation (#1232, @saschagrunert) [SIG Release]
  • Adds "patch-to-latest" discover mode. (#1245, @msau42) [SIG Release]
  • Kube-cross: Build v1.14.2-3 and v1.13.9-4 images
    • Dependency updates:
      • PROTOBUF_VERSION to 3.11.4
      • ETCD_VERSION to v3.4.7
      • SKOPEO_VERSION to v0.2.0 (#1264, @justaugustus)
  • Kube-cross: Support building against multiple Go versions in parallel (#1258, @justaugustus) [SIG Release]
  • Kube-cross: Update to go1.14.2 (#1246, @justaugustus)
  • Update k8s-cloud-builder to use kube-cross:v1.13.9-2 (#1209, @justaugustus) [SIG Release]
  • [VDF] anago: Publish container images on K8s Infra (k8s-staging-kubernetes) (#1199, @justaugustus) [SIG Release]
  • krel gcbmgr now validates that the latest remote commit of the release repository
    is available in the local repository checkout. To ensure that a new git API
    method Branch() has been added as well. (#1254, @saschagrunert) [SIG Release]
  • krel gcbmgr now validates the state of the currently checked out release repository (branch and remote) (#1221, @saschagrunert) [SIG Release]

Bug or Regression

  • Fixed missing release_version field in generated krel release-notes JSON output (#1217, @saschagrunert) [SIG Release]
  • Fixed very slow performance of repo.Add() method within the git package (#1215, @saschagrunert) [SIG Release]
  • Gcbmgr: default to 5 last jobs when a negative number is set (#1235, @cpanato) [SIG Release]
  • Images: add skopeo binary for the 1.15 releases (#1242, @cpanato) [SIG Release]
  • Systemd would now start the kubelet service after the network-online.target is reached. (#1249, @rosti) [SIG Node and Release]
  • Testgridshot: removed canned_acl option when uploading to K8s Infra (#1210, @cpanato) [SIG Release]

Other (Cleanup or Flake)

  • Dependencies/cobra: update cobra to v0.0.7 (#1237, @cpanato) [SIG Release]
  • Dependencies/google.golang.org/api: update google.golang.org/api to v0.21.0 (#1238, @cpanato) [SIG Release]
  • Dependencies/testgrid: update to use release v0.0.10 (#1240, @cpanato) [SIG Release]
  • Lib/release: Use regex to prevent ACL changes on K8s Infra GCS buckets (#1223, @justaugustus) [SIG Release]
  • Modify the krel release-notes subcommand to always create clean checkouts of k/sig-release and k-sigs/release-notes instead of re-using existing clones. Removed --kubernetes-sigs-fork-path and --sigrelease-fork-path flags. (#1126, @JamesLaverack) [SIG Release]
  • [VDF] Partial revert of k8s.gcr.io cutover (#1229, @justaugustus) [SIG Release]
  • krel gcbmgr does not require the yq dependency any more
  • Added gcp package which contains a PreCheck function to validate the system requirements (#1251, @saschagrunert) [SIG Release]
release - v0.2.7

Published by justaugustus over 4 years ago

Changes by Kind

Deprecations

  • This change soft-deprecates the --format="markdown" option which is excepted but will be deprecated soon. The go-template:default option is now the default format. Since pr#1008 when this option is given, the internal default template is used anyway. Additionally Document.RenderMarkdown() is soft deprecated as it will be removed in #1019. Finally for API users Document.NotesByKind is deprecated. (#1148, @j0n3lson)

Feature

  • Added Addwriter(), AddErrorWriter() and AddOutputWriter() to command package which allows commands to specify additional writers, for example when having the need for logging to files. (#1198, @saschagrunert)

  • Changed krel gcbmgr to check for available packages (jq, git, bsdmainutils) and binaries (gsutil, gcloud) on the host system (#1171, @saschagrunert)

  • This change adds four new flags to the krel release-notes subcommand:

    • --create-website-pr - Flag to enable the release notes json generator
    • --website-org - GitHub Organization of the users fork of kubernetes/sig-release
    • --website-repo - Repository containing the fork of the user's repo
    • --kubernetes-sigs-fork-path - Filesystem path to the user's fork of k/sig-release

    After this change it is not longer possible to run --create-website-pr and --create-draft-pr during the same invocation.
    Implementation of --create-website-pr in the krel release-notes subcommand to generate the release notes in json format for relnotes.k8s.io (#1185, @puerco)

  • Gcbmgr: Add list build jobs (#1194, @cpanato)

  • Images/releng-ci-bazel: Add jq, bsdmainutils and google-cloud-sdk (#1170, @saschagrunert)

  • Images: Move kube-cross image building to k/release (#1140, @justaugustus)

  • Kube-cross: Update to go1.13.9 (#1200, @justaugustus)

  • Kube-cross: Update to go1.14.1 (#1208, @justaugustus)

Documentation

  • Added documentation to options.Options structure (#1183, @saschagrunert)
  • First batch of krel usage documents. Main README.md and a doc for each subcommand. (#1201, @puerco)

Failing Test

Other (Bug, Cleanup or Flake)

  • Change krel changelog to remove non release branch related CHANGELOG/CHANGELOG-*.md only on the first release candidate (for example v1.18.0-rc.1) (#1182, @saschagrunert)
  • Changed util.EnvDefault() to also return the default if the set value is empty (aka "") (#1197, @saschagrunert)
  • Changed kubepkg to take GITHUB_TOKEN into account for doing authenticated GitHub requests (#1177, @saschagrunert)
  • Fix building of deb packages in kubepkg (#1188, @saschagrunert)
  • Increased log verbosity of krel changelog (#1190, @saschagrunert)
  • krel gcbmgr now defaults to the master branch if no --branch is provided (#1205, @saschagrunert)
  • Configure releng GCB jobs to use new staging project and add VDF TODOs (#1172, @justaugustus)
  • Testgridshot: removed canned_acl option when uploading to K8s Infra (#1210, @cpanato)
  • Update GoogleCloudPlatform/testgrid to v0.0.7 (#1193, @cpanato)
release - v0.2.5

Published by justaugustus over 4 years ago

Changes by Kind

Feature

  • Added git.HasRemote and git.Remotes API
    • Added pre-check in krel release-notes if the fork remote is already available (#1122, @saschagrunert)
  • The function git.Remotify does not remotify remotes which have been already remotified (#1118, @saschagrunert)
  • Add --create-draft-pr --draft-org and --draft-repo flags to automate the creation of the release notes draft
    Add --output-dir to output a copy of the release notes. (#1102, @puerco)
  • [krel] gcbmgr: Dynamically retrieve build version from CI markers (#1114, @justaugustus)

Documentation

Other (Bug, Cleanup or Flake)

  • Changed git.CloneOrOpenRepo() to not take a separate useSSH indicator any more (#1111, @saschagrunert)
  • Add dedicated github package (#1136, @saschagrunert)
  • Change git.Remotes to always return the remotes sorted alphabetically (#1130, @saschagrunert)
  • Changed krel ff to restore the currently checked out git branch (#1123, @saschagrunert)
  • Enhanced krel ff documentation and fixed --ref to be taken into consideration (#1117, @saschagrunert)
  • Fixed wrong CHANGELOG link not targeting to the release tag any more (#1137, @saschagrunert)
  • Remove owner from git.CloneOrOpenDefaultGitHubRepoSSH and use the default one (kubernetes) (#1116, @saschagrunert)
  • Removed branchff script in favor of krel ff (#1129, @saschagrunert)
  • Updated krel changelog to correctly choose the start tag for a release (#1135, @saschagrunert)
  • Images: Update k8s-cloud-builder to use the new kube-cross location (#1141, @justaugustus)
  • Removes federation release kind option from krel push (#1128, @hasheddan)
  • Update go dependencies
    • github.com/google/go-github/v29 (v29.0.2 --> v29.0.3)
    • github.com/pkg/errors (v0.8.1 --> v0.9.1)
    • github.com/spf13/cobra (v0.0.5 --> v0.0.6)
    • github.com/stretchr/testify (v1.4.0 --> v1.5.1)
    • k8s.io/utils (v0.0.0-20200117235808-5f6fbceb4c31 --> v0.0.0-20200229041039-0a110f9eb7ab)
    • sigs.k8s.io/yaml (v1.1.0 --> v1.2.0) (#1142, @justaugustus)
  • [krel] changelog: Include CHANGELOG/README.md in master commit logic (#1143, @justaugustus)

Other Changes

  • Changed krel ff to print a short git commit hash instead of the full one (#1124, @cpanato)
  • Util/common: new line when printing to stdout added (#1125, @cpanato)