Skip to content

main / pirin-1 / osmosis-osmosis-osmo / v0.7.6 #18

main / pirin-1 / osmosis-osmosis-osmo / v0.7.6

main / pirin-1 / osmosis-osmosis-osmo / v0.7.6 #18

Workflow file for this run

name: "Build protocol"
defaults:
run:
shell: "sh"
on:
workflow_dispatch:
inputs:
network-group:
description: "Network's group"
type: "choice"
options:
- "dev"
- "main"
- "test"
required: true
network:
description: "Network's name"
type: "string"
required: true
protocol:
description: "Protocol"
type: "string"
required: true
release:
description: "Smart contracts release"
type: "string"
required: true
env:
profile: |-
${{ ((inputs.network-group == 'dev' || inputs.network-group == 'test') && 'test-net') || (inputs.network-group == 'main' && 'production-net') || 'N/A' }}
run-name: |-
${{ inputs.network-group }} / ${{ inputs.network }} / ${{ inputs.protocol }} / ${{ inputs.release }}
jobs:
report-arguments:
name: "Report workflow arguments"
runs-on: "ubuntu-latest"
env:
network_group: |-
${{ inputs.network-group }}
network: |-
${{ inputs.network }}
protocol: |-
${{ inputs.protocol }}
release: |-
${{ inputs.release }}
steps:
- run: |-
set -eu
"echo" \
"\
Argument | Value
------------------|------
Network Group | ${network_group:?}
Network Name | ${network:?}
Protocol Name | ${protocol:?}
Contracts Release | ${release:?}
Build Profile | ${profile:?}" \
>>"${GITHUB_STEP_SUMMARY:?}"
build-protocol:
name: "Build protocol"
needs:
- "report-arguments"
runs-on: "ubuntu-latest"
env:
topology_json: |-
${{ inputs.network-group }}net/${{ inputs.network }}/topology.json
protocol_json: |-
${{ inputs.network-group }}net/${{ inputs.network }}/protocols/${{ inputs.protocol }}.json
steps:
- uses: "actions/checkout@v4"
with:
sparse-checkout: |-
${{ env.topology_json }}
${{ env.protocol_json }}
- run: |-
set -eu
"mkdir" "./build-configuration/"
"cp" \
"${topology_json:?}" \
"./build-configuration/topology.json"
"cp" \
"${protocol_json:?}" \
"./build-configuration/protocol.json"
- env:
url: |-
https://github.com/${{ github.repository_owner }}/nolus-money-market/releases/download/${{ inputs.release }}/protocol-builder.tar.gz
run: |-
set -eu
"wget" \
--output-document="protocol-builder.tar.gz" \
"${url:?}"
- run: |-
"gunzip" "protocol-builder.tar.gz"
- run: |-
"docker" \
"image" \
"load" \
--input "protocol-builder.tar"
- run: |-
"mkdir" "./artifacts/"
- run: |-
set -eu
"docker" \
"container" \
"run" \
--env "CHECK_DEPENDENCIES_UPDATED=false" \
--tty \
--volume "./artifacts/:/artifacts/:rw" \
--volume "./build-configuration/:/build-configuration/:ro" \
"protocol-builder" \
"${profile:?}"
- uses: "actions/upload-artifact@v4"
with:
if-no-files-found: "error"
name: |-
${{ inputs.network-group }}--${{ inputs.network }}--${{ inputs.protocol }}--${{ inputs.release }}
path: |-
./artifacts/*