Skip to content

release(charts): blackburn upgrade (#2244) #10240

release(charts): blackburn upgrade (#2244)

release(charts): blackburn upgrade (#2244) #10240

Workflow file for this run

name: Docker
# Trigger on pushes to master branch, new semantic version tags, and pull request updates
on:
workflow_dispatch:
inputs:
tag:
description: Git branch, or tag to build from.
required: false
target:
description: Target to build.
required: false
type: choice
options:
- account-monitor
- auctioneer
- composer
- conductor
- sequencer
- sequencer-relayer
- evm-bridge-withdrawer
- cli
merge_group:
push:
branches:
- "main"
tags:
- "**-v[0-9]+.[0-9]+.[0-9]+"
- "**-v[0-9]+.[0-9]+.[0-9]+-alpha.[0-9]+"
- "**-v[0-9]+.[0-9]+.[0-9]+-beta.[0-9]+"
- "**-v[0-9]+.[0-9]+.[0-9]+-rc.[0-9]+"
pull_request:
types:
- opened
- synchronize
- reopened
- labeled
jobs:
run_checker:
uses: ./.github/workflows/reusable-run-checker.yml
permissions:
pull-requests: read
auctioneer:
needs: run_checker
if: needs.run_checker.outputs.run_docker == 'true' || (github.event_name == 'workflow_dispatch' && github.event.inputs.target == 'auctioneer')
uses: "./.github/workflows/reusable-docker-build.yml"
permissions:
contents: read
id-token: write
packages: write
with:
depot-project-id: 1kp2p2bvbr
package-name: auctioneer
binary-name: auctioneer
tag: ${{ inputs.tag }}
force: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.target == 'auctioneer' }}
secrets: inherit
composer:
needs: run_checker
if: needs.run_checker.outputs.run_docker == 'true' || (github.event_name == 'workflow_dispatch' && github.event.inputs.target == 'composer')
uses: "./.github/workflows/reusable-docker-build.yml"
permissions:
contents: read
id-token: write
packages: write
with:
depot-project-id: mhgvgvsjnx
package-name: composer
binary-name: composer
tag: ${{ inputs.tag }}
force: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.target == 'composer' }}
secrets: inherit
conductor:
needs: run_checker
if: needs.run_checker.outputs.run_docker == 'true' || (github.event_name == 'workflow_dispatch' && github.event.inputs.target == 'conductor')
uses: "./.github/workflows/reusable-docker-build.yml"
permissions:
contents: read
id-token: write
packages: write
with:
depot-project-id: zrh9t1d84s
package-name: conductor
binary-name: conductor
tag: ${{ inputs.tag }}
force: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.target == 'conductor' }}
secrets: inherit
sequencer:
needs: run_checker
if: needs.run_checker.outputs.run_docker == 'true' || (github.event_name == 'workflow_dispatch' && github.event.inputs.target == 'sequencer')
uses: "./.github/workflows/reusable-docker-build.yml"
permissions:
contents: read
id-token: write
packages: write
with:
depot-project-id: brzhxfbv9b
package-name: sequencer
binary-name: sequencer
tag: ${{ inputs.tag }}
force: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.target == 'sequencer' }}
secrets: inherit
sequencer-relayer:
needs: run_checker
if: needs.run_checker.outputs.run_docker == 'true' || (github.event_name == 'workflow_dispatch' && github.event.inputs.target == 'sequencer-relayer')
uses: "./.github/workflows/reusable-docker-build.yml"
permissions:
contents: read
id-token: write
packages: write
with:
depot-project-id: 86q4kz4wfs
package-name: sequencer-relayer
binary-name: sequencer-relayer
tag: ${{ inputs.tag }}
force: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.target == 'sequencer-relayer' }}
secrets: inherit
evm-bridge-withdrawer:
needs: run_checker
if: needs.run_checker.outputs.run_docker == 'true' || (github.event_name == 'workflow_dispatch' && github.event.inputs.target == 'evm-bridge-withdrawer')
uses: "./.github/workflows/reusable-docker-build.yml"
permissions:
contents: read
id-token: write
packages: write
with:
depot-project-id: dl81f3fc6x
package-name: evm-bridge-withdrawer
binary-name: bridge-withdrawer
tag: ${{ inputs.tag }}
force: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.target == 'evm-bridge-withdrawer' }}
secrets: inherit
account-monitor:
needs: run_checker
if: needs.run_checker.outputs.run_docker == 'true' || (github.event_name == 'workflow_dispatch' && github.event.inputs.target == 'account-monitor')
uses: "./.github/workflows/reusable-docker-build.yml"
permissions:
contents: read
id-token: write
packages: write
with:
depot-project-id: 83lmw4dm66
package-name: account-monitor
binary-name: account-monitor
tag: ${{ inputs.tag }}
force: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.target == 'account-monitor' }}
secrets: inherit
cli:
needs: run_checker
if: needs.run_checker.outputs.run_docker == 'true' || (github.event_name == 'workflow_dispatch' && github.event.inputs.target == 'cli')
uses: "./.github/workflows/reusable-docker-build.yml"
permissions:
contents: read
id-token: write
packages: write
with:
depot-project-id: kcchkd09m0
package-name: astria-cli
binary-name: cli
tag: ${{ inputs.tag }}
secrets: inherit
aspen-upgrade-test:
needs: [run_checker, composer, conductor, sequencer, sequencer-relayer, evm-bridge-withdrawer, cli]
if: (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == 'astriaorg/astria') && (github.event_name == 'merge_group' || needs.run_checker.outputs.run_docker == 'true')
runs-on: depot-ubuntu-24.04-8
steps:
- uses: actions/checkout@v4
- name: Install just
uses: taiki-e/install-action@just
- name: Install kind
uses: helm/kind-action@v1
with:
install_only: true
- name: Install the latest version of uv
uses: astral-sh/setup-uv@v5
- name: Install buf
uses: bufbuild/buf-setup-action@v1
with:
version: "1.50.1"
- name: Log in to GHCR
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Setup Upgrade Test Environment
timeout-minutes: 10
run: |
just deploy cluster
kubectl create secret generic regcred --from-file=.dockerconfigjson=$HOME/.docker/config.json --type=kubernetes.io/dockerconfigjson
just deploy upgrade-test
cd system-tests
uv venv
uv pip install -r requirements.txt
- name: Run Upgrade Test
timeout-minutes: 10
run: |
TAG=sha-$(git rev-parse --short HEAD)
just run upgrade-test $TAG aspen
blackburn-upgrade-test:
needs: [run_checker, composer, conductor, sequencer, sequencer-relayer, evm-bridge-withdrawer, cli]
if: (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == 'astriaorg/astria') && (github.event_name == 'merge_group' || needs.run_checker.outputs.run_docker == 'true')
runs-on: depot-ubuntu-24.04-8
steps:
- uses: actions/checkout@v4
- name: Install just
uses: taiki-e/install-action@just
- name: Install kind
uses: helm/kind-action@v1
with:
install_only: true
- name: Install the latest version of uv
uses: astral-sh/setup-uv@v5
- name: Install buf
uses: bufbuild/buf-setup-action@v1
with:
version: "1.50.1"
- name: Log in to GHCR
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Setup Upgrade Test Environment
timeout-minutes: 10
run: |
just deploy cluster
kubectl create secret generic regcred --from-file=.dockerconfigjson=$HOME/.docker/config.json --type=kubernetes.io/dockerconfigjson
just deploy upgrade-test
cd system-tests
uv venv
uv pip install -r requirements.txt
- name: Run Upgrade Test
timeout-minutes: 10
run: |
TAG=sha-$(git rev-parse --short HEAD)
just run upgrade-test $TAG blackburn
smoke-test:
needs: [run_checker, composer, conductor, sequencer, sequencer-relayer, evm-bridge-withdrawer, cli]
if: (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == 'astriaorg/astria') && (github.event_name == 'merge_group' || needs.run_checker.outputs.run_docker == 'true')
runs-on: depot-ubuntu-24.04-8
steps:
- uses: actions/checkout@v4
- name: Install just
uses: taiki-e/install-action@just
- name: Install kind
uses: helm/kind-action@v1
with:
install_only: true
- name: Install the latest version of uv
uses: astral-sh/setup-uv@v5
- name: Install buf
uses: bufbuild/buf-setup-action@v1
with:
version: "1.50.1"
- name: Install the latest version of uv
uses: astral-sh/setup-uv@v5
- name: Install buf
uses: bufbuild/buf-setup-action@v1
with:
version: "1.50.1"
- name: Log in to GHCR
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Setup Smoke Test Environment
timeout-minutes: 10
run: |
just deploy cluster
kubectl create secret generic regcred --from-file=.dockerconfigjson=$HOME/.docker/config.json --type=kubernetes.io/dockerconfigjson
just deploy smoke-test
cd system-tests
uv venv
uv pip install -r requirements.txt
- name: Run Smoke test
timeout-minutes: 3
run: |
TAG=sha-$(git rev-parse --short HEAD)
just run smoke-test -i all=$TAG
smoke-test-evm-restart:
needs: [run_checker, composer, conductor, sequencer, sequencer-relayer, evm-bridge-withdrawer, cli]
if: (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == 'astriaorg/astria') && (github.event_name == 'merge_group' || needs.run_checker.outputs.run_docker == 'true')
runs-on: depot-ubuntu-24.04-8
steps:
- uses: actions/checkout@v4
- name: Install just
uses: taiki-e/install-action@just
- name: Install kind
uses: helm/kind-action@v1
with:
install_only: true
- name: Install the latest version of uv
uses: astral-sh/setup-uv@v5
- name: Install buf
uses: bufbuild/buf-setup-action@v1
with:
version: "1.50.1"
- name: Log in to GHCR
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Setup EVM Restart Test Environment
timeout-minutes: 10
run: |
just deploy cluster
kubectl create secret generic regcred --from-file=.dockerconfigjson=$HOME/.docker/config.json --type=kubernetes.io/dockerconfigjson
just deploy evm-restart-test
cd system-tests
uv venv
uv pip install -r requirements.txt
- name: Run EVM Restart Test
timeout-minutes: 3
run: |
TAG=sha-$(git rev-parse --short HEAD)
just run evm-restart-test -i all=$TAG
smoke-cli:
needs: [run_checker, composer, conductor, sequencer, sequencer-relayer, evm-bridge-withdrawer, cli]
if: (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == 'astriaorg/astria') && (github.event_name == 'merge_group' || needs.run_checker.outputs.run_docker == 'true')
runs-on: depot-ubuntu-24.04-8
steps:
- uses: actions/checkout@v4
- name: Install just
uses: taiki-e/install-action@just
- name: Install kind
uses: helm/kind-action@v1
with:
install_only: true
- name: Log in to GHCR
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Setup Smoke Test Environment
timeout-minutes: 5
run: |
TAG=sha-$(git rev-parse --short HEAD)
just deploy cluster
kubectl create secret generic regcred --from-file=.dockerconfigjson=$HOME/.docker/config.json --type=kubernetes.io/dockerconfigjson
echo -e "\n\nDeploying with astria images tagged $TAG"
just deploy smoke-cli $TAG
- name: Run Smoke test
timeout-minutes: 3
run: |
TAG=sha-$(git rev-parse --short HEAD)
just run smoke-cli $TAG
ibc-bridge-test:
needs: [ run_checker, composer, conductor, sequencer, sequencer-relayer, evm-bridge-withdrawer, cli ]
if: (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == 'astriaorg/astria') && (github.event_name == 'merge_group' || needs.run_checker.outputs.run_docker == 'true')
runs-on: depot-ubuntu-24.04-8
steps:
- uses: actions/checkout@v4
- name: Install just
uses: taiki-e/install-action@just
- name: Install kind
uses: helm/kind-action@v1
with:
install_only: true
- name: Log in to GHCR
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Setup IBC Bridge Test Environment
timeout-minutes: 8
run: |
TAG=sha-$(git rev-parse --short HEAD)
just deploy cluster
kubectl create secret generic regcred --from-file=.dockerconfigjson=$HOME/.docker/config.json --type=kubernetes.io/dockerconfigjson
echo -e "\n\nDeploying with astria images tagged $TAG"
just deploy ibc-test $TAG
- name: Run IBC ICS20 Transfer test
timeout-minutes: 3
run: |
TAG=sha-$(git rev-parse --short HEAD)
just run ibc-test default $TAG
ibc-no-native-asset-test:
needs: [ run_checker, composer, conductor, sequencer, sequencer-relayer, evm-bridge-withdrawer, cli ]
if: (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == 'astriaorg/astria') && (github.event_name == 'merge_group' || needs.run_checker.outputs.run_docker == 'true')
runs-on: depot-ubuntu-24.04-8
steps:
- uses: actions/checkout@v4
- name: Install just
uses: taiki-e/install-action@just
- name: Install kind
uses: helm/kind-action@v1
with:
install_only: true
- name: Log in to GHCR
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Setup IBC Bridge Test Environment
timeout-minutes: 8
run: |
TAG=sha-$(git rev-parse --short HEAD)
just deploy cluster
kubectl create secret generic regcred --from-file=.dockerconfigjson=$HOME/.docker/config.json --type=kubernetes.io/dockerconfigjson
echo -e "\n\nDeploying with astria images tagged $TAG"
just deploy ibc-test-without-native $TAG
- name: Run IBC utia as native test
timeout-minutes: 3
run: |
TAG=sha-$(git rev-parse --short HEAD)
just run ibc-test without-native $TAG
ibc-timeout-refund:
needs: [ run_checker, composer, conductor, sequencer, sequencer-relayer, evm-bridge-withdrawer, cli ]
if: (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == 'astriaorg/astria') && (github.event_name == 'merge_group' || needs.run_checker.outputs.run_docker == 'true')
runs-on: depot-ubuntu-24.04-8
steps:
- uses: actions/checkout@v4
- name: Install just
uses: taiki-e/install-action@just
- name: Install kind
uses: helm/kind-action@v1
with:
install_only: true
- name: Log in to GHCR
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Setup IBC Bridge Test Environment
timeout-minutes: 8
run: |
TAG=sha-$(git rev-parse --short HEAD)
just deploy cluster
kubectl create secret generic regcred --from-file=.dockerconfigjson=$HOME/.docker/config.json --type=kubernetes.io/dockerconfigjson
echo -e "\n\nDeploying with astria images tagged $TAG"
just deploy ibc-test-timeout-refund $TAG
- name: Run IBC ICS20 Transfer test
timeout-minutes: 3
run: |
TAG=sha-$(git rev-parse --short HEAD)
just run ibc-test timeout-refund $TAG
multiple-relayer-test:
needs: [run_checker, composer, conductor, sequencer, sequencer-relayer, evm-bridge-withdrawer, cli]
if: (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == 'astriaorg/astria') && (github.event_name == 'merge_group' || needs.run_checker.outputs.run_docker == 'true')
runs-on: depot-ubuntu-24.04-8
steps:
- uses: actions/checkout@v4
- name: Install just
uses: taiki-e/install-action@just
- name: Install kind
uses: helm/kind-action@v1
with:
install_only: true
- name: Install the latest version of uv
uses: astral-sh/setup-uv@v5
- name: Install buf
uses: bufbuild/buf-setup-action@v1
with:
version: "1.50.1"
- name: Log in to GHCR
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Setup Multi-Relayer Test Environment
timeout-minutes: 3
run: |
just deploy cluster
kubectl create secret generic regcred --from-file=.dockerconfigjson=$HOME/.docker/config.json --type=kubernetes.io/dockerconfigjson
just deploy multiple-relayer-test
cd system-tests
uv venv
uv pip install -r requirements.txt
- name: Run Multi-Relayer test
timeout-minutes: 10
run: |
TAG=sha-$(git rev-parse --short HEAD)
just run multiple-relayer-test -i all=$TAG
docker:
if: ${{ always() && !cancelled() }}
needs: [
account-monitor,
auctioneer,
composer,
conductor,
sequencer,
sequencer-relayer,
evm-bridge-withdrawer,
cli,
smoke-test,
smoke-cli,
ibc-bridge-test,
ibc-no-native-asset-test,
ibc-timeout-refund,
aspen-upgrade-test,
blackburn-upgrade-test
]
uses: ./.github/workflows/reusable-success.yml
with:
success: ${{ !contains(needs.*.result, 'failure') }}