Continuous Integration (CI)
Hydra allows developers to easily integrate smart contract tests into their continuous integration workflow.
The CI server needs to support a node runtime to install the dependencies defined in the package.json
file.
These are all dependencies that need to be installed on the CI server and running the tests works the same way as on a local machine.
However, you need to make sure that your CI server is authenticated.
#
CI AuthenticationRunning the interactive hydra login
command is not an option on most CI servers.
Instead, we recommend running hydra login locally and passing the resulting JSON authentication payload as a secure environment variable to the CI server.
The JSON authentication payload can be found in the ~/.hydra/auth.json
file after login. It can then be passed as the HYDRA_AUTH
environment variable to the CI server.
The authentication info automatically renews expired authentication tokens as it includes a refresh token, therefore this setup only needs to be done once.
Security
Make sure your authentication info is not publicly available or leaked by your CI output.