You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We want to enable Kibana to always be able to test against the most recent JS client changes. In order to do this, the hope is that we can improve automation around codegen (and RenovateBot upgrades), testing and publishing to npm so that this requires little to no developer effort.
The desired pipeline:
A PR from an approved "automated" contributor (RenovateBot, elasticmachine, etc) is opened that updates the generated code, dependencies, etc. and has auto-merge enabled
All required checks on the PR run and succeed
The PR is either auto-approved, or these contributors are part of an exception group that does not require PR approval
Auto-merge is triggered and the PR is closed
package.json tag is automatically updated to some non-stable value (e.g. 9.0.1-beta.3), probably by a tool like release-please
Version change triggers a job that does a final build/test/release to npm with a non-stable tag (e.g. beta)
Several improvements and additions to CI jobs and repo settings will be necessary to do this, including (but not limited to):
Possible enforcement of conventional commits on all PR merge commits
PRs from RenovateBot and elasticmachine (codegen PRs) must have auto-merge enabled
path filtering on GitHub actions needs to be removed to ensure unit tests run on all PRs
install/configuration of release-please or similar to automate package.json version bump
GitHub publish action triggers publish to npm when package.json version number changes on main
npm publish must always include an appropriate label to ensure the default latest label is not used
npm publish needs to run the full unit test suite matrix, not just on Ubuntu
bonus: automate release notes on GitHub release pages and/or release notes in official docs
Another way to accomplish this, if we can't do it entirely based on GitHub event automation, is to create a daily CI job that pulls main, pulls the latest "nightly" tagged release from npm and diffs them against each other. If they differ, it runs the tests and, if successful, publishes a new nightly to npm.
Or, actually: it could run on all merges to main still. It just may not be possible to have codegen and Renovate PRs auto-merge without any human interaction, unfortunately.
We want to enable Kibana to always be able to test against the most recent JS client changes. In order to do this, the hope is that we can improve automation around codegen (and RenovateBot upgrades), testing and publishing to npm so that this requires little to no developer effort.
The desired pipeline:
9.0.1-beta.3
), probably by a tool like release-pleasebeta
)Several improvements and additions to CI jobs and repo settings will be necessary to do this, including (but not limited to):
main
latest
label is not usedThe text was updated successfully, but these errors were encountered: