Continuous Integration

Tests are run on GitHub Actions. The configuration for this is in .github/workflows.

CI is set up with secrets for connecting to Vuforia. These variables include those from vuforia_secrets.env.example.

To avoid hitting request quotas and to avoid conflicts when running multiple tests in parallel, we use multiple target databases.

CI builds use a different credentials file depending on the build configuration. Within a workflow, this avoids conflicts.

How to set GitHub Actions secrets

Create environment variable files for secrets:

mkdir -p ci_secrets
cp vuforia_secrets.env.example ci_secrets/vuforia_secrets_1.env
cp vuforia_secrets.env.example ci_secrets/vuforia_secrets_2.env
...

Add Vuforia credentials for different target databases to the new files in the ci_secrets/ directory. Add at least as many credentials files as there are builds in the GitHub test matrix. All credentials files can share the same credentials for an inactive database.

Choose a passphrase for the secrets. In the GitHub repository > Settings > Secrets, add a secret with the name PASSPHRASE_FOR_VUFORIA_SECRETS and the chosen passphrase.

Add the encrypted secrets files to the repository:

PASSPHRASE_FOR_VUFORIA_SECRETS=<CHOSEN_SECRET> make update-secrets
git add secrets.tar.gpg
git commit -m "Update secret archive"
git push