๐งฉGitHub Action
Last updated
Last updated
Note: An account and project is required for the following section. If you haven't created an account or project yet, visit the following page to learn how:
Valist provides an extremely easy to integrate GitHub Action that enables you to publish anything, including websites, binaries, Electron apps, Android apps, Docker images, or anything else that you're building in your existing CI/CD pipeline!
It can be found in the GitHub Marketplace below:
Here's what it looks like to publish a release to Valist using the Valist GitHub Action:
Here's an example run of a React app being published:
Super easy!
Note: An account and project is required for the following section. If you haven't created an account or project yet, visit the following page to learn how:
There are several values that you will need to update to get your project publishing correctly.
First, you will need to setup the private-key
variable.
The private-key
field maps to your GitHub Repository secret that contains a key with permission on the Valist Project. We strongly recommend this is a fresh key that only has access to the corresponding Valist Project, and that you don't use an Account-level admin key here.
To generate a fresh key, you can use any Ethereum wallet that can export private keys. We also have a helper script that makes it even easier here:
This will securely generate and output a private key and a public address that you can use to configure your Valist GitHub Action.
Copy this private key, and add it as a GitHub Repository Secret called VALIST_SIGNER
:
Next, you will need to add this key to your desired project or account members to give it access to publish.
Navigate to your project or account settings in the web dashboard, click on Members
and add the key -- this will trigger a transaction to add the account to the project:
This step is required before the CLI can publish under the account or project.
This will give the key access to the project and enable the GitHub Action to publish to the project!
Next, fill out the rest of the values and match them to your Valist Account and Project:
The account
field maps to your Valist Account
The project
field maps to the Valist Project you wish to publish to
Then, you will need to configure the Release's build path, and the version to tag it with.
Each release
is immutable and unique, so make sure this is a version tag that matches your workflow.
The release
field maps to the version/tag you wish to release. You can use SemVer, or some other release versioning system you wish.
Finally, you will need to point the Action at the build path. Make sure this is your build output, or "dist" folder.
The path
field is the folder you wish to release.
You can also configure cross-platform releases with the install
field, similarly to the CLI.
This will map each binary to its designated platform, enabling the Valist tooling to install the correct version on the correct platforms.
The following platform/architecture combinations are supported:
install-darwin-amd64
install-darwin-arm64
install-linux-amd64
install-linux-arm64
install-windows-amd64
For a set of examples, check out these repositories below:
Want to add your example to these docs? Please feel free to open a PR or contact us at hello@valist.io ๐
The Valist Action is built to be modular, and compatible with your existing pipeline. There are many ways to configure it! Take a look at the following pages for more examples of how to use it: