Skip to content

Conversation

@velo
Copy link
Collaborator

@velo velo commented Dec 3, 2025

  The new build-and-test.yml workflow structure:

  ┌─────────────────────────┐
  │   cache-dependencies    │  ← Downloads & caches Maven artifacts, extracts version info
  └───────────┬─────────────┘
              │
      ┌───────┴───────┐
      ▼               ▼
  ┌─────────┐   ┌──────────────────┐
  │unit-test│   │integration-test  │  ← Run in parallel
  └────┬────┘   └────────┬─────────┘
       │                 │
       └────────┬────────┘
                │
                ▼ (both must pass)
      ┌─────────┴─────────┐
      ▼                   ▼
  ┌────────┐         ┌─────────┐
  │ deploy │         │ uber-jar│  ← Run in parallel, skip tests
  └────────┘         └─────────┘

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR consolidates three separate GitHub Actions workflows (deploy.yml, uber-jar.yml, and presumably an earlier build workflow) into a single, more efficient build-and-test.yml workflow. The new structure implements a dependency-based execution model where a shared cache-dependencies job feeds into parallel test jobs, which then gate the deployment and artifact generation jobs.

Key changes:

  • Introduces a dependency caching strategy to avoid redundant Maven dependency downloads across jobs
  • Separates unit and integration tests into parallel jobs for faster feedback
  • Makes deploy and uber-jar jobs run in parallel after tests pass, with test skipping via -DskipTests

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 7 comments.

File Description
.github/workflows/uber-jar.yml Removed standalone uber-jar workflow; functionality moved to build-and-test.yml
.github/workflows/deploy.yml Removed standalone deploy workflow; functionality moved to build-and-test.yml
.github/workflows/build-and-test.yml New consolidated workflow combining build, test, deploy, and uber-jar jobs with optimized dependency graph

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@velo velo force-pushed the refactor/combine-github-workflows branch from b694563 to 6841518 Compare December 4, 2025 00:17
@velo velo force-pushed the refactor/combine-github-workflows branch from 6841518 to 922151c Compare December 4, 2025 00:26
- Add setup-jdk composite action to centralize JDK 11 setup with Maven caching
- Add setup-maven-settings composite action to centralize settings.xml generation
- Replace actions/cache@v4 with built-in Maven caching from setup-java@v4
- Remove duplicate JDK setup blocks across all 5 jobs
- Remove duplicate settings.xml generation in deploy and uber-jar jobs
- Simplify deploy job conditional to be more explicit

This reduces workflow lines from ~288 to ~219 (-69 lines) while improving maintainability by eliminating code duplication.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
@ferenc-csaky ferenc-csaky force-pushed the refactor/combine-github-workflows branch from 9f61786 to 81cf511 Compare December 4, 2025 14:00
@ferenc-csaky ferenc-csaky changed the title Combine deploy and uber-jar workflows into build-and-test.yml Improve CI pipeline Dec 4, 2025
@ferenc-csaky ferenc-csaky merged commit 452db06 into main Dec 4, 2025
5 checks passed
@ferenc-csaky ferenc-csaky deleted the refactor/combine-github-workflows branch December 4, 2025 14:11
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.

3 participants