Security News
PyPI Introduces Digital Attestations to Strengthen Python Package Security
PyPI now supports digital attestations, enhancing security and trust by allowing package maintainers to verify the authenticity of Python packages.
This project provides fast integration tests for Kyma. The goal is to decrease the minimal turnaround time from the current 90 minutes to less than 10 minutes (ten times). Fast integration tests will solve the problem partially. Other initiatives that are executed in parallel are equally important: switching to k3s, reducing Kubernetes provisioning time, and implementing the parallel installation of Kyma components.
The project contains also kyma-js
tool which you can use in the development process. Kyma-js is a temporary solution that implements subset of commands of Kyma CLI but focuses on local development and minimal turnaround time (parallel installation). It provides some additional features that are useful for development, like: upgrade of selected components, skipping some components from installation, testing upgrade to new eventing, provisioning/deprovisioning of k3d cluster.
brew install k3d
or curl -s https://raw.githubusercontent.com/rancher/k3d/main/install.sh | bash
GO111MODULE=on go get -u github.com/google/go-containerregistry/cmd/crane
To run tests locally, follow these steps:
git clone git@github.com:kyma-project/kyma.git
cd kyma/tests/fast-integration
npm install
npm test
Here you have sample development tasks you can execute on your local machine working with kyma source code.
Install kyma-js as global package:
npm install -g kyma-js
or navigate to the fast-integration folder (where kyma.js
file is located) and symlink the package folder:
npm link
The second option allows you to change the code of the installer and use it without building/publishing/updating.
Create local cluster:
kyma-js provision k3d
Install kyma without some modules, and with new eventing (instead of knative):
kyma-js install -v --skip-modules=monitoring,tracing,logging,kiali --new-eventing
Execute commerce mock test with DEBUG enabled:
DEBUG=true mocha test/2-commerce-mock.js
Upgrade some component:
kyma-js install -v --component=application-connector --new-eventing
Delete all, and start from scratch:
kyma-js deprovision k3d
Execute kyma-js <command> --help
to learn more about possibilities.
Octopus is a great tool for running tests inside the Kubernetes cluster in a declarative way. But it is not the right tool for fast integration testing. The goal is to execute the tests in 4 minutes. With Octopus, you need 4 minutes or more before the tests even start (2 minutes to build the test image and push it to the Docker registry, 1 minute to deploy Octopus, and 1 minute to deploy the test Pod).
Octopus testing flow looks like this:
The fast-integration tests contain just 2 steps:
In this way, we can reduce testing phase from about 40 minutes to about 4 minutes.
Tests are written in node.js for several reasons:
We have several pipelines that use fast-integration tests. See the list of pipelines with links to the Prow status page:
Pipeline | Description | Infrastructure |
---|---|---|
pre-master-kyma-integration-k3s | Job that runs on every PR before the merge to the master branch. | k3s |
post-master-kyma-integration-k3s | Job that runs on every PR after it is merged to the master branch. | k3s |
kyma-integration-k3s | Job that periodicially runs the fast-integration tests. | k3s |
kyma-integration-production-gardener-azure | Periodic job that tests the production profile in Kyma. | Gardener, Azure |
kyma-integration-evaluation-gardener-azure | Periodic job that tests the evaluation profile in Kyma. | Gardener, Azure |
FAQs
## Overview
We found that kyma-js demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
PyPI now supports digital attestations, enhancing security and trust by allowing package maintainers to verify the authenticity of Python packages.
Security News
GitHub removed 27 malicious pull requests attempting to inject harmful code across multiple open source repositories, in another round of low-effort attacks.
Security News
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.