-
-
Notifications
You must be signed in to change notification settings - Fork 63
Add contributor guide #285
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: develop
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,60 @@ | ||
| # Contributing | ||
|
|
||
| Thanks for your interest in contributing to Tyde. | ||
|
|
||
| Tyde is a Go desktop environment built with Fyne. Useful contributions are focused, based on the `develop` branch, and include tests or validation for the desktop, window manager, or platform behavior they affect. | ||
|
|
||
| ## Getting Started | ||
|
|
||
| 1. Install Go. | ||
| 2. Fork and clone the repository. | ||
| 3. Base your work on the `develop` branch. | ||
|
|
||
| ```bash | ||
| git clone https://github.com/FyshOS/tyde.git | ||
| cd tyde | ||
| git checkout develop | ||
| git checkout -b your-change | ||
| ``` | ||
|
|
||
| Some local checks and tests need desktop or graphics-related system libraries. The GitHub Actions workflows install packages such as `clang`, `lld`, Mesa/OpenGL development libraries, X11/Wayland development libraries, `libpam-dev`, and `xvfb` on Linux. | ||
|
|
||
| ## Local Tests | ||
|
|
||
| Run the Go test suite before opening a pull request: | ||
|
|
||
| ```bash | ||
| go test -tags ci -covermode=atomic -coverprofile=coverage.out ./... | ||
|
Member
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. covermode adds slowness and is not required to test. |
||
| ``` | ||
|
|
||
| On Linux, the CI workflow runs the main test suite under `xvfb-run` and also runs Wayland-specific tests: | ||
|
Member
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. Another actions report - this is not needed for developers as they have X running already. |
||
|
|
||
| ```bash | ||
| xvfb-run go test -tags ci -covermode=atomic -coverprofile=coverage.out ./... | ||
| go test -tags no_glfw,ci,wayland ./... | ||
| ``` | ||
|
|
||
| ## Static Analysis | ||
|
|
||
| The static analysis workflow runs: | ||
|
|
||
| ```bash | ||
| go vet ./... | ||
| gofumpt -d -e . | ||
| goimports -e -d . | ||
| gocyclo -over 30 . | ||
| staticcheck ./... | ||
| ``` | ||
|
|
||
| If formatting tools report changes, apply them before pushing. | ||
|
|
||
| ## Pull Requests | ||
|
|
||
| Please keep pull requests focused and include: | ||
|
|
||
| - what changed | ||
| - why the change is needed | ||
| - which tests and static checks you ran | ||
| - whether the change affects public APIs, desktop behavior, window manager behavior, or platform-specific code | ||
|
|
||
| The pull request template asks contributors to include tests, run lint and formatting checks, and confirm that tests pass. If any item does not apply, explain why in the pull request. | ||
|
Member
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. This also seems like an AI-ism. Describe that the user should do rather than what they might find. i.e. When opening a pull request remember to complete the pull request template on GitHub |
||
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.
This seems to be a report of what actions have been seen to do rather than what contributors should set up. It would be better to be explicit or link to https://docs.fyne.io/started/quick/