Skip to content

Latest commit

 

History

History
108 lines (66 loc) · 4.8 KB

04-10-workflows.md

File metadata and controls

108 lines (66 loc) · 4.8 KB

GitHub Actions Workflows

ESLint Workflow

This workflow runs the ESLint.

The workflow:

  1. Checks out code
  2. Invokes make lint -C testing/e2e/skr

Markdown Link Check Workflow

This workflow checks for broken links in all Markdown files. It is triggered:

  • As a periodic check that runs daily at midnight on the main branch in the repository
  • On every pull request

Release Workflow

See Kyma Environment Broker Release Pipeline to learn more about the release workflow.

Promote KEB to DEV Workflow

This workflow creates a PR to the management-plane-charts repository with the given KEB release version. The default version is the latest KEB release.

Create and Promote Release Workflow

This workflow creates a new KEB release and then promotes it to the development environment. It first runs the release workflow, and then creates a PR to the management-plane-charts repository with the given KEB release version.

Label Validator Workflow

This workflow is triggered by PRs on the main branch. It checks the labels on the PR and requires that the PR has exactly one of the labels listed in this file.

Verify KEB Workflow

This workflow calls the reusable workflow with unit tests. Besides the tests, it also runs Go-related checks and Go linter.

Govulncheck Workflow

This workflow runs the Govulncheck.

Image Build Workflow

This workflow builds images.

KEB Chart Install Test

This workflow calls the reusable workflow to install the KEB chart with the new images in the k3s cluster.

Auto Merge Workflow

This workflow enables the auto-merge functionality on a PR that is not a draft.

All Cheks Passed Workflow

This workflow checks if all jobs, except those excluded in the workflow configuration, have passed. If the workflow is triggered by a PR where the author is the kyma-gopher-bot, the workflow ends immediately with success.

Validate Database Migrations Workflow

This workflow runs a validation of database migrations performed by Schema Migrator.

The workflow:

  1. Checks out code
  2. Invokes the validation script.

Reusable Workflows

There are reusable workflows created. Anyone with access to a reusable workflow can call it from another workflow.

Unit Tests

This workflow runs the unit tests. No parameters are passed from the calling workflow (callee). The end-to-end unit tests use a PostgreSQL database in a Docker container as the default storage solution, which allows the execution of SQL statements during these tests. You can switch to in-memory storage by setting the DB_IN_MEMORY_FOR_E2E_TESTS environment variable to true. However, by using PostgreSQL, the tests can effectively perform instance details serialization and deserialization, providing a clearer understanding of the impacts and outcomes of these processes.

The workflow:

  1. Checks out code and sets up the cache
  2. Sets up the Go environment
  3. Invokes make go-mod-check
  4. Invokes make test

KEB Chart Install Tests

This workflow installs the KEB chart in the k3s cluster. You pass the following parameters from the calling workflow:

Parameter name Required Description
last-k3s-versions no number of most recent k3s versions to be used for tests, default = 1
release no determines if the workflow is called from release, default = true
version no chart version, default = 0.0.0.0

The workflow:

  1. Checks if the KEB chart is rendered successfully by Helm
  2. Fetches the last-k3s-versions tag versions of k3s releases
  3. Prepares the last-k3s-versions k3s clusters with the Docker registries using the list of versions from the previous step
  4. Creates required namespaces
  5. Installs required dependencies by the KEB chart
  6. Installs the KEB chart in the k3s cluster using helm install
  7. Waits for all tests to finish