-
-
Notifications
You must be signed in to change notification settings - Fork 178
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Improve documentation for different markdown documentation files. Goal is to simplify and make the language and content more clear.
- Loading branch information
1 parent
1bcc6c8
commit b7ea925
Showing
7 changed files
with
158 additions
and
111 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,34 +1,51 @@ | ||
# Contributing | ||
|
||
- Love your input! Contributing to this project should be as easy and transparent as possible, whether it's: | ||
- Reporting a bug | ||
- Discussing the current state of the code | ||
- Submitting a fix | ||
- Proposing new features | ||
- Becoming a maintainer | ||
Love your input! Contributing to this project should be as easy and transparent as possible, whether it's: | ||
|
||
- reporting a bug, | ||
- discussing the current state of the code, | ||
- submitting a fix, | ||
- proposing new features, | ||
- or becoming a maintainer. | ||
|
||
As a small open source project with small community, it can sometimes take a long time to address the issues so please be patient. | ||
|
||
## Pull request process | ||
|
||
- [GitHub flow](https://guides.github.com/introduction/flow/index.html) with [GitOps](./img/architecture/gitops.png) is used | ||
- Your pull requests are actively welcomed. | ||
- The steps: | ||
1. Fork the repo and create your branch from master. | ||
2. If you've added code that should be tested, add tests. | ||
3. If you've changed APIs, update the documentation. | ||
4. Ensure the test suite passes. | ||
5. Make sure your code lints. | ||
6. Issue that pull request! | ||
- 🙏 DO | ||
- Document your changes in the pull request | ||
- ❗ DON'T | ||
- Do not update the versions, current version is only [set by the maintainer](./img/architecture/gitops.png) and updated automatically by [bump-everywhere](https://github.com/undergroundwires/bump-everywhere) | ||
Your pull requests are actively welcomed. We collaborate using [GitHub flow](https://docs.github.com/en/get-started/quickstart/github-flow). | ||
|
||
## License | ||
The steps: | ||
|
||
1. Fork the repo and create your branch from master. | ||
2. If you've added code that requires testing, add tests. See [tests.md](./docs/tests.md). | ||
3. If you've done a major change, update the documentation. See [docs/](./docs/). | ||
4. Ensure the test suite passes. See [development.md | Testing](./docs/development.md#testing) for commands. | ||
5. Make sure your code lints.See [development.md | Linting](./docs/development.md#linting) for commands. | ||
6. Issue that pull request! | ||
|
||
**🙏 DO:** | ||
|
||
- Document why (what you're trying to solve) rather than what in the pull request. | ||
|
||
**❗ DON'T:** | ||
|
||
By contributing, you agree that your contributions will be licensed under its [GNU General Public License v3.0](./LICENSE). | ||
- Do not update the versions, current version is [set by the maintainer](./docs/ci-cd.md#gitops) and updated automatically by [bump-everywhere](https://github.com/undergroundwires/bump-everywhere). | ||
|
||
## Read more | ||
Automated pipelines will run to control your PR and they will publish your code once the maintainer merges your PR. | ||
|
||
📖 You can read more in [ci-cd.md](./docs/ci-cd.md). | ||
|
||
## Extend scripts | ||
|
||
Here's quick information for you who want to add more scripts. | ||
|
||
You have two alternatives: | ||
|
||
1. [Create an issue](https://github.com/undergroundwires/privacy.sexy/issues/new/choose) and ask for someone else to add the script for you. | ||
2. Or send a PR yourself. This would make it faster to get your code into the project. You need to add scripts to related OS in [collections](src/application/collections/) folder. Then you'd sent a pull request, see [pull request process](#pull-request-process). | ||
- 📖 If you're unsure about the syntax, check [collection-files.md](docs/collection-files.md). | ||
- 📖 If you wish to use templates, use [templating.md](./docs/templating.md). | ||
|
||
## License | ||
|
||
- See [tests](./docs/tests.md) for testing | ||
- See [extend script](./README.md#extend-scripts) for quick steps to extend scripts | ||
- See [architecture overview](./docs/architecture.md) to deep dive into privacy.sexy codebase | ||
By contributing, you agree that your [GNU General Public License v3.0](./LICENSE) will be the license for your contributions. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,19 +1,45 @@ | ||
# Pipelines | ||
# CI/CD overview | ||
|
||
Pipelines are found under [`.github/workflows`](./../.github/workflows). | ||
## GitOps | ||
|
||
CI/CD is fully automated using different Git events and GitHub actions. This repository uses [bump-everywhere](https://github.com/undergroundwires/bump-everywhere) to automate versioning, tagging, creation of `CHANGELOG.md` and GitHub releases. A dedicated workflow [release.desktop.yaml](./../.github/workflows/release.desktop.yaml) creates desktop installers and executables and attaches them into GitHub releases. | ||
|
||
Everything that's merged in the master goes directly to production. | ||
|
||
[![CI/CD using GitHub Actions](./../img/architecture/gitops.png)](../.github/workflows/) | ||
|
||
## Pipeline files | ||
|
||
privacy.sexy uses [GitHub actions](https://github.com/features/actions) to define and run pipelines as code. | ||
|
||
GitHub workflows i.e. pipelines exist in [`/.github/.workflows/`](./../.github/workflows/) folder without any subfolders due to GitHub actions requirements [1] . | ||
|
||
[1]: https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#about-yaml-syntax-for-workflows | ||
|
||
## Pipeline types | ||
|
||
They are categorized based on their type: | ||
We categorize pipelines into different categories. We use these names in convention when naming files and actions, see [naming conventions](#naming-conventions). | ||
|
||
The categories consist of: | ||
|
||
- `tests`: Different types of tests to verify functionality. | ||
- `checks`: Other controls such as vulnerability scans or styling checks. | ||
- `release`: Pipelines used for release of deployment such as building and testing. | ||
|
||
## Naming conventions | ||
|
||
Pipeline files are named using: **`<type>.<name>.yaml`**. | ||
Convention for naming pipeline files: **`<type>.<name>.yaml`**. | ||
|
||
**`type`**: | ||
|
||
- Sub-folders do not work for GitHub workflows [1] so we use `<type>.` prefix to organize them. | ||
- See also [pipeline types](#pipeline-types) for list of all usable types. | ||
|
||
**`name`**: | ||
|
||
**`type`**: Sub-folders do not work for GitHub workflows so that's why `<type>.` prefix is used. See also [pipeline types](#pipeline-types). | ||
- We name workflows using kebab-case. | ||
- E.g. file name `tests.unit.yaml`, pipeline file should set the naem as: `name: unit-tests`. | ||
- Kebab-case allows to have better URL references to them. | ||
- [README.md](./../README.md) uses URL references to show status badges for actions. | ||
|
||
**`name`**: Pipeline themselves are named using kebab case. It allows for easier URL references for their status badges. E.g. file name `tests.unit.yaml`, pipeline name: `name: unit-tests` | ||
[1]: https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#about-yaml-syntax-for-workflows |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.