feat: export genesis to custom file #3173
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: tests | |
defaults: | |
run: | |
shell: bash | |
on: | |
pull_request: | |
push: | |
branches: | |
- main | |
- mainnet/main | |
tags: | |
- v* | |
jobs: | |
build-macos: | |
runs-on: macos-latest | |
steps: | |
- run: | | |
brew install bash direnv | |
sudo chsh -s /usr/local/bin/bash | |
- uses: actions/checkout@v3 | |
- run: git fetch --prune --unshallow | |
- name: set environment | |
run: direnv allow | |
- run: | | |
toolchain=$(cat go.mod | grep toolchain | cut -d ' ' -f 2 | sed 's/go*//') | |
echo "GOTOOLCHAIN=go${toolchain}" >> $GITHUB_ENV | |
echo "GOVERSION=${toolchain}" >> $GITHUB_ENV | |
- uses: actions/setup-go@v4 | |
with: | |
go-version: "${{ env.GOVERSION }}" | |
check-latest: true | |
- run: make bins | |
build-bins: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- run: git fetch --prune --unshallow | |
- run: | | |
toolchain=$(cat go.mod | grep toolchain | cut -d ' ' -f 2 | sed 's/go*//') | |
echo "GOTOOLCHAIN=go${toolchain}" >> $GITHUB_ENV | |
echo "GOVERSION=${toolchain}" >> $GITHUB_ENV | |
- uses: actions/setup-go@v4 | |
with: | |
go-version: "${{ env.GOVERSION }}" | |
check-latest: true | |
- name: set environment | |
uses: HatsuneMiku3939/direnv-action@v1 | |
- run: make bins | |
- run: make docker-image | |
tests: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- run: git fetch --prune --unshallow | |
- run: | | |
toolchain=$(cat go.mod | grep toolchain | cut -d ' ' -f 2 | sed 's/go*//') | |
echo "GOTOOLCHAIN=go${toolchain}" >> $GITHUB_ENV | |
echo "GOVERSION=${toolchain}" >> $GITHUB_ENV | |
- uses: actions/setup-go@v4 | |
with: | |
go-version: "${{ env.GOVERSION }}" | |
- name: set environment | |
uses: HatsuneMiku3939/direnv-action@v1 | |
- run: make test-full | |
coverage: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- run: git fetch --prune --unshallow | |
- run: | | |
toolchain=$(cat go.mod | grep toolchain | cut -d ' ' -f 2 | sed 's/go*//') | |
echo "GOTOOLCHAIN=go${toolchain}" >> $GITHUB_ENV | |
echo "GOVERSION=${toolchain}" >> $GITHUB_ENV | |
- uses: actions/setup-go@v4 | |
with: | |
go-version: "${{ env.GOVERSION }}" | |
- name: set environment | |
uses: HatsuneMiku3939/direnv-action@v1 | |
- run: make test-coverage | |
- uses: codecov/codecov-action@v3 | |
lint: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- run: git fetch --prune --unshallow | |
- run: | | |
toolchain=$(cat go.mod | grep toolchain | cut -d ' ' -f 2 | sed 's/go*//') | |
echo "GOTOOLCHAIN=go${toolchain}" >> $GITHUB_ENV | |
echo "GOVERSION=${toolchain}" >> $GITHUB_ENV | |
- uses: actions/setup-go@v4 | |
with: | |
go-version: "${{ env.GOVERSION }}" | |
- name: set environment | |
uses: HatsuneMiku3939/direnv-action@v1 | |
- run: make deps-tidy | |
- run: make build | |
- run: make test-vet | |
- name: lint all | |
run: make test-lint-all | |
- name: lint make-sublinters | |
run: make test-sublinters | |
shellcheck: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- run: git fetch --prune --unshallow | |
- run: | | |
toolchain=$(cat go.mod | grep toolchain | cut -d ' ' -f 2 | sed 's/go*//') | |
echo "GOTOOLCHAIN=go${toolchain}" >> $GITHUB_ENV | |
echo "GOVERSION=${toolchain}" >> $GITHUB_ENV | |
- uses: actions/setup-go@v4 | |
with: | |
go-version: "${{ env.GOVERSION }}" | |
- name: set environment | |
uses: HatsuneMiku3939/direnv-action@v1 | |
- run: make shellcheck | |
sims: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: rokroskar/workflow-run-cleanup-action@master | |
env: | |
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}" | |
- uses: actions/checkout@v3 | |
- run: | | |
toolchain=$(cat go.mod | grep toolchain | cut -d ' ' -f 2 | sed 's/go*//') | |
echo "GOTOOLCHAIN=go${toolchain}" >> $GITHUB_ENV | |
echo "GOVERSION=${toolchain}" >> $GITHUB_ENV | |
- uses: actions/setup-go@v4 | |
with: | |
go-version: "${{ env.GOVERSION }}" | |
- name: set environment | |
uses: HatsuneMiku3939/direnv-action@v1 | |
- name: test-sim-nondeterminism | |
run: make test-sim-nondeterminism | |
- name: test-sim-import-export | |
run: make test-sim-import-export | |
- name: test-sim-after-import | |
run: make test-sim-after-import | |
- name: test-sim-fullapp | |
run: make test-sim-fullapp | |
release-dry-run: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- run: git fetch --prune --unshallow | |
- run: | | |
toolchain=$(cat go.mod | grep toolchain | cut -d ' ' -f 2 | sed 's/go*//') | |
echo "GOTOOLCHAIN=go${toolchain}" >> $GITHUB_ENV | |
echo "GOVERSION=${toolchain}" >> $GITHUB_ENV | |
- uses: actions/setup-go@v4 | |
with: | |
go-version: "${{ env.GOVERSION }}" | |
- name: set environment | |
uses: HatsuneMiku3939/direnv-action@v1 | |
- name: Set up QEMU | |
uses: docker/setup-qemu-action@v2 | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v2 | |
- uses: fregante/setup-git-user@v1 | |
- name: configure git tag | |
run: echo "RELEASE_TAG=v$(./script/semver.sh bump patch $(git describe --tags $(git rev-list --tags --max-count=1)))" >> $GITHUB_ENV | |
- name: git tag | |
run: git tag -a ${{ env.RELEASE_TAG }} -m ${{ env.RELEASE_TAG }} | |
- name: release dry-run | |
run: make release | |
network-upgrade-names: | |
runs-on: upgrade-tester | |
steps: | |
- uses: actions/checkout@v3 | |
- run: git fetch --prune --unshallow | |
- run: | | |
toolchain=$(cat go.mod | grep toolchain | cut -d ' ' -f 2 | sed 's/go*//') | |
echo "GOTOOLCHAIN=go${toolchain}" >> $GITHUB_ENV | |
echo "GOVERSION=${toolchain}" >> $GITHUB_ENV | |
- uses: actions/setup-go@v4 | |
with: | |
go-version: "${{ env.GOVERSION }}" | |
- name: set environment | |
uses: HatsuneMiku3939/direnv-action@v1 | |
- name: Ensure only directories exists in upgrades dir | |
run: | | |
dir=./upgrades/software | |
if [[ $(find "$dir" ! -path "$dir" -maxdepth 1 -type f | wc -c) -ne 0 ]]; then | |
echo "$dir must contain only directories" | |
exit 1 | |
fi | |
- name: Ensure names of upgrade dirs are semver compliant | |
run: | | |
dir=./upgrades/software | |
while read upgrade; do | |
./script/semver.sh validate "$upgrade" | |
done <<< $(find "$dir" ! -path "$dir" -maxdepth 1 -type d -exec basename {} \;) | |
network-upgrade: | |
runs-on: upgrade-tester | |
steps: | |
- uses: actions/checkout@v3 | |
- run: git fetch --prune --unshallow | |
- run: | | |
toolchain=$(cat go.mod | grep toolchain | cut -d ' ' -f 2 | sed 's/go*//') | |
echo "GOTOOLCHAIN=go${toolchain}" >> $GITHUB_ENV | |
echo "GOVERSION=${toolchain}" >> $GITHUB_ENV | |
- uses: actions/setup-go@v4 | |
with: | |
go-version: "${{ env.GOVERSION }}" | |
- name: set environment | |
uses: HatsuneMiku3939/direnv-action@v1 | |
- name: configure variables | |
run: | | |
test_required=$(./script/upgrades.sh test-required ${{ github.ref }}) | |
echo "TEST_REQUIRED=$test_required" >> $GITHUB_ENV | |
- name: run test | |
id: test | |
if: env.TEST_REQUIRED == 'true' | |
run: | | |
cd tests/upgrade | |
make test | |
- name: dump stderr | |
if: always() && steps.test.outcome != 'skipped' | |
run: cat .cache/run/upgrade/stderr.log | |
- name: upload stderr | |
if: always() && steps.test.outcome != 'skipped' | |
uses: actions/upload-artifact@v3 | |
with: | |
name: stderr.log | |
path: .cache/run/upgrade/stderr.log | |
- name: upload stdout | |
if: always() && steps.test.outcome != 'skipped' | |
uses: actions/upload-artifact@v3 | |
with: | |
name: stdout.log | |
path: .cache/run/upgrade/stdout.log | |
dispatch-release: | |
runs-on: ubuntu-latest | |
if: startsWith(github.event.ref, 'refs/tags/v') | |
needs: | |
- build-macos | |
- build-bins | |
- tests | |
- coverage | |
- lint | |
- sims | |
- release-dry-run | |
- network-upgrade | |
- shellcheck | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: trigger release process | |
uses: benc-uk/workflow-dispatch@v1 | |
with: | |
workflow: release.yaml |