Thank you for your support. Help is always appreciated!
- Ask questions or discuss ideas on GitHub Discussions
- Report bugs or suggest features by opening an issue
The following tools need to be installed:
Follow the installation instructions for the following dependencies:
- Bitwarden Go SDK (optional, only required if you're building with Bitwarden support. Not required when building with the
nobitwardenbuild tag)
- Set up Git Commit Signing if you haven't already done so. Please always sign your commits!
- Clone the repository.
- In the cloned repo, execute
make toolson your command line to download/install the Go tool binaries (like linters and formatters).
Please follow these guidelines when contributing code:
- Write comments and documentation where necessary.
- Follow Go best practices and conventions. Refer to the Effective Go guide for more information.
- Write unit tests for your code that cover various scenarios and edge cases including error cases if applicable.
- Write clear, concise, and descriptive commit messages and use conventional commits.
- Always sign your commits. See Signing commits for more information.
After you wrote your code, run make fmt to format and lint your code. Adjust your code accordingly to the proposals of the linter output.
The CI pipeline will fail, if the code is not formatted correctly.
Always add unit tests to verify your code.
Run the tests with make test or make test-verbose and run specific tests with make test-run <testName> (Verbose with make test-run "-v <testName>").
You can provide container registry credentials to avoid rate limiting issues when running tests.
Follow the Accessing private container registries Guide in the Wiki for more information.
Create a .env file and add any environment variables required for your development environment.
For example
GIT_ACCESS_TOKEN=xxx
WEBHOOK_SECRET=test_secret
SOPS_AGE_KEY=AGE-SECRET-KEY-xxx
APPRISE_NOTIFY_URLS=xxx
API_SECRET=xxxRun the following command to build and run the doco-cd dev container:
docker compose -f dev.compose.yaml up --buildIf you want to build the project without Bitwarden Secrets Manager support (e.g., for armv7 architecture where Bitwarden SDK is not compatible), use the nobitwarden build tag:
CGO_ENABLED=0 go build -tags nobitwarden -o doco-cd ./cmd/doco-cdOr using Docker with the DISABLE_BITWARDEN=true build argument:
docker build --build-arg DISABLE_BITWARDEN=true -t doco-cd:nobitwarden .- Commit your changes with a descriptive commit message, following the conventional commits specification.
- Push your changes to your fork/branch.
- Open a pull request against the
mainbranch of this repository and provide a clear description of your changes.