Skip to content

Commit 73da9e3

Browse files
committed
ci: add GitHub Actions workflows and repo CI configuration
Port the relevant CI subset from kai-scheduler/KAI-Scheduler: - on-pr: validate+test jobs only (no Docker/e2e/Helm) - release-prepare + release-publish: changie-based release flow - validate-pr-title, validate-changelog, dco, approval-gatekeeper - coverage tracking (gate, badge, PR comment), backport, changelog-comment - dependabot for GitHub Actions + Go modules (main only, k8s grouping) - .golangci.yaml, .changie.yaml, .coderabbit.yaml, PR/issue templates Signed-off-by: SiorMeir <msior@nvidia.com>
1 parent b93bb1a commit 73da9e3

24 files changed

Lines changed: 1285 additions & 0 deletions

.changes/header.tpl.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# Changelog
2+
3+
All notable changes to this project will be documented in this file.
4+
5+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).

.changie.yaml

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
changesDir: .changes
2+
unreleasedDir: unreleased
3+
headerPath: header.tpl.md
4+
changelogPath: CHANGELOG.md
5+
versionExt: md
6+
# Timestamped, non-serial filenames so concurrent PRs and backports never collide.
7+
fragmentFileFormat: '{{.Kind}}-{{.Time.Format "20060102-150405"}}'
8+
versionFormat: '## [{{.Version}}] - {{.Time.Format "2006-01-02"}}'
9+
kindFormat: '### {{.Kind}}'
10+
changeFormat: '- {{.Body}}{{if .Custom.Issue}} [#{{.Custom.Issue}}](https://github.com/kai-scheduler/KAI-Scheduler/issues/{{.Custom.Issue}}){{end}}{{if .Custom.Author}} [{{.Custom.Author}}](https://github.com/{{.Custom.Author}}){{end}}'
11+
kinds:
12+
- label: Added
13+
- label: Changed
14+
- label: Fixed
15+
- label: Removed
16+
custom:
17+
- key: Issue
18+
label: Issue or PR number (optional, e.g. 1817)
19+
type: string
20+
optional: true
21+
- key: Author
22+
label: GitHub username to credit (optional)
23+
type: string
24+
optional: true
25+
newlines:
26+
afterChangelogHeader: 0
27+
beforeChangelogVersion: 1
28+
beforeKind: 1
29+
endOfVersion: 1

.coderabbit.yaml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# Copyright 2026 NVIDIA CORPORATION
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
# yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json
5+
language: "en-US"
6+
7+
reviews:
8+
auto_review:
9+
enabled: false
10+
finishing_touches:
11+
docstrings:
12+
enabled: false
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
# Copyright 2025 NVIDIA CORPORATION
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
name: Bug Report
5+
description: Tell us about a problem you are experiencing with KAI Scheduler
6+
labels: ["bug"]
7+
body:
8+
- type: textarea
9+
id: problem
10+
attributes:
11+
label: What happened?
12+
description: |
13+
Please provide as much info as possible. Not doing so may result in your bug not being
14+
addressed in a timely manner.
15+
validations:
16+
required: true
17+
- type: textarea
18+
id: expected
19+
attributes:
20+
label: What did you expect to happen?
21+
validations:
22+
- type: textarea
23+
id: environment
24+
attributes:
25+
label: Environment
26+
value: |
27+
- Kubernetes version
28+
- KAI Scheduler version
29+
- Cloud provider or hardware configuration
30+
- Tools that you are using KAI together with
31+
- Anything else that is relevant
32+
validations:
33+
- type: markdown
34+
attributes:
35+
value: Impacted by this bug? Give it a 👍 below
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# Copyright 2025 NVIDIA CORPORATION
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
name: Enhancement
5+
description: Suggest an idea for KAI Scheduler
6+
labels: ["enhancement"]
7+
body:
8+
- type: markdown
9+
attributes:
10+
value: |
11+
Thanks for taking the time to fill out this KAI Scheduler feature request form!
12+
- type: textarea
13+
id: feature
14+
attributes:
15+
label: What you would like to be added?
16+
description: |
17+
A clear and concise description of what you want to add to KAI Scheduler.
18+
validations:
19+
required: true
20+
- type: textarea
21+
id: rationale
22+
attributes:
23+
label: Why is this needed?
24+
validations:
25+
required: true
26+
- type: markdown
27+
attributes:
28+
value: Love this feature? Give it a 👍 below
29+
30+

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# SPDX-FileCopyrightText: Copyright (c) 2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
# GitHub info on config.yml
5+
# https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/configuring-issue-templates-for-your-repository#configuring-the-template-chooser
6+
# Set to 'false' if you only want the templates to be used.
7+
blank_issues_enabled: true
8+
9+
# When using discussions instead of Question issue templates,
10+
# link that below to have it show up in the 'Submit Issue' page
11+
contact_links:
12+
- name: Ask a Question
13+
url: https://github.com/kai-scheduler/kai-scheduler/discussions
14+
about: Please ask any questions here.
Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
# SPDX-FileCopyrightText: Copyright (c) 2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
2+
# SPDX-License-Identifier: Apache-2.0
3+
#
4+
# Licensed under the Apache License, Version 2.0 (the "License");
5+
# you may not use this file except in compliance with the License.
6+
# You may obtain a copy of the License at
7+
#
8+
# http://www.apache.org/licenses/LICENSE-2.0
9+
#
10+
# Unless required by applicable law or agreed to in writing, software
11+
# distributed under the License is distributed on an "AS IS" BASIS,
12+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
# See the License for the specific language governing permissions and
14+
# limitations under the License.
15+
16+
name: Documentation - Correction/Update Request
17+
description: Request corrections or updates to existing documentation
18+
title: "[DOC]: "
19+
labels: ["doc"]
20+
21+
body:
22+
- type: markdown
23+
attributes:
24+
value: |
25+
Thanks for taking the time to improve our documentation!
26+
27+
- type: dropdown
28+
id: criticality
29+
attributes:
30+
label: How would you describe the priority of this documentation request
31+
options:
32+
- Critical (currently preventing usage)
33+
- High
34+
- Medium
35+
- Low (would be nice)
36+
validations:
37+
required: true
38+
39+
- type: input
40+
id: correction_location
41+
attributes:
42+
label: Please provide a link or source to the relevant docs
43+
placeholder: "ex: https://github.com/kai-scheduler/kai-scheduler/blob/main/README.md"
44+
validations:
45+
required: true
46+
47+
- type: textarea
48+
id: problem
49+
attributes:
50+
label: Describe the problems in the documentation
51+
placeholder: The documents say to use foo.func(args) however an AttributeError is thrown
52+
validations:
53+
required: true
54+
55+
- type: textarea
56+
id: correction
57+
attributes:
58+
label: (Optional) Propose a correction
59+
placeholder: foo.func() was deprecated, replace documentation with foo.new_func()
60+
61+
- type: checkboxes
62+
id: terms
63+
attributes:
64+
label: Code of Conduct
65+
description: By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/kai-scheduler/kai-scheduler/blob/main/CODE_OF_CONDUCT.md)
66+
options:
67+
- label: I agree to follow KAI-Scheduler's Code of Conduct
68+
required: true
69+
- label: I have searched the [open documentation issues](https://github.com/kai-scheduler/kai-scheduler/issues?q=is%3Aopen+is%3Aissue+label%3Adoc) and have found no duplicates for this request
70+
required: true
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
# SPDX-FileCopyrightText: Copyright (c) 2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
2+
# SPDX-License-Identifier: Apache-2.0
3+
#
4+
# Licensed under the Apache License, Version 2.0 (the "License");
5+
# you may not use this file except in compliance with the License.
6+
# You may obtain a copy of the License at
7+
#
8+
# http://www.apache.org/licenses/LICENSE-2.0
9+
#
10+
# Unless required by applicable law or agreed to in writing, software
11+
# distributed under the License is distributed on an "AS IS" BASIS,
12+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
# See the License for the specific language governing permissions and
14+
# limitations under the License.
15+
16+
name: Documentation - New Documentation Request
17+
description: Request additions to KAI-Scheduler documentation
18+
title: "[DOC]: "
19+
labels: ["doc"]
20+
21+
body:
22+
- type: markdown
23+
attributes:
24+
value: |
25+
Thanks for taking the time to improve our documentation!
26+
27+
- type: dropdown
28+
id: criticality
29+
attributes:
30+
label: How would you describe the priority of this documentation request
31+
options:
32+
- Critical (currently preventing usage)
33+
- High
34+
- Medium
35+
- Low (would be nice)
36+
validations:
37+
required: true
38+
39+
- type: textarea
40+
id: problem
41+
attributes:
42+
label: Describe the future/missing documentation
43+
placeholder: A code snippet mentions function foo(args) but I cannot find any documentation on it.
44+
validations:
45+
required: true
46+
47+
- type: textarea
48+
id: search_locs
49+
attributes:
50+
label: Where have you looked?
51+
placeholder: |
52+
https://github.com/kai-scheduler/kai-scheduler/blob/main/README.md
53+
54+
- type: checkboxes
55+
id: terms
56+
attributes:
57+
label: Code of Conduct
58+
description: By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/kai-scheduler/kai-scheduler/blob/main/CODE_OF_CONDUCT.md)
59+
options:
60+
- label: I agree to follow KAI-Scheduler's Code of Conduct
61+
required: true
62+
- label: I have searched the project's documentation and have found no duplicates for this request
63+
required: true

.github/dependabot.yml

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# Copyright 2025 NVIDIA CORPORATION
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
version: 2
5+
updates:
6+
# Enable version updates for GitHub Actions
7+
- package-ecosystem: "github-actions"
8+
directory: "/"
9+
schedule:
10+
interval: "weekly"
11+
# Enable version updates for Go modules
12+
- package-ecosystem: "gomod"
13+
directory: "/"
14+
schedule:
15+
interval: "weekly"
16+
# Enable only security updates for existing releases
17+
# https://docs.github.com/en/code-security/reference/supply-chain-security/dependabot-options-reference#open-pull-requests-limit-
18+
open-pull-requests-limit: 0
19+
groups:
20+
kubernetes:
21+
patterns:
22+
- "k8s.io/*"
23+
- "sigs.k8s.io/*"

.github/pull_request_template.md

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
<!-- Thanks for sending a pull request! Here are some tips for you:
2+
3+
1. If this is your first time, please read our [Contributor Guide](https://github.com/kai-scheduler/KAI-scheduler/blob/main/CONTRIBUTING.md)
4+
2. If this PR is unfinished, please mark it as a draft
5+
6+
-->
7+
8+
## Description
9+
10+
<!-- What does this PR do and why? -->
11+
12+
## Related Issues
13+
14+
Fixes #
15+
16+
## Checklist
17+
18+
> **Note:** Ensure your PR title follows the [Conventional Commits format](https://github.com/kai-scheduler/KAI-scheduler/blob/main/CONTRIBUTING.md#pr-title-guidelines) (e.g., `feat(scheduler): add new feature`)
19+
20+
- [ ] Self-reviewed
21+
- [ ] Added/updated tests (if needed)
22+
- [ ] Updated documentation (if needed)
23+
- [ ] Added a changelog fragment via `make changelog` (or applied the `skip-changelog` label). Do not edit `CHANGELOG.md` directly — pending fragments are folded into it at release time.
24+
25+
## Breaking Changes
26+
27+
<!-- If yes, describe what changes and how to migrate -->
28+
29+
## Additional Notes
30+
31+
<!-- Screenshots, performance/security considerations, reviewer guidance, etc. -->

0 commit comments

Comments
 (0)