Skip to content

Release v4.3.0

Release v4.3.0 #2838

name: calamari integration test
on:
push:
branches: [manta]
pull_request:
branches: [manta]
types: [opened, reopened, synchronize, labeled]
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
env:
AWS_INSTANCE_SSH_PUBLIC_KEY: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPb24HEQ++aNFWaqVyMtIs6GotUB8R+q61XOoI2z6uMj
AWS_REGION: us-east-1
AWS_SUBNET_ID: subnet-08c26caf0a52b7c19
AWS_SECURITY_GROUP_ID: sg-0315bffea9042ac9b
AWS_INSTANCE_TYPE: c5d.metal
AWS_INSTANCE_ROOT_VOLUME_SIZE: 32
AWS_IMAGE_SEARCH_PATTERN: ubuntu/images/hvm-ssd/ubuntu-focal-20.04-amd64-server-*
AWS_IMAGE_SEARCH_OWNERS: '["099720109477"]'
POLKADOT_BINARY: https://github.com/paritytech/polkadot/releases/download/v0.9.42/polkadot
jobs:
print-rust-versions:
if: contains(github.event.pull_request.labels.*.name, 'A-calamari' || github.ref == 'refs/heads/manta')
runs-on: ubuntu-20.04
container:
image: paritytech/ci-linux:production
outputs:
rustc-stable: ${{ steps.get-rust-versions.outputs.stable }}
rustc-nightly: ${{ steps.get-rust-versions.outputs.nightly }}
env:
CARGO_TERM_COLOR: always
steps:
- id: get-rust-versions
run: |
echo "::set-output name=stable::$(rustc +stable --version)"
echo "::set-output name=nightly::$(rustc +nightly --version)"
build-node-current:
timeout-minutes: 120
if: contains(github.event.pull_request.labels.*.name, 'A-calamari' || github.ref == 'refs/heads/manta')
needs: start-node-builder-current
runs-on: ${{ needs.start-node-builder-current.outputs.runner-label }}
env:
CARGO_TERM_COLOR: always
steps:
- uses: actions/checkout@v2
- name: install sccache
env:
SCCACHE_RELEASE_URL: https://github.com/mozilla/sccache/releases/download
SCCACHE_VERSION: v0.5.3
run: |
SCCACHE_FILE=sccache-$SCCACHE_VERSION-x86_64-unknown-linux-musl
mkdir -p $HOME/.local/bin
curl -L "$SCCACHE_RELEASE_URL/$SCCACHE_VERSION/$SCCACHE_FILE.tar.gz" | tar xz
mv -f $SCCACHE_FILE/sccache $HOME/.local/bin/sccache
chmod +x $HOME/.local/bin/sccache
echo "$HOME/.local/bin" >> $GITHUB_PATH
echo "$HOME/.cargo/bin" >> $GITHUB_PATH
- name: cache cargo registry
uses: actions/cache@v2
with:
path: |
~/.cargo/registry
~/.cargo/git
key: cargo-${{ hashFiles('**/Cargo.lock') }}
restore-keys: |
cargo-
- name: cache sccache
uses: actions/cache@v2
continue-on-error: false
with:
path: /home/runner/.cache/sccache
key: sccache-${{ hashFiles('**/Cargo.lock') }}
restore-keys: |
sccache-
- name: start sccache server
run: sccache --start-server
- name: init
run: |
sudo apt update
sudo apt install -y pkg-config libssl-dev protobuf-compiler
protoc --version
curl -s https://sh.rustup.rs -sSf | sh -s -- -y
source ${HOME}/.cargo/env
rustup toolchain install nightly-2023-03-03
rustup default nightly-2023-03-03
rustup target add wasm32-unknown-unknown
- name: build
env:
RUST_BACKTRACE: full
RUSTC_WRAPPER: sccache
SCCACHE_CACHE_SIZE: 2G
SCCACHE_DIR: /home/runner/.cache/sccache
run: |
source ${HOME}/.cargo/env
RUSTC_BOOTSTRAP=1 cargo build --profile production --verbose
- name: stop sccache server
run: sccache --stop-server || true
- if: always()
name: upload
uses: actions/upload-artifact@v2
with:
name: manta
path: target/production/manta
- if: always()
name: upload
uses: actions/upload-artifact@v2
with:
name: config-for-integration-test
path: .github/resources/config-for-integration-test.json
calamari-integration-test:
if: contains(github.event.pull_request.labels.*.name, 'A-calamari' || github.ref == 'refs/heads/manta')
needs: [build-node-current, start-calamari-integration-tester]
runs-on: ${{ needs.start-calamari-integration-tester.outputs.runner-label }}
timeout-minutes: 180
strategy:
fail-fast: false
matrix:
chain-spec:
- id: calamari-local
expected:
block-count:
relay: 25
para: 6
peer-count:
relay: 7
para: 4
steps:
- run: |
mkdir -p $HOME/.local/share/calamari-pc
mkdir -p $HOME/.local/bin
echo "${HOME}/.nvm/versions/node/v16.3.0/bin" >> $GITHUB_PATH
echo "${HOME}/.local/bin" >> $GITHUB_PATH
- name: fetch manta
uses: actions/download-artifact@v2
with:
name: manta
- name: mv and chmod manta
run: |
mv ${{ github.workspace }}/manta $HOME/.local/bin/
chmod +x $HOME/.local/bin/manta
ls -ahl ${{ github.workspace }}/
ls -ahl $HOME/.local/bin/
- name: fetch and chmod polkadot
run: |
curl -L -o $HOME/.local/bin/polkadot ${{ env.POLKADOT_BINARY }}
chmod +x $HOME/.local/bin/polkadot
ls -ahl $HOME/.local/bin/
- id: create-chainspec
run: |
manta build-spec --chain ${{ matrix.chain-spec.id }} --disable-default-bootnode --raw > $HOME/.local/share/calamari-pc/${{ matrix.chain-spec.id }}-spec.json
jq \
--sort-keys \
--arg name "calamari testnet ${GITHUB_SHA:0:7}" \
--arg id ${{ matrix.chain-spec.id }}-${GITHUB_SHA:0:7} \
--arg relay_chain rococo-local-${GITHUB_SHA:0:7} \
'. |
.name = $name |
.id = $id |
.relay_chain = $relay_chain |
.telemetryEndpoints = [["/dns/api.telemetry.manta.systems/tcp/443/x-parity-wss/%2Fsubmit%2F", 0]]
' $HOME/.local/share/calamari-pc/${{ matrix.chain-spec.id }}-spec.json > $HOME/.local/share/calamari-pc/${{ matrix.chain-spec.id }}-${GITHUB_SHA:0:7}-spec.json
ls -ahl $HOME/.local/share/calamari-pc/
echo "::set-output name=short-sha::${GITHUB_SHA:0:7}"
manta export-state --chain $HOME/.local/share/calamari-pc/${{ matrix.chain-spec.id }}-${GITHUB_SHA:0:7}-spec.json > $HOME/.local/share/calamari-pc/${{ matrix.chain-spec.id }}-state.json || true
- uses: actions/checkout@v2
with:
repository: Manta-Network/Manta
path: Manta
- if: always()
uses: actions/upload-artifact@v2
with:
name: ${{ matrix.chain-spec.id }}-state.json
path: /home/runner/.local/share/calamari-pc/${{ matrix.chain-spec.id }}-state.json
- if: always()
uses: actions/upload-artifact@v2
with:
name: ${{ matrix.chain-spec.id }}-spec.json
path: /home/runner/.local/share/calamari-pc/${{ matrix.chain-spec.id }}-spec.json
- if: always()
uses: actions/upload-artifact@v2
with:
name: ${{ matrix.chain-spec.id }}-${{ steps.create-chainspec.outputs.short-sha }}-spec.json
path: /home/runner/.local/share/calamari-pc/${{ matrix.chain-spec.id }}-${{ steps.create-chainspec.outputs.short-sha }}-spec.json
- name: fetch config-for-integration-test
uses: actions/download-artifact@v2
with:
name: config-for-integration-test
- name: create launch config
run: |
cat config-for-integration-test.json | \
jq \
--arg relaychain_bin $HOME/.local/bin/polkadot \
--arg relaychain_id rococo-local-${GITHUB_SHA:0:7} \
--arg relaychain_name "rococo local ${GITHUB_SHA:0:7}" \
--arg parachains_bin $HOME/.local/bin/manta \
--arg parachains_spec $HOME/.local/share/calamari-pc/${{ matrix.chain-spec.id }}-${GITHUB_SHA:0:7}-spec.json \
'.
| .relaychain.bin = $relaychain_bin
| .relaychain.mutation.id = $relaychain_id
| .relaychain.mutation.name = $relaychain_name
| .parachains[].bin = $parachains_bin
| .parachains[].chain = $parachains_spec
' > $HOME/.local/share/calamari-pc/${{ matrix.chain-spec.id }}-${GITHUB_SHA:0:7}-launch-config.json
jq . $HOME/.local/share/calamari-pc/${{ matrix.chain-spec.id }}-${GITHUB_SHA:0:7}-launch-config.json
ls -ahl $HOME/.local/share/calamari-pc/
- if: always()
uses: actions/upload-artifact@v2
with:
name: ${{ matrix.chain-spec.id }}-${{ steps.create-chainspec.outputs.short-sha }}-launch-config.json
path: /home/runner/.local/share/calamari-pc/${{ matrix.chain-spec.id }}-${{ steps.create-chainspec.outputs.short-sha }}-launch-config.json
- uses: actions/checkout@v2
with:
repository: paritytech/polkadot-launch
path: polkadot-launch
- uses: actions/checkout@v2
with:
repository: Manta-Network/Dev-Tools
path: dev-tools-rococo
- uses: actions/checkout@v2
with:
repository: Manta-Network/Dev-Tools
path: dev-tools-calamari
- name: launch testnet
run: |
cd ${{ github.workspace }}/polkadot-launch
yarn install
yarn build
pm2 start dist/cli.js \
--name polkadot-launch \
--output ${{ github.workspace }}/polkadot-launch-for-${{ matrix.chain-spec.id }}-stdout.log \
--error ${{ github.workspace }}/polkadot-launch-for-${{ matrix.chain-spec.id }}-stderr.log \
--no-autorestart \
-- $HOME/.local/share/calamari-pc/${{ matrix.chain-spec.id }}-${GITHUB_SHA:0:7}-launch-config.json
- name: init measure-block-time rococo
run: |
cd ${{ github.workspace }}/dev-tools-rococo/measure-block-time
yarn install
pm2 start index.js \
--name measure-block-time-rococo-relay-for-${{ matrix.chain-spec.id }} \
--output ${{ github.workspace }}/measure-block-time-rococo-relay-for-${{ matrix.chain-spec.id }}-stdout.log \
--error ${{ github.workspace }}/measure-block-time-rococo-relay-for-${{ matrix.chain-spec.id }}-stderr.log \
--no-autorestart \
-- \
--address=ws://127.0.0.1:9911
- name: init measure-block-time calamari
run: |
cd ${{ github.workspace }}/dev-tools-calamari/measure-block-time
yarn install
pm2 start index.js \
--name measure-block-time-${{ matrix.chain-spec.id }} \
--output ${{ github.workspace }}/measure-block-time-${{ matrix.chain-spec.id }}-stdout.log \
--error ${{ github.workspace }}/measure-block-time-${{ matrix.chain-spec.id }}-stderr.log \
--no-autorestart \
-- \
--address=ws://127.0.0.1:9921
- uses: actions/checkout@v2
with:
repository: Manta-Network/Manta
path: Manta
- name: run test suites
run: |
sleep 120
cd ${{ github.workspace }}/Manta/tests
yarn install
yarn
yarn correctness_test --address=ws://127.0.0.1:9921 --exit
yarn performance_test --address=ws://127.0.0.1:9921 --exit
- name: check if target block is finalized
run: |
cd ${{ github.workspace }}/dev-tools-calamari/check-finalized-block
yarn install
yarn
node index.js --para_address=ws://127.0.0.1:9921 --relay_address=ws://127.0.0.1:9911 --target_block=${{ matrix.chain-spec.expected.block-count.para }}
if [ $? == 1 ]; then echo "Failed to finalize the target block - ${{ matrix.chain-spec.expected.block-count.para }}"; exit 1; fi
- name: stop testnet
run: |
cd ${{ github.workspace }}/polkadot-launch
pm2 stop measure-block-time-rococo-relay-for-${{ matrix.chain-spec.id }}
pm2 stop measure-block-time-${{ matrix.chain-spec.id }}
pm2 stop polkadot-launch
- if: always()
uses: actions/upload-artifact@v2
with:
name: polkadot-launch-for-${{ matrix.chain-spec.id }}-stdout.log
path: ${{ github.workspace }}/polkadot-launch-for-${{ matrix.chain-spec.id }}-stdout.log
- if: always()
uses: actions/upload-artifact@v2
with:
name: polkadot-launch-for-${{ matrix.chain-spec.id }}-stderr.log
path: ${{ github.workspace }}/polkadot-launch-for-${{ matrix.chain-spec.id }}-stderr.log
- if: always()
uses: actions/upload-artifact@v2
with:
name: measure-block-time-rococo-relay-for-${{ matrix.chain-spec.id }}-stdout.log
path: ${{ github.workspace }}/measure-block-time-rococo-relay-for-${{ matrix.chain-spec.id }}-stdout.log
- if: always()
uses: actions/upload-artifact@v2
with:
name: measure-block-time-rococo-relay-for-${{ matrix.chain-spec.id }}-stderr.log
path: ${{ github.workspace }}/measure-block-time-rococo-relay-for-${{ matrix.chain-spec.id }}-stderr.log
- if: always()
uses: actions/upload-artifact@v2
with:
name: measure-block-time-${{ matrix.chain-spec.id }}-stdout.log
path: ${{ github.workspace }}/measure-block-time-${{ matrix.chain-spec.id }}-stdout.log
- if: always()
uses: actions/upload-artifact@v2
with:
name: measure-block-time-${{ matrix.chain-spec.id }}-stderr.log
path: ${{ github.workspace }}/measure-block-time-${{ matrix.chain-spec.id }}-stderr.log
- if: always()
uses: actions/upload-artifact@v2
with:
name: rococo-alice-relay-for-${{ matrix.chain-spec.id }}.log
path: ${{ github.workspace }}/polkadot-launch/alice.log
- if: always()
uses: actions/upload-artifact@v2
with:
name: rococo-bob-relay-for-${{ matrix.chain-spec.id }}.log
path: ${{ github.workspace }}/polkadot-launch/bob.log
- if: always()
uses: actions/upload-artifact@v2
with:
name: ${{ matrix.chain-spec.id }}-alice.log
path: ${{ github.workspace }}/polkadot-launch/9921.log
- if: always()
uses: actions/upload-artifact@v2
with:
name: ${{ matrix.chain-spec.id }}-bob.log
path: ${{ github.workspace }}/polkadot-launch/9922.log
- name: parse rococo block times
run: |
grep '#.*' ${{ github.workspace }}/measure-block-time-rococo-relay-for-${{ matrix.chain-spec.id }}-stdout.log | while read -r line; do words=($line); echo ${words[6]},${words[10]} | tee ${{ github.workspace }}/block-time-rococo.csv; done
if [ ! -f ${{ github.workspace }}/block-time-rococo.csv ]; then echo "block times not detected"; exit 1; fi
jq -s -R '[split("\n") | .[] | select(length > 0) | split(",") | {block:.[0]|tonumber, time:.[1]|tonumber} ]' ${{ github.workspace }}/block-time-rococo.csv > ${{ github.workspace }}/block-time-rococo.json
- if: always()
uses: actions/upload-artifact@v2
with:
name: block-time-rococo-relay-for-${{ matrix.chain-spec.id }}.json
path: ${{ github.workspace }}/block-time-rococo.json
# - if: always()
# - name: parse calamari block times
# run: |
# grep '#.*' ${{ github.workspace }}/measure-block-time-${{ matrix.chain-spec.id }}-stdout.log | while read -r line; do words=($line); echo ${words[6]},${words[10]} | tee ${{ github.workspace }}/block-time-${{ matrix.chain-spec.id }}.csv; done
# if [ ! -f ${{ github.workspace }}/block-time-${{ matrix.chain-spec.id }}.csv ]; then echo "block times not detected"; exit 1; fi
# jq -s -R '[split("\n") | .[] | select(length > 0) | split(",") | {block:.[0]|tonumber, time:.[1]|tonumber} ]' ${{ github.workspace }}/block-time-${{ matrix.chain-spec.id }}.csv > ${{ github.workspace }}/block-time-${{ matrix.chain-spec.id }}.json
# - if: always()
# uses: actions/upload-artifact@v2
# with:
# name: block-time-${{ matrix.chain-spec.id }}.json
# path: ${{ github.workspace }}/block-time-${{ matrix.chain-spec.id }}.json
- if: always()
name: test - rococo alice peered successfully
run: |
grep '💤 Idle (${{ matrix.chain-spec.expected.peer-count.relay }} peers)' ${{ github.workspace }}/polkadot-launch/alice.log
- if: always()
name: test - rococo alice imported block ${{ matrix.chain-spec.expected.block-count.relay }}
run: |
grep ' Imported #${{ matrix.chain-spec.expected.block-count.relay }} ' ${{ github.workspace }}/polkadot-launch/alice.log
- if: always()
name: test - calamari alice peered successfully
run: |
grep '\[Parachain\] 💤 Idle (${{ matrix.chain-spec.expected.peer-count.para }} peers)' ${{ github.workspace }}/polkadot-launch/9921.log
- name: append manta-pay storage
run: |
wget -P ${{ github.workspace }}/Manta/tests/data https://manta-ops.s3.amazonaws.com/integration-tests-data/storage.json
mv $HOME/.local/share/calamari-pc/${{ matrix.chain-spec.id }}-${GITHUB_SHA:0:7}-spec.json ${{ github.workspace }}/Manta/tests/data/fork.json
cd ${{ github.workspace }}/Manta/tests
yarn install
yarn
node append_storage.js
cd ../../
mv ${{ github.workspace }}/Manta/tests/data/fork.json $HOME/.local/share/calamari-pc/${{ matrix.chain-spec.id }}-${GITHUB_SHA:0:7}-spec.json
- name: launch testnet
run: |
cd ${{ github.workspace }}/polkadot-launch
yarn install
yarn build
pm2 start dist/cli.js \
--name polkadot-launch \
--output ${{ github.workspace }}/polkadot-launch-for-${{ matrix.chain-spec.id }}-stdout.log \
--error ${{ github.workspace }}/polkadot-launch-for-${{ matrix.chain-spec.id }}-stderr.log \
--no-autorestart \
-- $HOME/.local/share/calamari-pc/${{ matrix.chain-spec.id }}-${GITHUB_SHA:0:7}-launch-config.json
- name: run stress test
run: |
sleep 720
cd ${{ github.workspace }}/Manta/tests
yarn install
yarn
yarn stress_benchmark_test --address=ws://127.0.0.1:9921 --exit
- name: stop testnet
run: |
cd ${{ github.workspace }}/polkadot-launch
pm2 stop polkadot-launch
- if: always()
uses: actions/upload-artifact@v2
with:
name: ${{ matrix.chain-spec.id }}-alice-stress.log
path: ${{ github.workspace }}/polkadot-launch/9921.log
docker-image-test:
timeout-minutes: 120
if: contains(github.event.pull_request.labels.*.name, 'A-calamari' || github.ref == 'refs/heads/manta')
needs: [build-node-current, start-docker-image-tester]
runs-on: ubuntu-20.04
strategy:
matrix:
runtime:
- name: calamari
steps:
- uses: actions/checkout@v2
- name: fetch manta
uses: actions/download-artifact@v2
with:
name: manta
- name: build docker image
run: |
mv manta docker/manta
cd docker/
chmod +x manta
GIT_TAG=${{ github.event.release.tag_name }}
BINARY_NAME=manta
ln -s ${{ matrix.runtime.name }}.Dockerfile Dockerfile
docker build \
--build-arg PARA_BINARY_REF=${GIT_TAG} \
--build-arg PARA_BINARY_URL=manta \
--tag ${{ matrix.runtime.name }} ./
- name: run docker image
run: |
sudo docker run -p 9944:9944 -p 9945:9945 -d ${{ matrix.runtime.name }} --unsafe-ws-external -- --unsafe-ws-external > docker_id.log
sleep 60
- name: Show log
run: |
echo "Get the docker container ID:"
image_id=`cat docker_id.log`
echo $image_id
echo "Adjusting permissions so we can access docker logs..."
sudo chmod -R +x /var/lib/docker/
sudo cat /var/lib/docker/containers/${image_id}/${image_id}-json.log
- uses: actions/checkout@v2
with:
repository: Manta-Network/Dev-Tools
path: dev-tools
- name: check if target block is finalized
run: |
cd dev-tools/check-finalized-block
yarn install
yarn
node index.js --para_address=ws://127.0.0.1:9944 --relay_address=ws://127.0.0.1:9945 --target_block=6
if [ $? == 1 ]; then echo "Failed to finalize the target block - 6"; exit 1; fi
# HELPER JOBS BELOW
start-node-builder-current:
if: contains(github.event.pull_request.labels.*.name, 'A-calamari' || github.ref == 'refs/heads/manta')
runs-on: ubuntu-20.04
outputs:
runner-label: ${{ steps.start-self-hosted-runner.outputs.runner-label }}
aws-region: ${{ steps.start-self-hosted-runner.outputs.aws-region }}
aws-instance-id: ${{ steps.start-self-hosted-runner.outputs.aws-instance-id }}
steps:
- id: start-self-hosted-runner
uses: audacious-network/aws-github-runner@v1.0.33
with:
mode: start
github-token: ${{ secrets.SELF_HOSTED_RUNNER_TOKEN }}
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-instance-ssh-public-key: ${{ env.AWS_INSTANCE_SSH_PUBLIC_KEY }}
aws-region: ${{ env.AWS_REGION }}
aws-subnet-id: ${{ env.AWS_SUBNET_ID }}
aws-security-group-id: ${{ env.AWS_SECURITY_GROUP_ID }}
aws-instance-type: ${{ env.AWS_INSTANCE_TYPE }}
aws-instance-root-volume-size: 32
aws-image-search-pattern: ${{ env.AWS_IMAGE_SEARCH_PATTERN }}
aws-image-search-owners: ${{ env.AWS_IMAGE_SEARCH_OWNERS }}
stop-node-builder-current:
if: ${{ always() }}
needs: [start-node-builder-current, build-node-current]
runs-on: ubuntu-20.04
steps:
- continue-on-error: true
uses: audacious-network/aws-github-runner@v1.0.33
with:
mode: stop
github-token: ${{ secrets.SELF_HOSTED_RUNNER_TOKEN }}
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: ${{ needs.start-node-builder-current.outputs.aws-region }}
runner-label: ${{ needs.start-node-builder-current.outputs.runner-label }}
aws-instance-id: ${{ needs.start-node-builder-current.outputs.aws-instance-id }}
- name: discard stopper success/failure
run: true
start-calamari-integration-tester:
if: contains(github.event.pull_request.labels.*.name, 'A-calamari' || github.ref == 'refs/heads/manta')
runs-on: ubuntu-20.04
outputs:
runner-label: ${{ steps.start-self-hosted-runner.outputs.runner-label }}
aws-region: ${{ steps.start-self-hosted-runner.outputs.aws-region }}
aws-instance-id: ${{ steps.start-self-hosted-runner.outputs.aws-instance-id }}
steps:
- id: start-self-hosted-runner
uses: audacious-network/aws-github-runner@v1.0.33
with:
mode: start
github-token: ${{ secrets.SELF_HOSTED_RUNNER_TOKEN }}
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-instance-ssh-public-key: ${{ env.AWS_INSTANCE_SSH_PUBLIC_KEY }}
aws-region: ${{ env.AWS_REGION }}
aws-subnet-id: ${{ env.AWS_SUBNET_ID }}
aws-security-group-id: ${{ env.AWS_SECURITY_GROUP_ID }}
aws-instance-type: ${{ env.AWS_INSTANCE_TYPE }}
aws-instance-root-volume-size: 64
aws-image-search-pattern: ${{ env.AWS_IMAGE_SEARCH_PATTERN }}
aws-image-search-owners: ${{ env.AWS_IMAGE_SEARCH_OWNERS }}
stop-calamari-integration-tester:
if: ${{ always() }}
needs: [start-calamari-integration-tester, calamari-integration-test]
runs-on: ubuntu-20.04
steps:
- continue-on-error: true
uses: audacious-network/aws-github-runner@v1.0.33
with:
mode: stop
github-token: ${{ secrets.SELF_HOSTED_RUNNER_TOKEN }}
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: ${{ needs.start-calamari-integration-tester.outputs.aws-region }}
runner-label: ${{ needs.start-calamari-integration-tester.outputs.runner-label }}
aws-instance-id: ${{ needs.start-calamari-integration-tester.outputs.aws-instance-id }}
- name: discard stopper success/failure
run: true
start-docker-image-tester:
if: contains(github.event.pull_request.labels.*.name, 'A-calamari' || github.ref == 'refs/heads/manta')
runs-on: ubuntu-20.04
outputs:
runner-label: ${{ steps.start-self-hosted-runner.outputs.runner-label }}
aws-region: ${{ steps.start-self-hosted-runner.outputs.aws-region }}
aws-instance-id: ${{ steps.start-self-hosted-runner.outputs.aws-instance-id }}
steps:
- id: start-self-hosted-runner
uses: audacious-network/aws-github-runner@v1.0.33
with:
mode: start
github-token: ${{ secrets.SELF_HOSTED_RUNNER_TOKEN }}
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-instance-ssh-public-key: ${{ env.AWS_INSTANCE_SSH_PUBLIC_KEY }}
aws-region: ${{ env.AWS_REGION }}
aws-subnet-id: ${{ env.AWS_SUBNET_ID }}
aws-security-group-id: ${{ env.AWS_SECURITY_GROUP_ID }}
aws-instance-type: ${{ env.AWS_INSTANCE_TYPE }}
aws-instance-root-volume-size: 64
aws-image-search-pattern: ${{ env.AWS_IMAGE_SEARCH_PATTERN }}
aws-image-search-owners: ${{ env.AWS_IMAGE_SEARCH_OWNERS }}
stop-docker-image-tester:
if: ${{ always() }}
needs: [start-docker-image-tester, docker-image-test]
runs-on: ubuntu-20.04
steps:
- continue-on-error: true
uses: audacious-network/aws-github-runner@v1.0.33
with:
mode: stop
github-token: ${{ secrets.SELF_HOSTED_RUNNER_TOKEN }}
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: ${{ needs.start-docker-image-tester.outputs.aws-region }}
runner-label: ${{ needs.start-docker-image-tester.outputs.runner-label }}
aws-instance-id: ${{ needs.start-docker-image-tester.outputs.aws-instance-id }}
- name: discard stopper success/failure
run: true