-
Notifications
You must be signed in to change notification settings - Fork 0
chore: add GitHub configuration files for Dependabot, issue templates, CI Workflows #2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,92 @@ | ||
| # Copyright 2026 The Fluid Authors. | ||
| # | ||
| # Licensed under the Apache License, Version 2.0 (the "License"); | ||
| # you may not use this file except in compliance with the License. | ||
| # You may obtain a copy of the License at | ||
| # | ||
| # http://www.apache.org/licenses/LICENSE-2.0 | ||
| # | ||
| # Unless required by applicable law or agreed to in writing, software | ||
| # distributed under the License is distributed on an "AS IS" BASIS, | ||
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
| # See the License for the specific language governing permissions and | ||
| # limitations under the License. | ||
|
|
||
| name: "Fluid CLI — bug report" | ||
| description: Report incorrect behavior, crashes, or confusing output from `fluid`. | ||
| title: "[bug] " | ||
| labels: ["bug"] | ||
| body: | ||
| - type: markdown | ||
| attributes: | ||
| value: | | ||
| **fluid-cli** talks to Kubernetes clusters that run [Fluid](https://github.com/fluid-cloudnative/fluid). The fastest fixes include a tight repro, exact versions, and (redacted) command output. | ||
|
|
||
| - type: textarea | ||
| id: summary | ||
| attributes: | ||
| label: What went wrong? | ||
| description: In one short paragraph, what did you expect vs what happened? | ||
| validations: | ||
| required: true | ||
|
|
||
| - type: textarea | ||
| id: repro | ||
| attributes: | ||
| label: Reproduction steps | ||
| description: Commands you ran, in order. Use placeholder names if needed. | ||
| placeholder: | | ||
| fluid version | ||
| kubectl config current-context | ||
| fluid inspect dataset my-dataset -n fluid-system | ||
| validations: | ||
| required: true | ||
|
|
||
| - type: textarea | ||
| id: output | ||
| attributes: | ||
| label: Output / logs | ||
| description: Paste stderr/stdout. Remove secrets, tokens, and internal hostnames if needed. | ||
| render: shell | ||
| validations: | ||
| required: false | ||
|
|
||
| - type: textarea | ||
| id: cluster | ||
| attributes: | ||
| label: Cluster + Fluid context | ||
| description: Kubernetes version, cloud/on-prem, CNI if relevant, Fluid version, and whether this is a dev/test cluster. | ||
| placeholder: | | ||
| Kubernetes: v1.30.x | ||
| Fluid: v1.0.x | ||
| Install method: Helm / manifest / other | ||
| validations: | ||
| required: true | ||
|
|
||
| - type: dropdown | ||
| id: entrypoint | ||
| attributes: | ||
| label: How are you invoking the tool? | ||
| options: | ||
| - fluid (standalone binary) | ||
| - kubectl fluid (plugin) | ||
| - Not sure | ||
| validations: | ||
| required: true | ||
|
|
||
| - type: input | ||
| id: cli-version | ||
| attributes: | ||
| label: fluid-cli version | ||
| description: Output of `fluid version` (or your best guess if the command won't run). | ||
| placeholder: e.g. v0.2.0 / dev@<sha> | ||
| validations: | ||
| required: true | ||
|
|
||
| - type: checkboxes | ||
| id: checks | ||
| attributes: | ||
| label: Confirmations | ||
| options: | ||
| - label: I searched existing issues for duplicates. | ||
| required: true |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,15 @@ | ||
| # Copyright 2026 The Fluid Authors. | ||
| # | ||
| # Licensed under the Apache License, Version 2.0 (the "License"); | ||
| # you may not use this file except in compliance with the License. | ||
| # You may obtain a copy of the License at | ||
| # | ||
| # http://www.apache.org/licenses/LICENSE-2.0 | ||
| # | ||
| # Unless required by applicable law or agreed to in writing, software | ||
| # distributed under the License is distributed on an "AS IS" BASIS, | ||
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
| # See the License for the specific language governing permissions and | ||
| # limitations under the License. | ||
|
|
||
| blank_issues_enabled: true | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,72 @@ | ||
| # Copyright 2026 The Fluid Authors. | ||
| # | ||
| # Licensed under the Apache License, Version 2.0 (the "License"); | ||
| # you may not use this file except in compliance with the License. | ||
| # You may obtain a copy of the License at | ||
| # | ||
| # http://www.apache.org/licenses/LICENSE-2.0 | ||
| # | ||
| # Unless required by applicable law or agreed to in writing, software | ||
| # distributed under the License is distributed on an "AS IS" BASIS, | ||
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
| # See the License for the specific language governing permissions and | ||
| # limitations under the License. | ||
|
|
||
| name: "Fluid CLI — feature / UX idea" | ||
| description: Suggest a new command, flag, output format, or workflow improvement for operating Fluid from the terminal. | ||
| title: "[idea] " | ||
| labels: ["enhancement"] | ||
| body: | ||
| - type: markdown | ||
| attributes: | ||
| value: | | ||
| Good CLI features are **discoverable**, **predictable**, and safe on real clusters. A concrete example command or snippet helps a lot. | ||
|
|
||
| - type: textarea | ||
| id: problem | ||
| attributes: | ||
| label: Problem or gap | ||
| description: What are you trying to accomplish with Fluid on a cluster, and what's missing from the CLI today? | ||
| validations: | ||
| required: true | ||
|
|
||
| - type: textarea | ||
| id: proposal | ||
| attributes: | ||
| label: Proposed behavior | ||
| description: Example invocations, flags, default output, and how errors should read. | ||
| placeholder: | | ||
| fluid datasets list -A --sort=age | ||
| # prints: namespace, name, phase, dataset ref, last transition | ||
| validations: | ||
| required: true | ||
|
|
||
| - type: dropdown | ||
| id: scope | ||
| attributes: | ||
| label: Primary surface | ||
| options: | ||
| - New subcommand | ||
| - Extend an existing subcommand | ||
| - TUI / interactive flow | ||
| - Output / formatting only | ||
| - Docs / help text | ||
| - Other | ||
| validations: | ||
| required: true | ||
|
|
||
| - type: textarea | ||
| id: compatibility | ||
| attributes: | ||
| label: Compatibility notes | ||
| description: Should this be backward compatible? Any kubectl version constraints or breaking changes you're OK with? | ||
| validations: | ||
| required: false | ||
|
|
||
| - type: checkboxes | ||
| id: checks | ||
| attributes: | ||
| label: Confirmations | ||
| options: | ||
| - label: I’m proposing this for fluid-cli (not Fluid controller behavior unless the CLI must surface it). | ||
| required: true |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,25 @@ | ||
| # Copyright 2026 The Fluid Authors. | ||
| # | ||
| # Licensed under the Apache License, Version 2.0 (the "License"); | ||
| # you may not use this file except in compliance with the License. | ||
| # You may obtain a copy of the License at | ||
| # | ||
| # http://www.apache.org/licenses/LICENSE-2.0 | ||
| # | ||
| # Unless required by applicable law or agreed to in writing, software | ||
| # distributed under the License is distributed on an "AS IS" BASIS, | ||
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
| # See the License for the specific language governing permissions and | ||
| # limitations under the License. | ||
|
|
||
| version: 2 | ||
| updates: | ||
| - package-ecosystem: "gomod" | ||
| directory: "/" | ||
| schedule: | ||
| interval: "weekly" | ||
|
|
||
| - package-ecosystem: "github-actions" | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The pull request title and description indicate that CI and release workflows were created. However, the corresponding workflow files (typically located in |
||
| directory: "/" | ||
| schedule: | ||
| interval: "weekly" | ||
|
Comment on lines
+16
to
+25
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. To reduce the volume of individual Pull Requests and minimize maintenance overhead, it is recommended to group dependency updates. This consolidation is particularly beneficial for Go modules and GitHub Actions, where multiple minor or patch updates can be reviewed and merged together in a single weekly PR. updates:
- package-ecosystem: "gomod"
directory: "/"
schedule:
interval: "weekly"
groups:
go-dependencies:
patterns:
- "*"
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
groups:
actions-dependencies:
patterns:
- "*" |
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,38 @@ | ||
| ## Summary | ||
|
|
||
|
|
||
| ## Motivation / context | ||
|
|
||
| Why is this needed? Link an issue if one exists: Fixes # | ||
|
|
||
| ## Type of change | ||
|
|
||
| - [ ] Bug fix (user-visible misbehavior or broken command) | ||
| - [ ] Feature / UX improvement | ||
| - [ ] Refactor (no intended user-visible change) | ||
| - [ ] Tests only | ||
| - [ ] Docs / comments / metadata | ||
|
|
||
| ## Risk & rollout | ||
|
|
||
| - **User impact:** (none / low / medium) — brief note | ||
| - **Backward compatibility:** (yes / no — explain if no) | ||
|
|
||
| ## Verification | ||
|
|
||
| What did you run locally? | ||
|
|
||
| - [ ] `go test ./...` | ||
| - [ ] `go vet ./...` | ||
| - [ ] `gofmt` clean | ||
| - [ ] Exercised the command path manually (describe below) | ||
|
|
||
| **Manual check (optional):** | ||
|
|
||
| ```text | ||
| (paste commands + short output) | ||
| ``` | ||
|
|
||
| ## Screenshots / TUI | ||
|
|
||
| If this affects Bubble Tea / tables / spinners, attach a short recording or screenshot when possible. |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,72 @@ | ||
| # Copyright 2026 The Fluid Authors. | ||
| # | ||
| # Licensed under the Apache License, Version 2.0 (the "License"); | ||
| # you may not use this file except in compliance with the License. | ||
| # You may obtain a copy of the License at | ||
| # | ||
| # http://www.apache.org/licenses/LICENSE-2.0 | ||
| # | ||
| # Unless required by applicable law or agreed to in writing, software | ||
| # distributed under the License is distributed on an "AS IS" BASIS, | ||
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
| # See the License for the specific language governing permissions and | ||
| # limitations under the License. | ||
|
|
||
| # CI uses only the Go toolchain and GitHub-hosted runners (no Dagger or other build DAG). | ||
|
|
||
| name: CI | ||
|
|
||
| on: | ||
| push: | ||
| branches: [main] | ||
| pull_request: | ||
| paths-ignore: | ||
| - "*.md" | ||
| - "assets/**" | ||
| - "doc/**" | ||
| workflow_dispatch: | ||
|
|
||
| concurrency: | ||
| group: ci-${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | ||
| cancel-in-progress: true | ||
|
|
||
| permissions: | ||
| contents: read | ||
|
|
||
| jobs: | ||
| test: | ||
| runs-on: ubuntu-latest | ||
| timeout-minutes: 15 | ||
| steps: | ||
| - name: Checkout | ||
| uses: actions/checkout@v4 | ||
|
|
||
| - name: Set up Go | ||
| uses: actions/setup-go@v5 | ||
| with: | ||
| go-version-file: go.mod | ||
| cache: true | ||
|
|
||
| - name: Verify module checksums | ||
| run: go mod verify | ||
|
|
||
| - name: Verify gofmt | ||
| run: | | ||
| set -euo pipefail | ||
| out="$(find . -name '*.go' -not -path './vendor/*' -print0 | xargs -0 -r gofmt -l)" | ||
| if [ -n "${out}" ]; then | ||
| echo "${out}" | ||
| exit 1 | ||
| fi | ||
|
|
||
| - name: Vet | ||
| run: go vet ./... | ||
|
|
||
| - name: Test (race) | ||
| run: go test ./... -count=1 -race -timeout=5m | ||
|
|
||
| - name: Build | ||
| env: | ||
| CGO_ENABLED: "0" | ||
| run: | | ||
| go build -trimpath -ldflags '-s -w' -o /dev/null ./cmd/fluid |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Setting
blank_issues_enabledtofalseis recommended when providing structured issue templates. This ensures that contributors provide the necessary context (like versions and reproduction steps) required for efficient triaging, rather than submitting empty or unstructured issues.