Skip to content

Commit 94a3a7f

Browse files
committed
gh/workflows/README.md updated
- updated secrets (NOTARYTOOL_CREDENTIOALS->ALTOOL_CREDENTIALS), APPIMAGE_KEY currently unused, SDK_URL - notice DELTA only; drop NDI SSH keys (no more used) - updated trigger conditions - describe "children" (OS-specific) workflows split from main ccpp.yml - add description fo wemi-weekly workflows - for worflows, link the CI YAML file - add dummy README.md in .github (referencing gh/worflows/README.md) - reformulations/clarifications
1 parent a8ae5fd commit 94a3a7f

2 files changed

Lines changed: 53 additions & 21 deletions

File tree

.github/README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
see [.github/workflows/README.md](workflows/README.md)
2+

.github/workflows/README.md

Lines changed: 51 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ Table of contents
1313
* [ARM builds](#arm-builds)
1414
* [Coverity](#coverity)
1515
* [C/C++ CI](#cc-ci)
16+
+ [Semi-weekly tests](#semi-weekly-tests)
1617

1718
Dependencies
1819
------------
@@ -38,13 +39,16 @@ libraries for Linux (as does for macOS and Windows).
3839

3940
Secrets
4041
-------
41-
- **NOTARYTOOL\_CREDENTIALS** - Apple developer credentials to be used with notarytool for macOS build (username:password:teamid)
42-
notarization in format "user:password" (app-specific password is strongly recommended)
43-
- **APPLE\_KEY\_P12\_B64** - base64-encoded signing Apple key in P12 (see [below](#generating-apple-keys-to-sign-the-image))
44-
- **APPIMAGE\_KEY** - GPG exported (armored) private key to sign AppImage
45-
- **COVERITY\_TOKEN** - Coverity token to be used for build upload
46-
- **NDI\_REMOTE\_SSH\_KEY** - SSH key to upload NDI builds over SSH (see [Workflows](#workflows) for additional details)
42+
- **ALTOOL_CREDENTIALS** - Apple developer credentials to be used with
43+
notarytool for macOS build (username:password:teamid) notarization in
44+
format "user:password" (app-specific password is strongly recommended)
45+
- **APPIMAGE\_KEY** - GPG exported (armored) private key to sign AppImage;
46+
- **APPLE\_KEY\_P12\_B64** - base64-encoded Apple signing key in P12
47+
(see [below](#generating-apple-keys-to-sign-the-image))
48+
currently unused (no signing as for now - see the commit 2e321f65)
49+
- **COVERITY\_TOKEN** - Coverity token to be used for build (Coverity CI only)
4750
- **SDK\_URL** - URL where are located the [Dependencies](#dependencies) assets
51+
(currently Deltacast only)
4852

4953
**Note:** not all secrets are used by all workflows (see [Workflows](#workflows) for details)
5054

@@ -74,33 +78,59 @@ This section contains a procedure to get and process keys to be used as _APPLE\_
7478

7579
Workflows
7680
--------
77-
Currently all workflows are triggered by push to the respective branch. There are 3 workflows:
81+
Currently workflows are triggered by push to the respective branch. Some of
82+
are triggered by a cron (schedule). Workflow dispatches available as well.
83+
84+
There are 4 main workflows and 3 OS-specific reusable workflows called
85+
by C/C++ CI:
86+
87+
### ARM builds
88+
89+
(file [.github/workflows/arm-build.yml](arm-build.yml))
7890

79-
### ARM builds
8091
Creates _ARM AppImages_. Trigerred by push to branch **arm-build**. In _CESNET/UltraGrid_ repo creates a release
8192
asset, otherwise a build artifact. No secret are used.
8293

94+
Trigerred also once a week by a schedule.
95+
8396
### Coverity
97+
98+
(file [.github/workflows/coverity-scan.yml](coverity-scan.yml))
99+
84100
Sends build for analysis to _Coverity_ service. Trigerred by push to **coverity\_scan** - requires
85-
**COVERITY\_TOKEN**, useful is also **SDK\_URL** to increase code coverage.
101+
**COVERITY\_TOKEN**, optionally also **SDK\_URL** to increase code coverage.
102+
103+
Coverity workflow currently uses Linux runner only.
104+
105+
Trigerred also 2 times per week by a schedule.
86106

87107
### C/C++ CI
108+
109+
(file [.github/workflows/ccpp.yml](ccpp.yml))
110+
88111
This is the basic workflow, has multiple modes depending on which branch is pushed to. Whether or not triggered
89112
from _official_ repository influences where will the build be uploaded:
90113

91-
* push to _official_ repository (branches **master** or **release/\***) - triggers rebuild of release asset (_continuous_ for master) and uploads to
92-
release assets.
93-
* push to _other_ repositories (branches **master** or **release/\***) - creates build artifacts
94-
* push to branch **ndi-build** - builds with NDI support - requires NDI SDKs to be present in **SDK\_URL**, otherwise the _NDI_ support won't be enabled.
95-
- reads **NDI\_REMOTE\_SSH\_KEY**, if found, uploads the builds to predefined location (defined in [upload-ndi-build.sh](../scripts/upload-ndi-build.sh)).
96-
For non-official repositiry you would also need to set environment variables **NDI\_REMOTE\_SSH** and
97-
**NDI\_REMOTE\_SSH\_HOST\_KEY\_URL** to override defaults in the script - add following lines to [ccpp.yml](ccpp.yml):
114+
* push to _official_ repository (branch **master** or **v[0-9]+**) -
115+
triggers rebuild of release asset (_continuous_ for master) and uploads
116+
to release assets.
117+
* push to _other_ repositories (branch **master** or **v[0-9]+**) -
118+
creates build artifacts
119+
120+
This worflow utilizes **ALTOOL\_CREDENTIALS**, **APPLE\_KEY\_P12\_B64**,
121+
**APPIMAGE\_KEY** (currently not used, see above), **SDK\_URL**.
122+
123+
The OS-specific runners are split to 3 YAML files, that can be triggered
124+
separately by pushing to the respecitve branches - the upload rules are
125+
the above, which means that build artifact is created if pushed to the
126+
specific branch:
98127

99-
env:
100-
NDI_REMOTE_SSH: <user>@<host>:<path>
101-
NDI_REMOTE_SSH_HOST_KEY_URL: https://<path_to_host_key>
102-
- If the secret _NDI\_REMOTE\_SSH\_KEY_ is not defined, builds are uploaded as a build artifact.
128+
- [**linux.yml**](linux.yml) - push to _linux-build_
129+
- [**macos.yml**](macos.yml) - push to _macos-build_
130+
- [**windows.yml**](windows.yml) - push to _windows-build_
103131

132+
### Semi-weekly tests
104133

105-
This worflow utilizes **ALTOOL\_CREDENTIALS**, **APPLE\_KEY\_P12\_B64**, **APPIMAGE\_KEY**, **SDK\_URL** and **SSH\_KEY** (NDI only).
134+
(file [.github/workflows/semi-weekly_tests.yml](semi-weekly_tests.yml))
106135

136+
Some additional tests run twice a week in the main repo.

0 commit comments

Comments
 (0)