release(charts): blackburn upgrade (#2244) #10240
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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') }} |