Restructures repository cluster setup and configuration scripts
to be used both for local testing as well as in CI. Adds a
CI-specific ci.sh script for the differences. Additionally:
- Upgrades to knative v0.23.0
- Upgrades eventing from v1beta1 API to v1
- Adds binary installation script (linux)
- Serializes Build, Int Test, e2e test steps
- Installs Broker and Channel to support Knative Quickstart tutorial.
- Runs a test echo server during installation
- Adds event-based waits in place of most blind time-based waits
- Adds explicit Kubernetes version for KinD
- Replaces a NodePort patched Koourier with an explicit ingress
- Adds retries while activator webhook becomes available
- Merges allocate and configure
* feat: client progress listener 'stopping' state
* src: testable commands
Restructures commands to accept a fn.Client constructor on command
instantiation. This allows the concrete implementations, or entire
client to be mocked for testing.
Also some minor refacotring as necessary to shoehorn into the pattern.
* fix: increase default timeout to 120s for service creation
* chore: bump kind, knative and kubectl versions
* chore: fix versioning in CI builds
For unknown reasons, the git tag for a release CI build via release-please
seems to happen after the build completes. It's a bit uncleear, but the
result is that we get v0.0.0 versions for released builds.
This commit modifies the Makefile to allow for an environment override of
the $VERS variable. Since the release-please-action documents `tag_name`
as output from the action, we can use this in CI to set the environment
variable.
Signed-off-by: Lance Ball <lball@redhat.com>
* chore: pull and run pkger on main branch CI
I started this by trying to run a build matrix, but it got complicated pretty
quickly, since this build actually does `make cross-platform`. If we want to
also run a platform matrix when things land on `main`, I think it would be best
if we modified `pull_requests.yaml` to also run on `main` as well as on pull
requests (and be renamed).
Signed-off-by: Lance Ball <lball@redhat.com>
* fixup: remove personal branch from build trigger
This commit adds `pkger` to the Makefile, ensuring that when any changes are
made in the `templates` directory it runs. For CI, I've added a download of the
`pkger` binary.
Fixes: https://github.com/boson-project/faas/issues/230
Signed-off-by: Lance Ball <lball@redhat.com>
This commit modifies the CI action so that it should bump minor versions
until we explicitly have a 1.0.0 release. I've also bumped the version
of release-please-action to the latest 2.5.5.
Signed-off-by: Lance Ball <lball@redhat.com>
There was a typo in the upload part of the CI. Also, there was a section
that (thankfully) did not run, which would have created a second release.
Moved the release-please action later in CI so less time elapses between
the creation of the release, and the upload of the binaries.
Signed-off-by: Lance Ball <lball@redhat.com>
This commit adds release-please as a github action, replacing the
develop, main and releases actions. Now, with each commit to main, a PR
is either created or updated with the contents of all changes since the
last release. When this PR is landed, a tag and branch are created, and
the build artifacts (binaries) are uploaded as part of a regular github
release.
A practical result of this landing will be that all work will subsequently
happen on the `main` branch (aside from backport releases) and the `develop`
branch will no longer be used.
When this is landed on `main`, a release will not be created as per usual.
Instead, a PR will be created with the contents of the changes since the
last release.