Skip to content

first test workflow merge when ready #10

first test workflow merge when ready

first test workflow merge when ready #10

name: Merge on ready
on:
pull_request:
types: [labeled, unlabeled, opened, edited, synchronize]
jobs:
enforce-ready-to-merge-label:
runs-on: ubuntu-latest
steps:
- uses: yogevbd/[email protected]
with:
REQUIRED_LABELS_ANY: "A8-mergeoncegreen"
REQUIRED_LABELS_ALL: ""
BANNED_LABELS: ""
build:
runs-on: self-hosted
env:
TMP_TARGET: "/tmp/target"
CARGO_TARGET_DIR: "target"
RUSTC_WRAPPER: "sccache"
CARGO_INCREMENTAL: "0"
SCCACHE_CACHE_SIZE: "100GB"
SCCACHE_GHA_ENABLED: "true"
needs: ["enforce-ready-to-merge-label"]
steps:
- name: Checkout
uses: actions/checkout@v4
with:
ref: ${{ needs.set-tags.outputs.git_ref }}
- name: Run sccache-cache
uses: mozilla-actions/[email protected]
- name: Setup Mold Linker
shell: bash
run: |
if [ -z "$RUSTFLAGS" ]; then
echo "RUSTFLAGS=-C opt-level=3 -D warnings -C linker=clang -C link-arg=-fuse-ld=$(pwd)/mold/bin/mold" >> $GITHUB_ENV
fi
mkdir -p mold
curl -L --retry 10 --silent --show-error https://github.com/rui314/mold/releases/download/v2.30.0/mold-2.30.0-$(uname -m)-linux.tar.gz | tar -C $(realpath mold) --strip-components=1 -xzf -
- name: Setup Rust toolchain
run: rustup show
- name: Build
run: cargo build --features=fast-runtime --release --all
- name: Save runtime wasm
run: |
mkdir -p runtimes
cp $CARGO_TARGET_DIR/release/wbuild/container-chain-template-simple-runtime/container_chain_template_simple_runtime.compact.compressed.wasm runtimes/;
cp $CARGO_TARGET_DIR/release/wbuild/container-chain-template-frontier-runtime/container_chain_template_frontier_runtime.compact.compressed.wasm runtimes/;
cp $CARGO_TARGET_DIR/release/wbuild/dancebox-runtime/dancebox_runtime.compact.compressed.wasm runtimes/;
cp $CARGO_TARGET_DIR/release/wbuild/flashbox-runtime/flashbox_runtime.compact.compressed.wasm runtimes/;
cp $CARGO_TARGET_DIR/release/wbuild/dancelight-runtime/dancelight_runtime.compact.compressed.wasm runtimes/;
- name: Upload runtimes
uses: actions/upload-artifact@v4
with:
name: runtimes
path: runtimes
- name: Save tanssi and template binaries
run: |
mkdir -p binaries
cp $CARGO_TARGET_DIR/release/tanssi-node binaries/tanssi-node;
cp $CARGO_TARGET_DIR/release/tanssi-relay binaries/tanssi-relay;
cp $CARGO_TARGET_DIR/release/tanssi-relay-prepare-worker binaries/tanssi-relay-prepare-worker;
cp $CARGO_TARGET_DIR/release/tanssi-relay-execute-worker binaries/tanssi-relay-execute-worker;
cp $CARGO_TARGET_DIR/release/container-chain-frontier-node binaries/container-chain-frontier-node;
cp $CARGO_TARGET_DIR/release/container-chain-simple-node binaries/container-chain-simple-node;
- name: Upload binary
uses: actions/upload-artifact@v4
with:
name: binaries
path: binaries
zombienet-tests-ready-to-merge:
needs: ["enforce-ready-to-merge-label", "build"]
runs-on: self-hosted
strategy:
fail-fast: false
matrix:
test_name:
- zombie_tanssi_warp_sync
- zombie_data_preservers
- zombie_tanssi_parathreads
- zombie_tanssi_rotation
steps:
- name: Checkout
uses: actions/checkout@v4
with:
ref: ${{ github.head_ref }}
- name: "Download binaries"
uses: actions/download-artifact@v4
with:
name: binaries
path: target/release
- name: "Make binaries executable"
shell: bash
run: |
chmod uog+x target/release/tanssi-node
chmod uog+x target/release/tanssi-relay
chmod uog+x target/release/tanssi-relay-prepare-worker
chmod uog+x target/release/tanssi-relay-execute-worker
chmod uog+x target/release/container-chain-simple-node
chmod uog+x target/release/container-chain-frontier-node
- name: Run Zombienet Test ${{ matrix.test_name }}
uses: ./.github/workflow-templates/zombienet-tests
with:
test_name: ${{ matrix.test_name }}
e2e-bridge-test:
needs: ["enforce-ready-to-merge-label", "build"]
runs-on: self-hosted
steps:
- name: Checkout
uses: actions/checkout@v4
with:
ref: ${{ github.head_ref }}
- name: "Download binaries"
uses: actions/download-artifact@v4
with:
name: binaries
path: target/release
- name: "Make binaries executable"
shell: bash
run: |
chmod uog+x target/release/tanssi-node
chmod uog+x target/release/tanssi-relay
chmod uog+x target/release/tanssi-relay-prepare-worker
chmod uog+x target/release/tanssi-relay-execute-worker
chmod uog+x target/release/container-chain-simple-node
chmod uog+x target/release/container-chain-frontier-node
- name: Run Zombienet Test ${{ matrix.test_name }}
id: e2e-test
uses: ./.github/workflow-templates/bridge-e2e