Skip to content

fix: show catalog CLI usage only for argument errors #244

fix: show catalog CLI usage only for argument errors

fix: show catalog CLI usage only for argument errors #244

Workflow file for this run

name: migration-test
on:
workflow_dispatch:
pull_request:
merge_group:
push:
branches:
- main
permissions:
contents: read
jobs:
unit-coverage:
name: migration unit coverage
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
with:
persist-credentials: false
- uses: actions/setup-go@v7
with:
go-version-file: go.mod
- name: Run unit tests with coverage
run: make migration/test-unit
- name: Upload unit coverage
if: always()
uses: actions/upload-artifact@v7
with:
name: migration-unit-coverage
path: artifacts/coverage
if-no-files-found: ignore
fixture:
name: migration fixture E2E
runs-on: ubuntu-latest
timeout-minutes: 45
steps:
- uses: actions/checkout@v7
with:
persist-credentials: false
- uses: actions/setup-go@v7
with:
go-version-file: go.mod
- name: Set up fixture cluster
run: make migration/e2e-fixture-setup
- name: Run fixture migration tests
run: make migration/test-e2e-fixture-matrix
- name: Verify batch selection and dry-run safety
run: make migration/test-e2e-batch
- name: Verify soft acknowledgments and hard-block refusal
run: make migration/test-e2e-acknowledgments
- name: Verify backup contents and deletion ordering
run: make migration/test-e2e-backup
- name: Verify cross-namespace fixture migration
run: make migration/test-e2e-cross-namespace
- name: Verify system-managed namespace fixture migration
run: make migration/test-e2e-system-managed-namespace
- name: Tear down fixture cluster
if: always()
run: E2E_CLUSTER_NAME=library-olm-fixture-e2e make migration/e2e-teardown
- name: Upload fixture diagnostics and coverage
if: always()
uses: actions/upload-artifact@v7
with:
name: migration-fixture-e2e-artifacts
path: artifacts/e2e
if-no-files-found: ignore
cos-supersession:
name: migration COS supersession E2E
runs-on: ubuntu-latest
timeout-minutes: 45
steps:
- uses: actions/checkout@v7
with:
persist-credentials: false
- uses: actions/setup-go@v7
with:
go-version-file: go.mod
- name: Set up fixture cluster
run: make migration/e2e-fixture-setup
- name: Verify migrated ClusterObjectSet supersession
run: make migration/test-e2e-cos-supersession
- name: Tear down fixture cluster
if: always()
run: E2E_CLUSTER_NAME=library-olm-fixture-e2e make migration/e2e-teardown
- name: Upload COS supersession diagnostics
if: always()
uses: actions/upload-artifact@v7
with:
name: migration-cos-supersession-e2e-artifacts
path: artifacts/e2e
if-no-files-found: ignore
in-cluster-job:
name: migration in-cluster Job E2E
runs-on: ubuntu-latest
timeout-minutes: 45
steps:
- uses: actions/checkout@v7
with:
persist-credentials: false
- uses: actions/setup-go@v7
with:
go-version-file: go.mod
- name: Run in-cluster migration Job test
run: make migration/test-e2e-in-cluster-job
- name: Tear down fixture cluster
if: always()
run: E2E_CLUSTER_NAME=library-olm-fixture-e2e make migration/e2e-teardown
coverage:
name: migration total coverage
needs: [unit-coverage, fixture, cos-supersession, live]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
with:
persist-credentials: false
- uses: actions/setup-go@v7
with:
go-version-file: go.mod
- name: Download unit coverage
uses: actions/download-artifact@v8
with:
name: migration-unit-coverage
path: artifacts/coverage
- name: Download fixture E2E coverage
uses: actions/download-artifact@v8
with:
name: migration-fixture-e2e-artifacts
path: artifacts/e2e
- name: Download COS supersession E2E coverage
uses: actions/download-artifact@v8
with:
name: migration-cos-supersession-e2e-artifacts
path: artifacts/e2e
- name: Download live E2E coverage
uses: actions/download-artifact@v8
with:
name: migration-live-e2e-artifacts
path: artifacts/e2e
- name: Display combined coverage
run: make migration/report-coverage-all
live:
name: migration live-operator E2E
runs-on: ubuntu-latest
timeout-minutes: 120
steps:
- uses: actions/checkout@v7
with:
persist-credentials: false
- uses: actions/setup-go@v7
with:
go-version-file: go.mod
- name: Set up live cluster
run: make migration/e2e-setup
- name: Run live-operator migration tests
run: make migration/test-e2e-live-matrix
- name: Verify acknowledged live source-namespace deletion
run: make migration/test-e2e-live-namespace-delete
- name: Tear down live cluster
if: always()
run: make migration/e2e-teardown
- name: Upload live diagnostics and coverage
if: always()
uses: actions/upload-artifact@v7
with:
name: migration-live-e2e-artifacts
path: artifacts/e2e
if-no-files-found: ignore