ci
Folders and files
Name | Name | Last commit date | ||
---|---|---|---|---|
parent directory.. | ||||
========================================= 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 Organization-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.