mirror of
https://github.com/zeek/zeek.git
synced 2025-10-02 06:38:20 +00:00
49 lines
1.9 KiB
Text
49 lines
1.9 KiB
Text
=========================================
|
|
Continuous Integration Configuration Info
|
|
=========================================
|
|
|
|
The following pointers are aimed at maintainers to help describe a few points
|
|
about the Cirrus CI setup that may not be obvious/intuitive.
|
|
|
|
Private Test Suite
|
|
------------------
|
|
|
|
Access to the private test suite is available in CI tasks except in Pull
|
|
Requests from people that do not otherwise have write access to the zeek
|
|
repository on GitHub. To configure this access for the
|
|
``zeek-testing-private`` repository, it uses a "deploy key" which is a single
|
|
purpose SSH key with read-only permissions. Here's how it can be set up:
|
|
|
|
1. ``ssh-keygen -f cirrus-key``
|
|
|
|
2. Add contents of ``cirrus-key.pub`` as a new key on GitHub:
|
|
https://github.com/zeek/zeek-testing-private/settings/keys
|
|
|
|
3. Generate a new Orgnaization-Level Secured Variable in Cirrus CI settings at
|
|
https://cirrus-ci.com/settings/github/zeek. The value of the secured
|
|
variable is the base64-encoded private key, and can be obtained from the
|
|
output of the command: ``base64 cirrus-key``.
|
|
|
|
4. Take the ``ENCRYPTED[...]``` string generated by Cirrus and use that as the
|
|
value of ``ZEEK_TESTING_PRIVATE_SSH_KEY`` in ``.cirrus.yml``
|
|
|
|
5. Delete the local key: ``rm cirrus-key*``
|
|
|
|
6. Commit/push the changes.
|
|
|
|
Email Notifications
|
|
-------------------
|
|
|
|
Cirrus CI doesn't feature any way to perform email notifications on failures,
|
|
so that is instead handled by a separate GitHub Action:
|
|
|
|
https://github.com/zeek/ci-email-action
|
|
|
|
The configuration of that GitHub Action is typical: it's the
|
|
``.github/workflows/ci-notification.yml`` file, which sets SMTP/mail info
|
|
via secrets stored in GitHub for the Zeek organization:
|
|
|
|
https://github.com/organizations/zeek/settings/secrets
|
|
|
|
The particular values used for those are currently from the Zeek project's AWS
|
|
Simple Email Service configuration.
|