Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
92 changes: 92 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
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
15 changes: 15 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
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
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

medium

Setting blank_issues_enabled to false is 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.

blank_issues_enabled: false

72 changes: 72 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yml
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
25 changes: 25 additions & 0 deletions .github/dependabot.yml
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"
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

high

The pull request title and description indicate that CI and release workflows were created. However, the corresponding workflow files (typically located in .github/workflows/) are missing from the changes in this PR. Since this github-actions ecosystem configuration is being added to Dependabot, the actual workflow files should be included to fulfill the PR's stated objectives.

directory: "/"
schedule:
interval: "weekly"
Comment on lines +16 to +25
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

medium

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:
          - "*"

38 changes: 38 additions & 0 deletions .github/pull_request_template.md
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.
72 changes: 72 additions & 0 deletions .github/workflows/ci.yaml
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
Loading
Loading