Skip to content

feat(ci): separate CI workflows by tooling with label-based execution#639

Draft
Copilot wants to merge 3 commits intomainfrom
copilot/exclude-code-conversion-ci
Draft

feat(ci): separate CI workflows by tooling with label-based execution#639
Copilot wants to merge 3 commits intomainfrom
copilot/exclude-code-conversion-ci

Conversation

Copy link
Contributor

Copilot AI commented Dec 15, 2025

Description

Implements label-based CI execution to prevent code-conversion and model-converter tests from running when working on data-migrator, and vice versa.

Label behavior on PRs:

  • No labels → runs data-migrator CI (distro + e2e + integration tests)
  • ci:data-migrator → explicitly runs data-migrator CI
  • ci:model-converter → runs model-converter tests only
  • ci:code-conversion → runs code-conversion tests only
  • Existing scope labels (ci:runtime, ci:history, ci:identity) continue to control integration test subsets

Unconditional execution:

  • Push to main, scheduled runs, and manual dispatch run all jobs regardless of labels

Implementation:

  • Added if conditions to all CI jobs using GitHub Actions label expressions
  • Data-migrator jobs default to running when no tooling labels present
  • Tooling-specific jobs (model-converter, code-conversion) only run with explicit labels on PRs
  • Documented label usage in README contributing section

Type of Change

  • New feature (non-breaking change which adds functionality)
  • Documentation update

Testing Checklist

Black-Box Testing Requirements

  • Tests follow black-box testing approach: verify behavior through observable outputs (logs, C8 API queries, real-world skip scenarios)
  • Tests DO NOT access implementation details (DbClient, IdKeyMapper, ..impl.. packages except logging constants)
  • Architecture tests pass (ArchitectureTest validates these rules)

Test Coverage

  • Added tests for new functionality
  • Updated tests for modified functionality
  • All tests pass locally

Architecture Compliance

N/A - CI workflow changes only

Documentation

  • Updated README if user-facing changes

Checklist

  • Code follows project style guidelines
  • Self-reviewed the code
  • Added comments for complex logic
  • No new compiler warnings
  • Dependent changes have been merged

Related Issues

related to #issue

Original prompt

This section details on the original issue you should resolve

<issue_title>Separate CI for different tooling</issue_title>
<issue_description>### Acceptance Criteria (Required on creation)
Exclude the code-conversion and diagram-migrator CI from the Data Migrator CI

Hints

By default run the data-migrator CI
Based on PR labels CI runs for a single or multiple tooling

Links

Breakdown

Pull Requests

Dev2QA handover

  • Does this ticket need a QA test, and are the testing goals not clear from the description? Add a Dev2QA handover comment
    </issue_description>

<agent_instructions>The GitHub action CI only runs the respective tests of its module. You can use the maven flag -f to specify the respective pom.xml, but am also open to better approaches.

  • CI / model-converter
    • Only runs tests in module model-converter.
  • CI / code-conversion
    • Only runs tests in module code-conversion.
  • CI / distro
    • Only runs unit tests in module data-migrator.
    • No integration tests in data-migrator/qa/e2e-tests.
  • CI / e2e
    • Only runs tests in module data-migrator/qa/e2e-tests.
  • CI / it-history-h2
    • Only runs tests in module data-migrator/qa/integration-tests.
  • CI / it-history-h2-windows
    • Only runs tests in module data-migrator/qa/integration-tests.
  • CI / it-history-oracle
    • Only runs tests in module data-migrator/qa/integration-tests.
  • CI / it-history-postgresql
    • Only runs tests in module data-migrator/qa/integration-tests.
  • CI / it-identity-h2
    • Only runs tests in module data-migrator/qa/integration-tests.
  • CI / it-identity-oracle
    • Only runs tests in module data-migrator/qa/integration-tests.
  • CI / it-identity-postgresql
    • Only runs tests in module data-migrator/qa/integration-tests.
  • CI / it-runtime-h2
    • Only runs tests in module data-migrator/qa/integration-tests.
  • CI / it-runtime-oracle
    • Only runs tests in module data-migrator/qa/integration-tests.
  • CI / it-runtime-postgresql
    • Only runs tests in module data-migrator/qa/integration-tests.</agent_instructions>

Comments on the Issue (you are @copilot in this section)


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

Copilot AI and others added 2 commits December 15, 2025 10:06
Co-authored-by: tasso94 <3015690+tasso94@users.noreply.github.com>
Co-authored-by: tasso94 <3015690+tasso94@users.noreply.github.com>
Copilot AI changed the title [WIP] Separate CI for code-conversion and data migrator feat(ci): separate CI workflows by tooling with label-based execution Dec 15, 2025
Copilot AI requested a review from tasso94 December 15, 2025 10:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Separate CI for different tooling

2 participants