Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Sep 30, 2025

Fixes the issue by converting all maven-invoker-plugin tests to regular integration tests in the tycho-its module, providing a single consistent testing approach across the Tycho project.

Problem

The use of maven-invoker-plugin for integration tests had several drawbacks:

  • Tests didn't appear in CI reports, only showing as build failures
  • Difficult to debug - required running locally and finding log files
  • Hard to investigate - needed to understand groovy scripts and invoker properties
  • Slower build times for regular verification
  • Referenced legacy tycho-snapshot repositories from when tycho-extras was separate
  • Unclear dependencies on the full Tycho build

Solution

Converted all maven-invoker-plugin tests to standard JUnit integration tests in the tycho-its module following the established pattern.

Changes Made

tycho-buildtimestamp-jgit:

  • Converted 6 invoker tests to BuildTimestampJgitTest.java extending AbstractTychoIntegrationTest
  • Moved test project zip files (containing git repositories) to tycho-its/projects/buildtimestamp.jgit/
  • Removed src/it/ directory with groovy scripts
  • Removed invoker plugin configuration and UnzipFile utility class

tycho-extras:

  • Removed maven-invoker-plugin configuration from parent pom
  • Removed empty invoker plugin profiles from tycho-dependency-tools-plugin and tycho-p2-extras-plugin
  • Removed commented-out invoker tests from target-platform-validation-plugin (already inactive)

tycho-its:

  • Added plexus-archiver dependency for extracting test project zip files
  • Created new test class with all 6 test methods: basic, submodules, dirtyWorkingTree, dirtySubmodules, dirtyWorkingTreeWarningOnly, and dirtyUnrelatedSubmodules

Benefits

✅ Tests now appear as proper JUnit tests in CI reports and GitHub Actions
✅ Easier to debug with standard Java debugging tools
✅ Full Maven build logs visible in CI output
✅ Single consistent test pattern - all integration tests now in tycho-its
✅ Clear that integration tests only run after full Tycho build
✅ Removed 560+ lines of code (groovy scripts, invoker configs, etc.)

The conversion maintains full test coverage while improving developer experience and CI visibility.

Original prompt

This section details on the original issue you should resolve

<issue_title>Convert invoker tests to "regular" integration tests</issue_title>
<issue_description>Tycho-extras uses the maven-invoker plugin to run Integrationtest.

I think this has several drawbacks:

  • It is really hard to find out whats going on, e.g. our regular integration tests show the full build-log output on the jenkins/gh actions, for the invoker ones it is required to run them locally, find the logfile, investigate some properties and/or groovy scripts
  • currently the ci build dos not regogize them as tests and thus only shows a build failure even though it is actually a test-failure
  • I find them hard to debug as well
  • They don't bring a value over our standard integration-test but slow down the build times for a regular build/junit test verification
  • back from the time where tycho-extras was a seperate project they reference a tycho-snapshot repository what most likeley is not what we want
  • As they depend on large parts of tycho they are not really local to the module and thus it is unclear if such projects would require to depend "on everything" to work correctly

So I think we better should convert them to be placed in the tycho-its module so we can make sure there is only one way tycho developers must be familiar with and it is always clear that integration tests are only run after everything from tycho is build.
</issue_description>

<agent_instructions>Currently we use maven-invoker-plugin plugin in some places.
These should be converted into integration test as we use them in https://github.com/eclipse-tycho/tycho/tree/main/tycho-its</agent_instructions>

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

Fixes #685

✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

Copilot AI changed the title [WIP] Convert invoker tests to "regular" integration tests Convert maven-invoker-plugin tests to regular integration tests Sep 30, 2025
Copilot AI requested a review from laeubi September 30, 2025 16:21
Co-authored-by: laeubi <1331477+laeubi@users.noreply.github.com>
@laeubi laeubi force-pushed the copilot/fix-f997dbcc-6c3a-44ff-85c9-b39ae6acceec branch from d02340d to dfc915c Compare October 23, 2025 08:03
@github-actions
Copy link

Test Results

1 020 files  1 020 suites   5h 42m 50s ⏱️
1 309 tests 1 283 ✅ 20 💤  6 ❌
3 927 runs  3 846 ✅ 63 💤 18 ❌

For more details on these failures, see this check.

Results for commit dfc915c.

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.

Convert invoker tests to "regular" integration tests

2 participants