Announcements
New features
New features added to each component:
-
April 20, 2024 The
ghcache_cache_parititionsPrometheus metric has been deprecated in favor ofghcache_cache_partitions. Besides spelling both metrics are identical. -
April 20, 2024 The
validate-supplemental-prow-config-hirarchycheck incheckconfighas been renamed tovalidate-supplemental-prow-config-hierarchy; the old name is now deprecated. -
October 20, 2023 The update to Inrepoconfig handling will break users if they have symlinks inside
.prow/that point to targets elsewhere in the codebase. See this comment for details. -
January 20, 2023 Remove k8s-ci-robot at-mention autoresponse for instances that does not warrant additional explanation in the details section.
-
August 4, 2022 override plugin will now override checkruns set by GitHub Actions and other CI systems on a PR.
-
June 8, 2022
deck.rerun_auth_configscan optionally be replaced withdeck.default_rerun_auth_configswhich supports a new format that is a slice of filters with associated rerun auth configs rather than a map. Currently entries can filter by repo and/or cluster. The old field is still supported and will not be deprecated. -
April 6, 2022 Highlight and pin interesting lines. To do this, shift-click on log lines in the buildlog lens. The URL fragment causes the same lines to be highlighted next page load. Additionally, when viewing a GCS log pressing the pin button saves the highlight. The saved highlight automatically displays next page load.
-
January 24, 2022 It is possible now to define GitHub Apps bots as trusted users to allow automatic tests trigger without relying on
/ok-to-testfrom organization member. Trigger and DCO plugins configuration now support additional fieldtrusted_apps, which contains list of GitHub Apps bot usernames without[bot]suffix. -
January 11, 2022 Trigger plugin can now trigger failed github jobs. The feature needs to be enabled in the
triggerssection of theplugin.yamlconfig and can be specified per trigger as follows:triggers: - repos: - org/repo - org2 trigger_github_workflows: true -
August 24, 2021 Postsubmit Prow jobs now support the
always_runfield. This field interacts with therun_if_changedandskip_if_only_changedfields as follows:- (NEW) If the field is explicitly set to
always_run: false, then the Postsubmit will not run automatically. The intention is to allow other triggers outside of a GitHub change, such as a Pub/Sub event, to trigger the job. See this issue for the motivation. However ifrun_if_changedorskip_if_only_changedis also set, then those triggers are determined first; if for whatever reason they cannot be determined, then the job will not run automatically (and wait for another trigger such as a Pub/Sub event as mentioned above). - If the field is explicitly set to
always_run: true, then the Postsubmit job will always run. Also trying to setrun_if_changedorskip_if_only_changedin the same Postsubmit job will result in a config error. This mutual exclusivity matches the configuration behavior of Presubmit jobs, which also disallow combiningalways_run: truetogether withrun_if_changedorskip_if_only_changed. - If
always_runis not set (missing from the job config):- If both
run_if_changedandskip_if_only_changedare not set: same as old behavior (Postsubmit job will run automatically upon a GitHub change). - If one of
run_if_changedorskip_if_only_changedis set: same as old behavior (running will depend onrun_if_changedorskip_if_only_changed).
- If both
- (NEW) If the field is explicitly set to
-
May 14th, 2021: All components that interact with GitHub newly allow client-side throttling customization via
--github-hourly-tokensand--github-allowed-burstparameters. A notable exception to this is Tide which has custom throttling logic and does not expose these two new options. Other existing custom options in branchprotector, peribolos, status-reconciler and needs-rebase (--tokens/--hourly-tokensetc.) are deprecated and will be removed in August 2021. -
April 12th, 2021 End of grace period for storage bucket validation, additional buckets have to be allowed by adding them to the
deck.additional_allowed_bucketslist. -
March 9th, 2021 Tide batchtesting will now continue to test a given batch even when more PRs became eligible while a test failed. You can disable this by setting
tide.prioritize_existing_batches.<org or org/repo>: falsein your Prow config. -
March 3, 2021
plank.default_decoration_configscan optionally be replaced withplank.default_decoration_config_entrieswhich supports a new format that is a slice of filters with associated decoration configs rather than a map. Currently entries can filter by repo and/or cluster. The old field is still supported and will not be deprecated. -
February 23, 2021 New format introduced in
plugins.yaml. Repos can be excluded from plugin definition at org level usingexcluded_reposnotation. The previous format will be deprecated in July 2021, see https://github.com/kubernetes/test-infra/issues/20631. -
November 2, 2020 Tide is now able to respect checkruns.
-
September 15, 2020 Added validation to Deck that will restrict artifact requests based on storage buckets. Opt-out by setting
deck.skip_storage_path_validationin your Prow config. Buckets specified in job configs (<job>.gcs_configuration.bucket) and plank configs (plank.default_decoration_configs[*].gcs_configuration.bucket) are automatically allowed access. Additional buckets can be allowed by adding them to thedeck.additional_allowed_bucketslist. (This feature will be enabled by default ~Jan 2021. For now, you will begin to notice violation warnings in your logs.) -
August 31th, 2020 Added
gcs_browser_prefixesfield in spyglass configuration.gcs_browser_prefixwill be deprecated in February 2021. You can now specify different values for different repositories. The format should be in org, org/repo or ‘*’ which is the default value. -
July 13th, 2020 Configuring
job_url_prefix_configwithgcs/prefix is now deprecated. Please configure a job url prefix without thegcs/storage provider suffix. From now on the storage provider is appended automatically so multiple storage providers can be used for builds of the same repository. For now we still handle the old configuration format, this will be removed in September 2020. To be clear handling of URLs with/view/gcsin Deck is not deprecated. -
June 23rd, 2020 An hmac tool was added to automatically reconcile webhooks and hmac tokens for the orgs and repos integrated with your prow instance.
-
June 8th, 2020 A new informer-based Plank implementation was added. It can be used by deploying the new prow-controller-manager binary. We plan to gradually move all our controllers into that binary, see https://github.com/kubernetes/test-infra/issues/17024
-
May 31, 2020 ‘–gcs-no-auth’ in Deck is deprecated and not used anymore. We always fall back to an anonymous GCS client now, if all other options fail. This flag will be removed in July 2020.
-
May 25, 2020 Added
--blob-storage-workersand--kubernetes-blob-storage-workersflags to crier. The flags--gcs-workersand--kubernetes-gcs-workersare now deprecated and will be removed in August 2020. -
May 13, 2020 Added a
decorate_all_jobsoption to job configuration that allows to control whether jobs are decorated by default. Individual jobs can use thedecorateoption to override this setting. -
March 25, 2020 Added a
report_templatesoption to the Plank config that allows to specify different report templates for each organization or a specific repository. Thereport_templateoption is deprecated and it will be removed on September 2020 which is going to be replaced with the*value inreport_templates. -
January 03, 2020 Added a
pr_status_base_urlsoption to the Tide config that allows to specify different tide’s URL for each organization or a specific repository. Thepr_status_base_urlwill be deprecated on June 2020 and it will be replaced with the*value inpr_status_base_urls. -
November 05, 2019 The
config-updaterplugin supports update configs on build clusters by usingclusters. The fields namespace and additional_namespaces are deprecated. -
October 27, 2019 The
trusted_orgfunctionality in trigger is being deprecated in favour of being more explicit in the fact that org members or repo collaborators are the trusted users. This option will be removed completely in January 2020. -
October 07, 2019 Added a
default_decoration_configsoption to the Plank config that allows to specify different plank’s default configuration for each organization or a specific repository.default_decoration_configwill be deprecated in April 2020 and it will be replaced with the*value indefault_decoration_configs. -
August 29, 2019 Added a
batch_size_limitoption to the Tide config that allows the batch size limit to be specified globally, per org, or per repo. Values default to 0 indicating no size limit. A value of -1 disables batches. -
July 30, 2019
authorized_usersinrerun_auth_configfor deck will becomegithub_users. -
July 19, 2019 deck will soon remove its default value for
--cookie-secret-file. If you set--oauth-urlbut not--cookie-secret-file, add--cookie-secret-file=/etc/cookie-secretto your deck instance. The default value will be removed at the end of October 2019. -
July 2, 2019 prow defaults to report status for both presubmit and postsubmit jobs on GitHub now.
-
June 17, 2019 It is now possible to configure the channel for the Slack reporter directly on jobs via the
.reporter_config.slack.channelconfig option -
May 13, 2019 New
plankconfigpod_running_timeoutis added and defaulted to two days to allow plank abort pods stuck in running state. -
April 25, 2019
--job-configinperiboloshas never been used; it is deprecated and will be removed in July 2019. Remove the flag from any calls to the tool. -
April 24, 2019
file_weight_countin blunderbuss is being deprecated in favour of the more currentmax_request_countfunctionality. Please ensure your configuration is up to date before the end of May 2019. -
March 12, 2019 tide now records a history of its actions and exposes a filterable view of these actions at the
/tide-historydeck path. -
March 9, 2019 prow components now support reading gzipped config files
-
February 13, 2019 prow (both plank and crier) can set status on the commit for postsubmit jobs on github now! Type of jobs can be reported to github is gated by a config field like
github_reporter: job_types_to_report: - presubmit - postsubmitnow and default to report for presubmit only. The default will change in April to include postsubmit jobs as well You can also add
skip_report: trueto your post-submit jobs to skip reporting if you enable postsubmit reporting on. -
January 15, 2019
approvenow considers self-approval and github review state by default. Configure withrequire_self_approvalandignore_review_state. Temporarily revert to old defaults withuse_deprecated_2018_implicit_self_approve_default_migrate_before_july_2019anduse_deprecated_2018_review_acts_as_approve_default_migrate_before_july_2019. -
January 12, 2019
blunderblussplugin now provides a new command,/auto-cc, that triggers automatic review requests. -
January 7, 2019
implicit_self_approvewill becomerequire_self_approvalin the second half of this year. -
January 7, 2019
review_acts_as_approvewill becomeignore_review_statein the second half of this year. -
October 10, 2018
tidenow supports the-repo:foo/bartag in queries via theexcludedReposYAML field. -
October 3, 2018
welcomenow supports a configurable message on a per-org, or per-repo basis. Please note that this includes a config schema change that will break previous deployments of this plugin. -
August 22, 2018
spyglassis a pluggable viewing framework for artifacts produced by Prowjobs. See a demo here! -
July 13, 2018
blunderblussplugin will now supportrequired_reviewersin OWNERS file to specify a person or github team to be cc’d on every PR that touches the corresponding part of the code. -
June 25, 2018
updateconfigplugin will now support update/remove keys from a glob match. -
June 05, 2018
blunderbussplugin may now suggest approvers in addition to reviewers. Useexclude_approvers: trueto revert to previous behavior. -
April 10, 2018
claplugin now supports/check-clacommand to force rechecking of the CLA status. -
February 1, 2018
updateconfigwill now update any configmap on merge -
November 14, 2017
jenkins-operator:0.58exposes prometheus metrics. -
November 8, 2017
horologium:0.14prow periodic job now support cron triggers. See https://godoc.org/gopkg.in/robfig/cron.v2 for doc to the cron library we are using.
Breaking changes
Breaking changes to external APIs (labels, GitHub interactions, configuration or deployment) will be documented in this section. Prow is in a pre-release state and no claims of backwards compatibility are made for any external API. Note: versions specified in these announcements may not include bug fixes made in more recent versions so it is recommended that the most recent versions are used when updating deployments.
-
August 24th, 2022 Deck by default validating storage buckets, can still opt out by setting
deck.skip_storage_path_validation: truein your Prow config. Buckets specified in job configs (<job>.gcs_configuration.bucket) and plank configs (plank.default_decoration_configs[*].gcs_configuration.bucket) are automatically allowed access. Additional buckets can be allowed by adding them to thedeck.additional_allowed_bucketslist. -
May 27th, 2022 Crier flags
--gcs-workersand--kubernetes-gcs-workersare removed in favor of--blob-storage-workersand--kubernetes-blob-storage-workers. -
May 27th, 2022 The
owners_dir_blacklistfield in prow config is removed in favor ofowners_dir_denylist. -
February 22nd, 2022 Since prow version
v20220222-acb5731b85, the entrypoint container in a prow job will run as--copy-mode-only, instead of/bin/cp /entrypoint /tools/entrypoint. Entrypoint images before the mentioned version will not work with--copy-mode-only, and entrypoint image since the mentioned version will not work with/bin/cp /entrypoint /tools/entrypoint. In another word, prow versions newer than or equal tov20220222-acb5731b85will stop working with pod utilities versions older thanv20220222-acb5731b85. If your prow instance is bumped byprow/cmd/generic-autobumperthen you should not be affected. -
February 22nd, 2022 Since prow version
v20220222-acb5731b85, prow images pushed to gcr.io/k8s-prow will be built with ko, and the binaries will be placed under/ko-app/, for example /robots/commenter is pushed to gcr.io/k8s-prow/commenter, the commenter binary is located at/ko-app/commenterin the image, prow jobs that use this image will update tocommand: - /ko-app/commenterto make it work, alternatively, the command could also becommand: - commenteras/ko-appis added to$PATHenv var in the image. -
February 22nd, 2022 Since prow version
v20220222-acb5731b85, static files indeckimage will be stored under/var/run/ko/directory. -
October 27th, 2021 The checkconfig flag
--prow-yaml-repo-pathno longer defaults to/home/prow/go/src/github.com/<< prow-yaml-repo-name >>/.prow.yamlwhen--prow-yaml-repo-nameis set. The defaulting has instead been replaced with the assumption that the Prow YAML file/directory can be found in the current working directory if--prow-yaml-repo-pathis not specified. If you are running checkconfig from a decorated ProwJobs as is typical, then this is already the case. -
September 16th, 2021 The ProwJob CRD manifest has been extended to specify a schema. Unfortunately, this results in a huge manifest which in turn makes the standard
kubectl applyfail, as the last-applied annotation it generates exceeds the maximum annotation size. If you are using Kubernetes 1.18 or newer, you can add the--server-side=trueargument to work around this. If not, you can use a schemaless manifest -
September 15th, 2021
autobumpremoved, please usegeneric-autobumperinstead, see example config -
April 16th, 2021 Flagutil remove default value for
--github-token-path. -
April 15th, 2021 Sinker requires –dry-run=false (default is true) to function correctly in production.
-
April 14th, 2021 Deck remove default value for
--cookie-secret-file. -
April 12th, 2021 Horologium now uses a cached client, which requires it to have watch permissions for Prowjobs on top of the already-required list and create.
-
April 11th, 2021 The plank binary has been removed. Please use the Prow Controller Manager instead, which provides a more modern implementation of the same functionality.
-
April 1st, 2021 The
owners_dir_blacklistfield in prow config has been deprecated in favor ofowners_dir_denylist. The support ofowners_dir_blacklistwill be stopped in October 2021. -
April 1st, 2021 The
labels_blacklistfield in verify-owners plugin config is deprecated in favor oflabels_denylist. The support forlabels_blacklistshall be stopped in October 2021. -
January 24th, 2021 Planks Pod pending and Pod scheduling timeout defaults where changed from 24h each to the more reasonable 10 minutes/5 minutes, respectively.
-
January 1, 2021 Support for
whitelistandbranch_whitelistfields in Slack merge warning configuration is discontinued. You can useexempt_usersandexempt_branchesfields instead. -
November 24, 2020 The
requiresigplugin has been removed in favor of therequire-matching-labelplugin which provides equivalent functionality (example plugin config) -
November 14, 2020 The
whitelistandbranch_whitelistfields in Slack merge warning were deprecated on August 22, 2020 in favor of the newexempt_usersandexempt_branchesfields. The support for these fields shall be stopped in January 2021. -
November 11th, 2020 The prow-controller-manager and sinker now require RBAC to be set up to manage their leader lock in the
coordination.k8s.iogroup. See here -
November, 2020 The deprecated
namespaceandadditional_namespacesproperties have been removed from the config updater plugin for more details. -
November, 2020 The
blacklistflag in status reconciler has been deprecated in favor ofdenylist. The support ofblacklistwill be stopped in February 2021. -
October, 2020 The
plankbinary has been deprecated in favor of the more modern implementation in the prow-controller-manager that provides the same functionality. Check out its README or check out its deployment and rbac manifest. The plank binary will be removed in February, 2021. -
September 14th, 2020 Sinker now requires
LISTandWATCHpermissions for pods -
September 2, 2020 The already deprecated
namespaceandadditional_namespacessettings in the config updater will be removed in October, 2020 -
August 28, 2020
tidenow ignores archived repositories in queries. -
August 28, 2020 The
Clustersformat and associated--build-clusterflag has been removed. -
August 24, 2020 The deprecated reporting functionality has been removed from Plank, use crier with
--github-workers=1instead Use a.kube/configwith the--kubeconfigflag to specify credentials for external build clusters. -
August 22, 2020 The
whitelistandbranch_whitelistfields in Slack merge warning are deprecated in favor of the newexempt_usersandexempt_branchesfields. -
July 17, 2020 Slack reporter will no longer report all states of a Prow job if it has
Channelspecified on the Prow job config. Instead, it will report thejob_states_to_reportconfigured in the Prow job or in the Prow core config if the former does not exist. -
May 18, 2020
expiryfield has been replaced withcreated_atin the HMAC secret. -
April 24, 2020 Horologium now defaults to
--dry-run=true -
April 23, 2020 Explicitly setting
--config-pathis now required. -
April 23, 2020 Update the
autobumpimage to at leastv20200422-8c8546d74before June 2020. -
April 23, 2020 Deleted deprecated
default_decoration_config. -
April 22, 2020 Deleted the
file_weight_countblunderbuss option. -
April 16, 2020 The
docs-no-retestprow plugin has been deleted. The plugin was deprecated in January 2020. -
April 14, 2020 GitHub reporting via plank is deprecated, set –github-workers=1 on crier before July 2020.
-
March 27, 2020 The deprecated
allow_cancellationsoption has been removed from Plank and the Jenkins operator. -
March 19, 2020 The
rerun_auth_configconfig field has been deprecated in favor of the newrerun_auth_configsfield which allows configuration on a global, organization or repo level.rerun_auth_configwill be removed in July 2020. -
November 21, 2019 The boskos metrics component replaced the existing prometheus metrics with a single, label-qualified metric. Metrics are now served at
/metricson port 9090. This actually happened August 5th, but is being documented now. Details: https://github.com/kubernetes/test-infra/pull/13767 -
November 18, 2019 The
mkbuild-clustercommand-line utility andbuild-clusterformat is deprecated and will be removed in May 2020. Usegencredand thekubeconfigformat as an alternative. -
November 14, 2019 The
slack_reporterconfig field has been deprecated in favor of the newslack_reporter_configsfield which allows configuration on a global, organization or repo level.slack_reporterwill be removed in May 2020. -
November 7, 2019 The
plank.allow_cancellationsandjenkins_operators.allow_cancellationssettings are deprecated and will be removed and set to alwaystruein March 2020. -
October 7, 2019 Prow will drop support for the deprecated knative-builds in November 2019.
-
September 24, 2019 Sending an http
GETrequest to the/hookendpoint now returns a405(Method Not Allowed) instead of a200(OK). -
September 8, 2019 The deprecated
job_url_prefixoption has been removed from Plank. -
May 2, 2019 All components exposing Prometheus metrics will now either push them to the Prometheus PushGateway, if configured, or serve them locally on port 9090 at
/metrics, if not configured (the default). -
April 26, 2019
blunderbuss,approve, and other plugins that read OWNERS now treatowners_dir_blacklistas a list of regular expressions matched against the entire (repository-relative) directory path of the OWNERS file rather than as a list of strings matched exactly against the basename only of the directory containing the OWNERS file. -
April 2, 2019
hook,deck,horologium,tide,plankandsinkerwill no longer provide a default value for the--config-pathflag. It is required to explicitly provide--config-pathwhen upgrading to a new version of these components that were previously relying on the default--config-path=/etc/config/config.yaml. -
March 29, 2019 Custom logos should be provided as full paths in the configuration under
deck.branding.logosand will not implicitly be assumed to be under the static assets directory. -
February 26, 2019 The
job_url_prefixoption fromplankhas been deprecated in favor of the newjob_url_prefix_configoption which allows configuration on a global, organization or repo level.job_url_prefixwill be removed in September 2019. -
February 13, 2019
horologiumandsinkerdeployments will soon require--dry-run=falsein production, please set this before March 15. At that time flag will default to –dry-run=true instead of –dry-run=false. -
February 1, 2019 Now that
hookandtidewill no longer post “Skipped” statuses for jobs that do not need to run, it is not possible to require those statuses with branch protection. Therefore, it is necessary to run thebranchprotectorfrom at least version510db59before upgradingtideto that version. -
February 1, 2019
horologiumandsinkernow support the--dry-runflag, so you must pass--dry-run=falseto keep the previous behavior (see Feb 13 update). -
January 31, 2019
subno longer supports the--masterurlflag for connecting to the infrastructure cluster. Use--kubeconfigwith--contextfor this. -
January 31, 2019
crierno longer supports the--masterurlflag for connecting to the infrastructure cluster. Use--kubeconfigwith--contextfor this. -
January 27, 2019 Jobs that do not run will no longer post “Skipped” statuses.
-
January 27, 2019 Jobs that do not run always will no longer be required by branch protection as they will not always produce a status. They will continue to be required for merge by
tideif they are configured as required. -
January 27, 2019 All support for
run_after_successjobs has been removed. Configuration of these jobs will continue to parse but will ignore the field. -
January 27, 2019
hookwill now correctly honor therun_alwaysfield on Gerrit presubmits. Previously, if this field was unset it would have defaulted totrue; now, it will correctly default tofalse. -
January 22, 2019
sinkerprefers.kube/configinstead of the customClustersfile to specify credentials for external build clusters. The flag name has changed from--build-clusterto--kubeconfig. Migrate before June 2019. -
November 29, 2018
plankwill no longer default jobs withdecorate: trueto haveautomountServiceAccountToken: falsein their PodSpec if unset, if the job explicitly setsserviceAccountName -
November 26, 2018 job names must now match
^[A-Za-z0-9-._]+$. Jobs that did not match this before were allowed but did not provide a good user experience. -
November 15, 2018 the
hookservice account now requires RBAC privileges to createConfigMapsto support new functionality in theupdateconfigplugin. -
November 9, 2018 Prow gerrit client label/annotations now have a
prow.k8s.io/namespace prefix, if you have a gerrit deployment, please bump both cmd/gerrit and cmd/crier. -
November 8, 2018
planknow defaults jobs withdecorate: trueto haveautomountServiceAccountToken: falsein their PodSpec if unset. Jobs that used the default service account should explicitly set this field to maintain functionality. -
October 16, 2018 Prow tls-cert management has been migrated from kube-lego to cert-manager.
-
October 12, 2018 Removed deprecated
buildIdenvironment variable from prow jobs. UseBUILD_ID. -
October 3, 2018
-github-token-filereplaced with-github-token-pathfor consistency withbranchprotectorandperiboloswhich were already using-github-token-path.-github-token-filewill continue to work through the remainder of 2018, but it will be removed in early 2019. The following commands are affected:cherrypicker,hook,jenkins-operator,needs-rebase,phony,plank,refresh, andtide. -
October 1, 2018 bazel is the one official way to build container images. Please use prow/bump.sh and/or bazel run //prow:release-push
-
Sep 27, 2018 If you are setting explicit decorate configs, the format has changed from
- name: job-foo decorate: true timeout: 1to
- name: job-foo decorate: true decoration_config: timeout: 1 -
September 24, 2018 the
splicecomponent has been deleted following the deletion of mungegithub. -
July 9, 2018
milestoneformat has changed frommilestone: maintainers_id: <some_team_id> maintainers_team: <some_team_name>to
repo_milestonerepo_milestone: <some_repo_name>: maintainers_id: <some_team_id> maintainers_team: <some_team_name> -
July 2, 2018 the
triggerplugin will now trust PRs from repo collaborators. Useonly_org_members: truein the trigger config to temporarily disable this behavior. -
June 14, 2018 the
updateconfigplugin will only add data to yourConfigMapsusing the basename of the updated file, instead of using that and also duplicating the data using the name of theConfigMapas a key -
June 1, 2018 all unquoted
booleanfields in config.yaml that were unmarshall into typestringnow need to be quoted to avoid unmarshalling error. -
May 9, 2018
decklogs for jobs run asPodswill now return logs for the"test"container only. -
April 2, 2018
updateconfigformat has been changed frompath/to/some/other/thing: configNameto
path/to/some/other/thing: Name: configName # If unspecified, Namespace default to the value of ProwJobNamespace. Namespace: myNamespace -
March 15, 2018
jenkins_operatoris removed from the config in favor ofjenkins_operators. -
March 1, 2018
MilestoneStatushas been removed from the plugins Configuration in favor of theMilestonewhich is shared between two plugins: 1)milestonestatusand 2)milestone. The milestonestatus plugin now uses theMilestoneobject to get the maintainers team ID -
February 27, 2018
jenkins-operatordoes not use$BUILD_IDas a fallback to$PROW_JOB_IDanymore. -
February 15, 2018
jenkins-operatorcan now accept the--tot-urlflag and will use the connection tototto vend build identifiers asplankdoes, giving control over where in GCS artifacts land to Prow and away from Jenkins. Furthermore, the$BUILD_IDvariable in Jenkins jobs will now correctly point to the build identifier vended bytotand a new variable,$PROW_JOB_ID, points to the identifier used to link ProwJobs to Jenkins builds.$PROW_JOB_IDfallbacks to$BUILD_IDfor backwards-compatibility, ie. to not break in-flight jobs during the time of the jenkins-operator update. -
February 1, 2018 The
config_updatersection inplugins.yamlnow uses amapsobject instead ofconfig_file,plugin_filestrings. Please switch over before July. -
November 30, 2017 If you use tide, you’ll need to switch your query format and bump all prow component versions to reflect the changes in #5754.
-
November 14, 2017
horologium:0.17fixes cron job not being scheduled. -
November 10, 2017 If you want to use cron feature in prow, you need to bump to:
hook:0.181,sinker:0.23,deck:0.62,splice:0.32,horologium:0.15plank:0.60,jenkins-operator:0.57andtide:0.12to avoid error spamming from the config parser. -
November 7, 2017
plank:0.56fixes bug introduced inplank:0.53that affects controllers using an empty kubernetes selector. -
November 7, 2017
jenkins-operator:0.51provides jobs with the$BUILD_IDvariable as well as the$buildIdvariable. The latter is deprecated and will be removed in a future version. -
November 6, 2017
plank:0.55providesPodswith the$BUILD_IDvariable as well as the$BUILD_NUMBERvariable. The latter is deprecated and will be removed in a future version. -
November 3, 2017 Added
EmptyDirvolume type. To update tohook:0.176+orhorologium:0.11+the following components must have the associated minimum versions:deck:0.58+,plank:0.54+,jenkins-operator:0.50+. -
November 2, 2017
plank:0.53changes thetypelabel key toprow.k8s.io/typeand thejobannotation key toprow.k8s.io/jobadded in pods. -
October 14, 2017
deck:0:53+needs to be updated in conjunction withjenkins-operator:0:48+since Jenkins logs are now exposed from the operator anddeckneeds to use theexternal_agent_logsoption in order to redirect requests to the locationjenkins-operatorexposes logs. -
October 13, 2017
hook:0.174,plank:0.50, andjenkins-operator:0.47drop the deprecatedgithub-bot-nameflag. -
October 2, 2017
hook:0.171: The label plugin was split into three plugins (label, sigmention, milestonestatus). Breaking changes:- The configuration key for the milestone maintainer team’s ID has been
changed. Previously the team ID was stored in the plugins config at key
label»milestone_maintainers_id. Now that the milestone status labels are handled in themilestonestatusplugin instead of thelabelplugin, the team ID is stored at keymilestonestatus»maintainers_id. - The sigmention and milestonestatus plugins must be enabled on any repos that require them since their functionality is no longer included in the label plugin.
- The configuration key for the milestone maintainer team’s ID has been
changed. Previously the team ID was stored in the plugins config at key
-
September 3, 2017
sinker:0.17now deletes pods labeled byplank:0.42in order to avoid cleaning up unrelated pods that happen to be found in the same namespace prow runs pods. If you run other pods in the same namespace, you will have to manually delete or label the prow-owned pods, otherwise you can bulk-label all of them with the following command and let sinker collect them normally:kubectl label pods --all -n pod_namespace created-by-prow=true -
September 1, 2017
deck:0.44andjenkins-operator:0.41controllers no longer provide a default value for the--jenkins-token-fileflag. Cluster administrators should provide--jenkins-token-file=/etc/jenkins/jenkinsexplicitly when upgrading to a new version of these components if they were previously relying on the default. For more context, please see this pull request. -
August 29, 2017 Configuration specific to plugins is now held in the
pluginsConfigMapand serialized in this repo in theplugins.yamlfile. Cluster administrators upgrading tohook:0.148or newer should move plugin configuration from the mainConfigMap. For more context, please see this pull request.
Project updates
- October 28, 2022 Documentation migration: existing Markdown files in k/t-i have been migrated over to https://docs.prow.k8s.io/docs/legacy-snapshot. The old locations now have “tombstones” to redirect to the new location. See https://github.com/kubernetes/test-infra/pull/27818 for details.
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.