Skip to content

L1-289: Api inflation (#1824) #488

L1-289: Api inflation (#1824)

L1-289: Api inflation (#1824) #488

---
name: Nightly pipeline logic e2e tests
on:
workflow_dispatch:
schedule:
- cron: '00 21 * * *'
push:
branches:
- 'release-*'
concurrency:
group: ${{ github.ref }}-${{ github.workflow }}
cancel-in-progress: true
jobs:
check-vars-and-secrets:
name: Check vars and secrets
uses: ./.github/workflows/_check-vars-and-secrets.yml
secrets: inherit
build-test-node-and-runtime:
name: Build test node and runtime
uses: ./.github/workflows/_build-test-node-and-runtime.yml
with:
ref: ${{ github.ref }}
build-aleph-e2e-client-image:
needs: [check-vars-and-secrets]
name: Build aleph-e2e-client image
uses: ./.github/workflows/_build-aleph-e2e-client-image.yml
with:
ref: ${{ github.ref }}
push: true
secrets: inherit
run-e2e-tests:
name: Run e2e tests
needs: [build-test-node-and-runtime, build-aleph-e2e-client-image]
uses: ./.github/workflows/_run-e2e-tests.yml
with:
# yamllint disable-line rule:line-length
aleph-e2e-client-image: ${{ needs.build-aleph-e2e-client-image.outputs.aleph-e2e-client-image }}
run-recover-after-abft-update-test:
needs: [build-test-node-and-runtime]
name: Run recovery test after abft update
runs-on: [self-hosted, Linux, X64, medium]
steps:
- name: Checkout source code
uses: actions/checkout@v4
- name: Download release artifact
uses: actions/download-artifact@v3
with:
name: aleph-test-node
path: target/release/
- name: Run test
timeout-minutes: 15
run: |
./.github/scripts/test_python_general.sh \
--aleph-node ../target/release/aleph-node \
--testcase test_recover_after_abft_update
check-nightly-pipeline-completion:
needs: [run-e2e-tests, run-recover-after-abft-update-test]
name: Check e2e test suite completion
if: ${{ !cancelled() }}
runs-on: ubuntu-20.04
steps:
- name: All e2e tests completed
run: |
# due to the fact GitHub treats skipped jobs as success, and when any of dependant
# jobs fail, this check will be skipped, we need to check status manually
jq --exit-status 'all(.result == "success")' <<< '${{ toJson(needs) }}'
slack-notification:
name: Slack notification
runs-on: ubuntu-20.04
needs: [check-nightly-pipeline-completion]
if: >
!cancelled() &&
github.event_name != 'workflow_dispatch'
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Send Slack message
uses: ./.github/actions/slack-notification
with:
notify-on: "failure"
env:
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_DEV_ONDUTY }}