mirror of
https://github.com/trezor/blockbook.git
synced 2026-03-23 16:07:24 +01:00
80 lines
2.2 KiB
YAML
80 lines
2.2 KiB
YAML
name: Deploy
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
inputs:
|
|
coins:
|
|
description: "Comma-separated coin aliases from configs/coins, or ALL"
|
|
required: true
|
|
ref:
|
|
description: "Git ref to deploy (leave empty for current ref)"
|
|
required: false
|
|
default: ""
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
prepare:
|
|
name: Prepare Plan
|
|
runs-on: ubuntu-latest
|
|
outputs:
|
|
deploy_matrix: ${{ steps.plan.outputs.deploy_matrix }}
|
|
e2e_regex: ${{ steps.plan.outputs.e2e_regex }}
|
|
coins_csv: ${{ steps.plan.outputs.coins_csv }}
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v4
|
|
with:
|
|
ref: ${{ inputs.ref != '' && inputs.ref || github.ref }}
|
|
|
|
- name: Build deploy/e2e plan
|
|
id: plan
|
|
env:
|
|
VARS_JSON: ${{ toJSON(vars) }}
|
|
COINS_INPUT: ${{ inputs.coins }}
|
|
run: ./.github/scripts/prepare_deploy_plan.py
|
|
|
|
deploy:
|
|
name: Deploy (${{ matrix.coin }})
|
|
needs: prepare
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
include: ${{ fromJSON(needs.prepare.outputs.deploy_matrix) }}
|
|
runs-on: [self-hosted, bb-dev-selfhosted, "${{ matrix.runner }}"]
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v4
|
|
with:
|
|
ref: ${{ inputs.ref != '' && inputs.ref || github.ref }}
|
|
|
|
- name: Export repository variables
|
|
uses: ./.github/actions/export-repository-variables
|
|
with:
|
|
vars_json: ${{ toJSON(vars) }}
|
|
|
|
- name: Deploy blockbook package
|
|
run: ./contrib/scripts/deploy-blockbook-local.sh "${{ matrix.coin }}"
|
|
|
|
e2e-tests:
|
|
name: E2E Tests (post-deploy)
|
|
needs: [prepare, deploy]
|
|
if: ${{ needs.deploy.result == 'success' }}
|
|
runs-on: [self-hosted, bb-dev-selfhosted]
|
|
env:
|
|
E2E_REGEX: ${{ needs.prepare.outputs.e2e_regex }}
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v4
|
|
with:
|
|
ref: ${{ inputs.ref != '' && inputs.ref || github.ref }}
|
|
|
|
- name: Export repository variables
|
|
uses: ./.github/actions/export-repository-variables
|
|
with:
|
|
vars_json: ${{ toJSON(vars) }}
|
|
|
|
- name: Run e2e tests
|
|
run: make test-e2e ARGS="-v -run ${E2E_REGEX}"
|