⚙️Publishing Binaries & Executables
Publishing executable binaries is super easy with Valist. Learn how to use publish with the web dashboard, CLI, or GitHub Action!
Publishing executable binaries is super easy with Valist!
Note: currently, only statically linked binaries are supported, since Valist does not have a built-in dependency manager yet.
How native app publishing in Valist works
While standard releases are usually a simple folder upload, in order to get Valist to interpret the platform you are building for, you will need to tell it how to describe your Release.
This is accomplished by:
Setting your
Project Type
tonative
orcli
in your Project Settings. This will signal to the Web Dashboard and other tooling to display a different upload form fit for your use-case.Specifying which binaries belong to their designated platforms during the Release. This can be done from the simple Web Dashboard upload form by clicking the correct platform, or by configuring the
install
field if using the CLI or GitHub Action
Each Release includes metadata that maps the platform/architecture to the corresponding binary.
The following platform/architecture combinations are supported:
darwin_amd64
darwin_arm64
linux_amd64
linux_arm64
windows_amd64
Step 1: Setting your Project Type to "native" or "cli"
First, you will need to set your Project Type to native
or cli
to tell the rest of the Valist tooling to treat this project as a native, non-web application.
Note: the cli
type is essentially the same as native
, but exists to specify whether or not the native app has a GUI.
Navigate to your Project Settings, and in the Project Details section, set the Project Type
to either native
or cli
:
Awesome! Now, any Releases moving forward will show a different upload form with specific binaries available. Each Release is independently configured, so you can rest assured knowing that changing this later will not break old Releases. This is simply a hint to the tooling to treat upcoming Releases as a certain type.
Step 2: Publishing a native Release
Navigate to your project, then click the New Release
button.
The form will ask you for a Release Name, a Display Name, and Description. You can also add an image to the release.
The name
field works the same way as the account
and project
names -- it is an immutable tag that represents the version of the release, and is accessible at the account/project/release
path once published.
Next, you will see a list of file upload buttons corresponding to the supported platform/architecture combinations. Choose one or more of your binaries for the right platform, and click Create
.
This will fire off a transaction, and successfully publish your release!
Congratulations, you've now published your binaries in a web3-native way! 🚀 Time to pat yourself on the back and share your work with the world!
An example multi-platform project can be found here:
This contains both a CLI example, as well as a GitHub Action workflow example!
Want to add your example to these docs? Please feel free to open a PR or contact us at hello@valist.io 😄
Last updated