Skip to content

Nightly pipeline

Nightly pipeline #37

---
name: Nightly pipeline
on:
schedule:
- cron: '00 23 * * *'
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-production-node:
needs: [check-vars-and-secrets]
name: Build production node and runtime artifacts (PR version)
uses: ./.github/workflows/_build-production-node-and-runtime.yml
store-production-node:
needs: [build-production-node]
name: Store production node and runtime artifacts (PR version)
uses: ./.github/workflows/_store-production-node-and-runtime.yml
secrets: inherit
build-production-node-and-e2e-client-image:
needs: [build-production-node]
name: Build production node and e2e client docker image
uses: ./.github/workflows/_build-production-node-and-e2e-client-image.yml
secrets: inherit
with:
build-synthetic-network-docker: true
run-e2e-high-out-latency:
needs: [build-production-node-and-e2e-client-image]
name: Run high out-latency test
runs-on: ubuntu-20.04
steps:
- name: Checkout source code
uses: actions/checkout@v3
- name: Run e2e test
uses: ./.github/actions/run-e2e-test
with:
test-case: high_out_latency_for_all
image-path: aleph-release-synthetic-docker
node-image: aleph-node:syntheticnet
compose-file: docker/docker-compose.synthetic-network.yml
timeout-minutes: 60
run-e2e-no-quorum-without-high-out-latency:
needs: [build-production-node-and-e2e-client-image]
name: Run high out-latency for every quorum
runs-on: ubuntu-20.04
steps:
- name: Checkout source code
uses: actions/checkout@v3
- name: Run e2e test
uses: ./.github/actions/run-e2e-test
with:
test-case: high_out_latency_for_each_quorum
image-path: aleph-release-synthetic-docker
node-image: aleph-node:syntheticnet
compose-file: docker/docker-compose.synthetic-network.yml
timeout-minutes: 60
check-e2e-test-suite-completion:
needs: [
run-e2e-high-out-latency,
run-e2e-no-quorum-without-high-out-latency,
]
name: Check e2e test suite completion
runs-on: ubuntu-20.04
steps:
- name: All e2e tests completed
run: echo "All e2e tests completed."
slack:
name: Slack notification
runs-on: ubuntu-20.04
needs: [check-e2e-test-suite-completion]
if: always()
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Send Slack message
uses: ./.github/actions/slack-notification
with:
notify-on: "always"
env:
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_NIGHTLY_PIPELINE }}