konveyor / ci

Apache License 2.0
0 stars 12 forks source link

Konveyor CI

Status

Component CI (after merge) Nightly (cron)
Hub Hub main Hub Test Suite
UI CI (repo level) CI (repo level)
E2E API Test TIER0 Test TIER1 Test TIER2 Test nightly TIER0 Test nightly TIER1 Test nightly TIER2 Test nightly TIER3
E2E UI UI E2E test UI E2E test

Release nightlies

Branch Status
main Run Konveyor main nightly tests
release-0.5 Run Konveyor release-0.5 nightly tests
release-0.4 Run Konveyor release-0.4 nightly tests
release-0.3 Run Konveyor release-0.3 nightly tests

Using the global-ci github workflow

This repository is home to the global-ci github workflow.

To use this workflow in your repository, simply add a job that references it as follows:

jobs:
  main-nightly:
    uses: konveyor/ci/.github/workflows/global-ci.yml@main

If you would like to test it while swapping out a specific component, you can build that component's docker image, upload an artifact containing the image as a tar file, and reference the artifact when calling the global workflow. Below is an example, swapping out the analyzer-lsp component:

jobs:
  build-component:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3

      - name: build and save image
        run: |
          podman build -t quay.io/konveyor/analyzer-lsp:latest .
          podman save -o /tmp/analyzer-lsp.tar quay.io/konveyor/analyzer-lsp:latest

      - name: Upload image as artifact
        uses: actions/upload-artifact@v3
        with:
          name: analyzer-lsp
          path: /tmp/analyzer-lsp.tar
          # This prevents too many artifacts from accumulating in your repository
          retention-days: 1

  e2e:
    # This references the job that uploads the artifact, to ensure it exists before the job is run
    needs: build-component
    uses: konveyor/ci/.github/workflows/global-ci.yml@main
    with:
      component_name: analyzer-lsp

Referencing specific references of the test repositories

The global-ci workflow supports the api_tests_ref and ui_tests_ref parameters (both default to main). This allows you to reference a specific commit of the tests. For example, to configure a release-0.1 nightly, referencing appropriate versions of the test repositories for the release, your job would look something like this:

jobs:
  release-0_1-nightly:
    uses: konveyor/ci/.github/workflows/global-ci.yml@main
    with:
      tag: release-0.1
      api_tests_ref: 95c17ea090d50c0c623aa7d43168f6ca8fe26a88
      ui_tests_ref: mta_6.1.1

Referencing specific pull requests in the test repositories

For repositories that are testing a subbed out component, it's possible that changes need to be made to the test repositories as well as the core component. In these cases, it is possible to change the reference for the test repositories by simply reference them in your Pull Request description.

To replace the e2e-api-integration-tests reference, add the following string to your PR description:

API tests PR: 233

replacing 233 with the appropriate konveyor/go-konveyor-tests pull request number for your tests.

To replace the e2e-ui-integration-tests reference, add the following string to your PR description:

UI tests PR: 233

replacing 233 with the appropriate konveyor/tackle-ui-tests pull request number for your tests.

Code of Conduct

Refer to Konveyor's Code of Conduct here.