Skip to content

Debugging - Devnet Release Scenarios #2

Debugging - Devnet Release Scenarios

Debugging - Devnet Release Scenarios #2

name: Debugging - Devnet Release Scenarios
on:
schedule:
- cron: '55 */2 * * *'
workflow_dispatch:
jobs:
Run:
strategy:
fail-fast: false
matrix:
test:
- ValidatorsStress
include:
- test: ValidatorsStress
devnet_args: -t .github/devnet_topologies/validators_stress.toml -R -k 2 -as -dt 30
runs-on: ubuntu-22.04
steps:
- name: Free Disk Space (Ubuntu)
uses: jlumbroso/free-disk-space@main
with:
tool-cache: true
large-packages: false
- name: Checkout testing branch
uses: actions/checkout@v4
with:
ref: iicruz/testing-tendermint-ci-fails
- name: Verify branch
run: |
echo "Checked out branch: $(git rev-parse --abbrev-ref HEAD)"
if [ "$(git rev-parse --abbrev-ref HEAD)" != "iicruz/testing-tendermint-ci-fails" ]; then
echo "Failed to checkout iicruz/testing-tendermint-ci-fails!"
exit 1
fi
- uses: actions/setup-python@v5
with:
python-version: '3.8'
- name: Install python dependencies
run: pip install scripts/devnet
- name: Set up Rust toolchain
uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- name: Optionally patch the source
run: ${{ matrix.pre }}
- name: Build the code
run: cargo build --release
- name: Retrieve initial timestamp
id: initial_ts
run: |
echo "INITIAL_TS=$(date +%s%N | cut -b1-13)" >> $GITHUB_OUTPUT
- name: Execute the test
run: |
python3 scripts/devnet/devnet.py --run-environment ci ${{ matrix.devnet_args }}
env:
NIMIQ_LOKI_URL: ${{ secrets.LOKI_URL }}
NIMIQ_LOKI_EXTRA_FIELDS: nimiq_ci_name=${{ github.workflow }}:nimiq_ci_run=${{ github.run_number }}:nimiq_test=${{ matrix.test }}
- name: Redact Loki URL
if: always()
run: sed -i 's/url = "[^"]*"/url = "<redacted>"/g' temp-logs/*/conf/*/*.toml
- name: Archive test results
if: always()
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.test }}-logs
path: |
temp-logs/
- name: Retrieve failure reason
if: always()
run: |
if [ -f temp-state/*/RESULT.TXT ]; then
echo "FAIL_REASON=$(cat temp-state/*/RESULT.TXT)" >> $GITHUB_OUTPUT
else
echo "FAIL_REASON=other" >> $GITHUB_OUTPUT
fi
id: reason
- name: Retrieve final timestamp and Run ID
if: always()
id: final_ts_run_id
run: |
echo "FINAL_TS=$(date +%s%N | cut -b1-13)" >> $GITHUB_OUTPUT
echo "RUN_ID=$(cat temp-logs/*/conf/run_id.info)" >> $GITHUB_OUTPUT