Skip to content

sanctuary

sanctuary #13

Workflow file for this run

name: "sanctuary"
on:
# Run using manual triggers from GitHub UI:
# https://docs.github.com/en/actions/managing-workflow-runs/manually-running-a-workflow
workflow_dispatch:
inputs:
chain:
description: "Name of the chain/sanctuary to run against, e.g. 'ethereum' or 'tron'."
type: "string"
required: true
default: "ethereum"
network:
description: "Name of the sub-network to run against, e.g. 'mainnet' or 'testnet'."
type: "string"
required: true
default: "mainnet"
check_bindings:
description: "Check name bindings on contracts, failing if there's any unresolved symbol."
type: "boolean"
required: false
default: false
jobs:
singleShard:
runs-on: "ubuntu-22.04" # _SLANG_DEV_CONTAINER_BASE_IMAGE_ (keep in sync)
outputs:
__SLANG_SANCTUARY_SHARD_RESULTS__0: ${{ steps.run-sanctuary-test.outputs.__SLANG_SANCTUARY_SHARD_RESULTS__0 }}
__SLANG_SANCTUARY_SHARD_RESULTS__1: ${{ steps.run-sanctuary-test.outputs.__SLANG_SANCTUARY_SHARD_RESULTS__1 }}
__SLANG_SANCTUARY_SHARD_RESULTS__2: ${{ steps.run-sanctuary-test.outputs.__SLANG_SANCTUARY_SHARD_RESULTS__2 }}
__SLANG_SANCTUARY_SHARD_RESULTS__3: ${{ steps.run-sanctuary-test.outputs.__SLANG_SANCTUARY_SHARD_RESULTS__3 }}
__SLANG_SANCTUARY_SHARD_RESULTS__4: ${{ steps.run-sanctuary-test.outputs.__SLANG_SANCTUARY_SHARD_RESULTS__4 }}
__SLANG_SANCTUARY_SHARD_RESULTS__5: ${{ steps.run-sanctuary-test.outputs.__SLANG_SANCTUARY_SHARD_RESULTS__5 }}
__SLANG_SANCTUARY_SHARD_RESULTS__6: ${{ steps.run-sanctuary-test.outputs.__SLANG_SANCTUARY_SHARD_RESULTS__6 }}
__SLANG_SANCTUARY_SHARD_RESULTS__7: ${{ steps.run-sanctuary-test.outputs.__SLANG_SANCTUARY_SHARD_RESULTS__7 }}
__SLANG_SANCTUARY_SHARD_RESULTS__8: ${{ steps.run-sanctuary-test.outputs.__SLANG_SANCTUARY_SHARD_RESULTS__8 }}
__SLANG_SANCTUARY_SHARD_RESULTS__9: ${{ steps.run-sanctuary-test.outputs.__SLANG_SANCTUARY_SHARD_RESULTS__9 }}
__SLANG_SANCTUARY_SHARD_RESULTS__10: ${{ steps.run-sanctuary-test.outputs.__SLANG_SANCTUARY_SHARD_RESULTS__10 }}
__SLANG_SANCTUARY_SHARD_RESULTS__11: ${{ steps.run-sanctuary-test.outputs.__SLANG_SANCTUARY_SHARD_RESULTS__11 }}
__SLANG_SANCTUARY_SHARD_RESULTS__12: ${{ steps.run-sanctuary-test.outputs.__SLANG_SANCTUARY_SHARD_RESULTS__12 }}
__SLANG_SANCTUARY_SHARD_RESULTS__13: ${{ steps.run-sanctuary-test.outputs.__SLANG_SANCTUARY_SHARD_RESULTS__13 }}
__SLANG_SANCTUARY_SHARD_RESULTS__14: ${{ steps.run-sanctuary-test.outputs.__SLANG_SANCTUARY_SHARD_RESULTS__14 }}
__SLANG_SANCTUARY_SHARD_RESULTS__15: ${{ steps.run-sanctuary-test.outputs.__SLANG_SANCTUARY_SHARD_RESULTS__15 }}
strategy:
fail-fast: false # Continue running all shards even if some fail.
matrix:
shard_index:
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
env:
SHARDS_COUNT: 16 # Length of the 'shard_index' array above.
steps:
- name: "Checkout Repository"
uses: "actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683"
- id: run-sanctuary-test
uses: "./.github/actions/devcontainer/run"
with:
runCmd: echo '__SLANG_SANCTUARY_SHARD_RESULTS__${{ matrix.shard_index }}={"source_files":1,"passed":1,"failed":0,"incompatible":0,"not_found":0,"elapsed":{"secs":1,"nanos":0}}' >> "$GITHUB_OUTPUT"
# - name: "Restore Cache"
# uses: "./.github/actions/cache/restore"
#
# - name: "infra run solidity_testing_sanctuary"
# id: run-sanctuary-test
# uses: "./.github/actions/devcontainer/run"
# with:
# runCmd: "./scripts/bin/infra run --release --bin solidity_testing_sanctuary -- test --shards-count ${{ env.SHARDS_COUNT }} --shard-index ${{ matrix.shard_index }} ${{ inputs.check_bindings == true && '--check-bindings' || '' }} ${{ inputs.chain }} ${{ inputs.network }}"
combinedResults:
runs-on: "ubuntu-22.04" # _SLANG_DEV_CONTAINER_BASE_IMAGE_ (keep in sync)
needs: [singleShard]
if: "!cancelled()"
steps:
- name: "Checkout Repository"
uses: "actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683"
- name: "Restore Cache"
uses: "./.github/actions/cache/restore"
- name: "Output shards results"
run: echo '${{ toJSON(needs.singleShard.outputs) }}' > "__SLANG_SANCTUARY_SHARD_RESULTS__.json"
- name: "Show combined results"
uses: "./.github/actions/devcontainer/run"
with:
runCmd: "./scripts/bin/infra run --bin solidity_testing_sanctuary -- show-combined-results __SLANG_SANCTUARY_SHARD_RESULTS__.json"