Zombienet migration #1258
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: manta 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: c5.2xlarge | |
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-manta' || 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-manta' || 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 | |
manta-integration-test: | |
if: contains(github.event.pull_request.labels.*.name, 'A-manta' || github.ref == 'refs/heads/manta') | |
needs: [build-node-current, start-manta-integration-tester] | |
runs-on: ${{ needs.start-manta-integration-tester.outputs.runner-label }} | |
timeout-minutes: 240 | |
strategy: | |
fail-fast: false | |
matrix: | |
chain-spec: | |
- id: manta-local | |
expected: | |
block-count: | |
relay: 15 | |
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/ | |
- name: Install dasel cli | |
run: | | |
curl -sSLf "$(curl -sSLf https://api.github.com/repos/tomwright/dasel/releases/latest | grep browser_download_url | grep linux_amd64 | grep -v .gz | cut -d\" -f 4)" -L -o dasel && chmod +x dasel | |
mv ./dasel $HOME/.cargo/bin/dasel | |
dasel --version | |
- 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 "manta 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: | | |
ls -ahl ${{ github.workspace }}/zombienet/tests | |
cd ${{ github.workspace }} | |
dasel put -t string -v $HOME/.local/bin/polkadot -r toml \ | |
-f ${{ github.workspace }}/zombienet/tests/0001-block-production.toml \ | |
'.relaychain.default_command' | |
dasel put -t string -v $HOME/.local/bin/manta -r toml \ | |
-f ${{ github.workspace }}/zombienet/tests/0001-block-production.toml \ | |
'.parachains.[0].collators.[0].command' | |
cat ${{ github.workspace }}/zombienet/tests/0001-block-production.toml | |
- 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/zombienet | |
path: zombienet-tool | |
- 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-manta | |
- name: launch testnet | |
run: | | |
cd ${{ github.workspace }}/zombienet-tool/javascript | |
yarn | |
npm run build | |
pm2 start packages/cli/dist/cli.js --name zombienet \ | |
--output ${{ github.workspace }}/zombienet-for-${{ matrix.chain-spec.id }}-stdout.log \ | |
--error ${{ github.workspace }}/zombienet-for-${{ matrix.chain-spec.id }}-stderr.log \ | |
-- spawn --provider native ${{ github.workspace }}/zombienet/tests/0001-block-production.toml | |
- 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 manta | |
run: | | |
cd ${{ github.workspace }}/dev-tools-manta/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-manta/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 }}/zombienet-tool | |
pm2 stop measure-block-time-rococo-relay-for-${{ matrix.chain-spec.id }} | |
pm2 stop measure-block-time-${{ matrix.chain-spec.id }} | |
pm2 stop zombienet | |
- if: always() | |
uses: actions/upload-artifact@v2 | |
with: | |
name: zombienet-for-${{ matrix.chain-spec.id }}-stdout.log | |
path: ${{ github.workspace }}/zombienet-for-${{ matrix.chain-spec.id }}-stdout.log | |
- if: always() | |
uses: actions/upload-artifact@v2 | |
with: | |
name: zombienet-for-${{ matrix.chain-spec.id }}-stderr.log | |
path: ${{ github.workspace }}/zombienet-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() | |
name: test - manta alice peered successfully | |
run: | | |
cd ${{ github.workspace }}/zombienet-tool/javascript | |
sed -i 's/2084/2104/g' ${{ github.workspace }}/zombienet/tests/0001-block-production.zndsl | |
node packages/cli/dist/cli.js -f -p native test ${{ github.workspace }}/zombienet/tests/0001-block-production.zndsl | |
- 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 }}/zombienet-tool/javascript | |
yarn | |
npm run build | |
pm2 start packages/cli/dist/cli.js --name zombienet \ | |
--output ${{ github.workspace }}/zombienet-for-${{ matrix.chain-spec.id }}-stdout.log \ | |
--error ${{ github.workspace }}/zombienet-for-${{ matrix.chain-spec.id }}-stderr.log \ | |
-- spawn --provider native ${{ github.workspace }}/zombienet/tests/0001-block-production.toml | |
- 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 }}/zombienet-tool | |
pm2 stop zombienet | |
- if: always() | |
uses: actions/upload-artifact@v2 | |
with: | |
name: ${{ matrix.chain-spec.id }}-alice-stress.log | |
path: ${{ github.workspace }}/zombienet/9921.log | |
- name: launch testnet | |
run: | | |
cd ${{ github.workspace }}/zombienet-tool/javascript | |
yarn | |
npm run build | |
pm2 start packages/cli/dist/cli.js --name zombienet \ | |
--output ${{ github.workspace }}/zombienet-for-${{ matrix.chain-spec.id }}-stdout.log \ | |
--error ${{ github.workspace }}/zombienet-for-${{ matrix.chain-spec.id }}-stderr.log \ | |
-- spawn --provider native ${{ github.workspace }}/zombienet/tests/0001-block-production.toml | |
- name: run farming test | |
run: | | |
sleep 720 | |
cd ${{ github.workspace }}/Manta/tests | |
yarn install | |
yarn | |
yarn test_farming --address=ws://127.0.0.1:9921 --exit | |
- name: stop testnet | |
run: | | |
cd ${{ github.workspace }}/zombienet-tool | |
pm2 stop zombienet | |
- if: always() | |
uses: actions/upload-artifact@v2 | |
with: | |
name: ${{ matrix.chain-spec.id }}-alice-stress.log | |
path: ${{ github.workspace }}/zombienet-for-${{ matrix.chain-spec.id }}-stdout.log | |
- name: run tests | |
run: | | |
sleep 120 | |
cd ${{ github.workspace }}/Manta/tests | |
yarn install | |
yarn | |
MANTA_BINARY=$HOME/.local/bin/manta yarn tests | |
docker-image-test: | |
timeout-minutes: 120 | |
if: contains(github.event.pull_request.labels.*.name, 'A-manta' || github.ref == 'refs/heads/manta') | |
needs: [build-node-current, start-docker-image-tester] | |
runs-on: ubuntu-20.04 | |
strategy: | |
matrix: | |
runtime: | |
- name: manta | |
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-manta' || 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/[email protected] | |
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/[email protected] | |
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-manta-integration-tester: | |
if: contains(github.event.pull_request.labels.*.name, 'A-manta' || 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/[email protected] | |
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-manta-integration-tester: | |
if: ${{ always() }} | |
needs: [start-manta-integration-tester, manta-integration-test] | |
runs-on: ubuntu-20.04 | |
steps: | |
- continue-on-error: true | |
uses: audacious-network/[email protected] | |
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-manta-integration-tester.outputs.aws-region }} | |
runner-label: ${{ needs.start-manta-integration-tester.outputs.runner-label }} | |
aws-instance-id: ${{ needs.start-manta-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-manta' || 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/[email protected] | |
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/[email protected] | |
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 |