forked from eclipse-iofog/iofogctl
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCONTRIBUTING
More file actions
104 lines (65 loc) · 3.5 KB
/
Copy pathCONTRIBUTING
File metadata and controls
104 lines (65 loc) · 3.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
# Contributing to Eclipse iofogctl
Thanks for your interest in this project.
## Project description
iofogctl is a command line interface for the installation, configuration, and operation of ioFog Edge Compute Networks (ECNs).
It can be used to remotely manage multiple different clusters from a single host. It is built for an
ioFog user and a DevOps engineering wanting to manage ioFog clusters.
* https://projects.eclipse.org/projects/iot.iofog
## Developer resources
Information regarding source code management, builds, coding standards, and
more.
* https://projects.eclipse.org/projects/iot.iofog/developer
The project maintains the following source code repositories
* https://github.com/eclipse-iofog
* http://git.eclipse.org/c/iofog/org.eclipse.iofog.git
This project uses Bugzilla to track ongoing development and issues.
* Search for issues: https://eclipse.org/bugs/buglist.cgi?product=IoFog
* Create a new report: https://eclipse.org/bugs/enter_bug.cgi?product=IoFog
Be sure to search for existing bugs before you create another one. Remember that
contributions are always welcome!
### Git hooks
Run `make bootstrap` to install dependencies and configure git hooks.
The pre-commit hook rebuilds both CLI binaries and regenerates cobra markdown under `docs/iofogctl_md/` and `docs/potctl_md/`.
### Build from source
Build one flavor:
```bash
make iofogctl
make potctl
```
Or set `FLAVOR` explicitly:
```bash
make FLAVOR=iofog build
make FLAVOR=datasance build
```
## Continuous integration
CI runs on **GitHub Actions** (`.github/workflows/`). Azure Pipelines and the legacy `pipeline/` tree were retired in v3.8 Phase 2.
- **Datasance/potctl:** PR builds both `potctl` and `iofogctl`
- **eclipse-iofog/iofogctl:** PR builds `iofogctl` only — see `.cursor/cli/docs/eclipse-ci-sync.md`
Local checks: `make lint`, `make test-unit`, `make grep-gates`, `make security-code`, `make vulncheck`
## Release builds
GoReleaser uses a single root `.goreleaser.yml`. Each mirror releases one binary:
| GitHub repo | Binary |
|-------------|--------|
| `Datasance/potctl` | `potctl` |
| `eclipse-iofog/iofogctl` | `iofogctl` |
`script/goreleaser-env.sh` picks flavor from `GITHUB_REPOSITORY` (default `iofog`). Component pins always come from `versions.mk`. CI sets `GITHUB_REPOSITORY` automatically; for local release smoke:
```bash
GITHUB_REPOSITORY=Datasance/potctl script/goreleaser-release.sh release --snapshot --clean
GITHUB_REPOSITORY=eclipse-iofog/iofogctl script/goreleaser-release.sh release --snapshot --clean
```
Override flavor explicitly when needed: `FLAVOR=datasance script/goreleaser-release.sh check`
Release workflow requires `HOMEBREW_TAP_GITHUB_TOKEN` (PAT with write access to the mirror's Homebrew tap repo).
## Eclipse Contributor Agreement
Before your contribution can be accepted by the project team contributors must
electronically sign the Eclipse Contributor Agreement (ECA).
* http://www.eclipse.org/legal/ECA.php
Commits that are provided by non-committers must have a Signed-off-by field in
the footer indicating that the author is aware of the terms by which the
contribution has been provided to the project. The non-committer must
additionally have an Eclipse Foundation account and must have a signed Eclipse
Contributor Agreement (ECA) on file.
For more information, please see the Eclipse Committer Handbook:
https://www.eclipse.org/projects/handbook/#resources-commit
## Contact
Contact the project developers via the project's "dev" list.
* https://dev.eclipse.org/mailman/listinfo/iofog-dev