Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/lueschem/edi-ci-public

Continuous integration for edi project configurations. Public mirror of the hidden edi-ci repository.
https://github.com/lueschem/edi-ci-public

actions ci github-actions hardware-in-the-loop ota-update

Last synced: 28 days ago
JSON representation

Continuous integration for edi project configurations. Public mirror of the hidden edi-ci repository.

Awesome Lists containing this project

README

        

# edi-ci

Continuous integration for edi project configurations based on GitHub actions.

Currently, edi-ci is capable of

- building OS images based on an edi project configuration
- dispatching the OS images to embedded devices
- testing the dispatched OS images on the embedded devices

Note: edi-ci is a private GitHub repository as it is interfacing with GitHub action runners.
edi-ci-public is a clone of edi-ci and makes the content visible for a broader audience.

## Run Tests Locally

Without 2FA using username and password:

``` bash
export MENDER_USER=MY_MENDER_LOGIN
export MENDER_PASSWORD=MY_MENDER_PASSWORD
export DEVICE_SECRETS="$(cat config/device_secrets_sample.json)"
./run-tests MENDER_DEVICE_ID EDI_PROJECT_CONFIGURATION
```

By using a mender access token:

``` bash
export MENDER_ACCESS_TOKEN=MY_MENDER_ACCESS_TOKEN
export DEVICE_SECRETS="$(cat config/device_secrets_sample.json)"
./run-tests MENDER_DEVICE_ID EDI_PROJECT_CONFIGURATION
```

## Secrets on GitHub

`CI_CD_SSH_PUB_KEY`: ssh public key of the user that wants to easily access the CI/CD devices (optional)

`DEVICE_SECRETS`: check `config/device_secrets_sample.json` for an example json

`MENDER_TENANT_TOKEN`: the token of your hosted Mender tenant

`MENDER_ACCESS_TOKEN`: the Mender personal access token

## More Information

This [blog post](https://www.get-edi.io/Building-and-Testing-OS-Images-with-GitHub-Actions/) describes
the setup of the CI pipeline.