Skip to content

Add minimal CI workflows#11

Merged
em3s merged 11 commits intomainfrom
init/ci
Jan 7, 2026
Merged

Add minimal CI workflows#11
em3s merged 11 commits intomainfrom
init/ci

Conversation

@eazyhozy
Copy link
Member

@eazyhozy eazyhozy commented Jan 5, 2026

Summary

This PR introduces a minimal GitHub Actions CI workflow to ensure stable and repeatable merges in the early stage of the open-source project.

Result (edited)

Based on feedback in #11 (comment), the actions/labeler scripts were removed.

This PR includes only:

  • CI (build) workflow
  • Gradle cache configuration
SCR-20260107-mmpp

Referrer

This introduces an automatic pull request labeler using GitHub Actions to streamline workflow management.
@eazyhozy eazyhozy requested review from em3s and zipdoki January 5, 2026 02:13
@eazyhozy eazyhozy self-assigned this Jan 5, 2026
This ensures that labels remain consistent by automatically syncing them.
Introduce a CI pipeline using GitHub Actions to automate
builds, tests, and test report summarization.
This simplifies the workflow by limiting triggers to push events only.
Standardize and clarify job naming to improve readability.
Enable better control over cache modifications by adding the cache-read-only parameter.
Optimize build performance by enabling Gradle caching in the configuration.
Expand labeler configuration by adding categories for build, core, engine, platform, server, and website changes.
@github-actions github-actions bot added the Build label Jan 6, 2026
Add new categories for CI/CD, documentation, and test changes to enhance labeling granularity.
@github-actions github-actions bot added the CI/CD label Jan 6, 2026
@eazyhozy eazyhozy removed the Workflow label Jan 6, 2026
@eazyhozy
Copy link
Member Author

eazyhozy commented Jan 6, 2026

@dosu Can you review this PR?

@dosubot
Copy link

dosubot bot commented Jan 6, 2026

Here's what I found: the only CI workflow currently in the repository is for website deployment via GitHub Pages, which runs build steps for the website but does not cover general build, test, lint, or labeler automation for the main codebase. The minimal CI pipeline (build, test, lint) is explicitly listed as a required task for the initial open-source release, and the project plans to use actions/labeler for short-term labeling automation, with a long-term goal of adopting AI-native tools like DosuBot for richer automation and PR feedback.

If this PR adds a minimal CI workflow with build, test, and labeler steps as described, it aligns well with both the project's roadmap and best practices seen in projects like Apache Spark and slatedb/slatedb. I recommend confirming that the workflow includes at least: a build job for the main codebase, a test job (even if minimal), linting (if applicable), and a labeler configuration. This will ensure stable, repeatable merges and help with early contributor onboarding. If any of these are missing, consider adding them to match the project's stated goals and community standards.

References:

To reply, just mention @dosu.


How did I do? Good | Irrelevant | Incorrect | Verbose | Hallucination | Report 🐛 | Other

Open in Cursor Join Discord Share on X

@eazyhozy
Copy link
Member Author

eazyhozy commented Jan 6, 2026

@dosu Can you add labels to this PR?

@em3s em3s mentioned this pull request Jan 6, 2026
10 tasks
@dosubot
Copy link

dosubot bot commented Jan 6, 2026

There isn’t an automated labeler or label configuration set up in this repo yet, so labels need to be added manually. For this PR, which introduces a minimal CI workflow, I recommend using standard labels like ci, github-actions, and workflow. These are common for changes related to continuous integration and GitHub Actions setup. If you want to establish a convention, these would be a good starting point.

To reply, just mention @dosu.


How did I do? Good | Irrelevant | Incorrect | Verbose | Hallucination | Report 🐛 | Other

Open in Cursor Join Discord Share on X

@eazyhozy eazyhozy marked this pull request as ready for review January 6, 2026 09:23
@dosubot dosubot bot added size:L This PR changes 100-499 lines, ignoring generated files. enhancement New feature or request labels Jan 6, 2026
@em3s
Copy link
Contributor

em3s commented Jan 7, 2026

From a brief offline discussion between @em3s and @eazyhozy, we are sharing a short summary here for transparency.

Current state

  • @dosu is currently used to automatically add labels when Issues or PRs are opened.
  • Labels are selected from existing GitHub labels, and the specific set used by Dosu is configured in the Dosu app (https://app.dosu.dev).
  • All Contributors can mention @dosu in Issues or PRs to interact with it (e.g. reviews, Q&A, summaries).

Plan and direction

  • At the moment, Dosu is connected via a personal account on the free plan.
  • We are considering moving to a paid plan through the internal software purchase process (supported by Kakao Corp.) if this setup continues to be useful.
  • This is not a fixed decision. We will keep evaluating whether this approach works well for the community, and we are open to improving or adjusting our tooling as the project evolves.

@em3s
Copy link
Contributor

em3s commented Jan 7, 2026

Please remove the rule-based labeler from this PR and keep the scope focused on the minimal CI setup.

@eazyhozy

Delete labeler.yml and pr-labeler.yml to simplify the repository and reduce maintenance overhead.
@dosubot dosubot bot added size:M This PR changes 30-99 lines, ignoring generated files. and removed size:L This PR changes 100-499 lines, ignoring generated files. labels Jan 7, 2026
@eazyhozy eazyhozy removed the size:M This PR changes 30-99 lines, ignoring generated files. label Jan 7, 2026
@eazyhozy eazyhozy added size:L This PR changes 100-499 lines, ignoring generated files. and removed Build labels Jan 7, 2026
@eazyhozy
Copy link
Member Author

eazyhozy commented Jan 7, 2026

@em3s
Thanks for the review. The rule-based labeler has been removed and the PR is now focused on the minimal CI setup (e5d47c2).

This PR enables Gradle build cache via org.gradle.caching=true.

Please review whether this is appropriate as a default setting for the project, and let me know if there are any concerns regarding cache safety or CI behavior.

@em3s em3s added size:M This PR changes 30-99 lines, ignoring generated files. and removed size:L This PR changes 100-499 lines, ignoring generated files. labels Jan 7, 2026
@eazyhozy
Copy link
Member Author

eazyhozy commented Jan 7, 2026

@dosu please update your previous review #11 (comment).

@dosubot
Copy link

dosubot bot commented Jan 7, 2026

The PR now focuses only on a minimal CI workflow with Gradle cache enabled, and the rule-based labeler scripts have been removed as requested. Enabling org.gradle.caching=true in CI is generally a good default for early-stage projects: it speeds up builds and helps ensure repeatability. However, it's important to watch for potential issues like non-deterministic tasks, cache poisoning, or sensitive artifacts being cached. To minimize risk, use unique cache keys, avoid caching outputs from non-deterministic steps, and monitor cache usage in build logs. Regularly reviewing CI performance and correctness as the project evolves is recommended. Once merged, a follow-up review can help catch any project-specific issues with the cache or workflow setup.

To reply, just mention @dosu.


How did I do? Good | Irrelevant | Incorrect | Verbose | Hallucination | Report 🐛 | Other

Open in Cursor Join Discord Share on X

Copy link
Contributor

@em3s em3s left a comment

Choose a reason for hiding this comment

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

LGTM 👍

I checked the workflow run:
https://github.com/kakao/actionbase/actions/runs/20767979252

Everything works as expected. The PR is well-scoped to a minimal CI setup.

@dosubot dosubot bot added the lgtm This PR has been approved by a maintainer label Jan 7, 2026
@em3s
Copy link
Contributor

em3s commented Jan 7, 2026

I’ve already approved this PR 👍

Before merging, could you please make a small adjustment to align with the intended CI scope?

  • Only PRs targeting main
  • Exclude draft PRs
  • Cover direct pushes to main

A possible configuration would be:

on:
  push:
    branches: [ main ]

  pull_request:
    branches: [ main ]
    types:
      - opened
      - reopened
      - synchronize
      - ready_for_review

@eazyhozy

@eazyhozy eazyhozy marked this pull request as draft January 7, 2026 08:58
Add branch-specific triggers for `push` and `pull_request` events, and include conditions to skip draft pull requests.
@eazyhozy eazyhozy marked this pull request as ready for review January 7, 2026 09:04
@eazyhozy
Copy link
Member Author

eazyhozy commented Jan 7, 2026

@em3s

Thanks for the suggestion.
I’ve updated the CI config to match the intended scope:

on:
  push:
    branches: [ main ]

  pull_request:
    branches: [ main ]
    types:
      - opened
      - reopened
      - synchronize
      - ready_for_review

jobs:
  build:
    if: >
      github.event_name == 'push' ||
      (github.event_name == 'pull_request' && github.event.pull_request.draft == false)

@em3s
Copy link
Contributor

em3s commented Jan 7, 2026

LGTM 👍

@em3s em3s merged commit 353cb90 into main Jan 7, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request lgtm This PR has been approved by a maintainer size:M This PR changes 30-99 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants