/srtool-actions

A github action to easily build your Substrate WASM runtime using srtool with your CI

SRTOOL Github Action

Introduction

srtool is a docker image that allows building Substrate WASM Runtimes in a deterministic manner. It ensures that all srtool users (and tooling), using the same/latest tag, will produce 100% exactly the same runtime. It enables further trustless verifications.

srtool gh action 512px

This repository contains a custom Github Action that will help you integrate srtool in your Github CI.

Note
Gitlab users are not left behind and can use the 2 first options mentioned below.

Srtool helpers

There are now several ways to use srtool in your project:

  • using srtool via alias: powerful but very verbose and prompt to errors. This is for developers. This option is being deprecated and not recommended.

  • using the srtool-cli: much easier to use and removes a whole bunch of potential user’s mistakes. This is for developers.

  • using the srtool-app: the easiest option of all thanks to its GUI. This is good for non-developers.

  • using the Github actions from this repo. This is for your automatic CI.

Requirements

In order to use this Github Action, you will need a Github repository with your Substrate based project. You can learn how to get started with a first Github workflow here.

Before you setup your new workflow, you should gather the following information:

  • name of your chain: ie. polkadot

  • runtime package: ie. runtime-polkadot

  • location of your runtime: ie. runtime/polkadot

If your project uses standard values (such as your runtime package being named runtime_xyz if your chain is xyz), you will be able to skip many of the inputs. If you have a different setup, you can set override the defaults to make it work for you.

Sample workflows