Skip to content

Merge pull request #266 from babylonlabs-io/rebase-devnet-5 #1121

Merge pull request #266 from babylonlabs-io/rebase-devnet-5

Merge pull request #266 from babylonlabs-io/rebase-devnet-5 #1121

Workflow file for this run

name: ci
on:
push:
branches:
- '**'
concurrency:
group: ci-${{ github.ref }}-${{ github.workflow }}
cancel-in-progress: true
jobs:
lint_test:
uses: babylonlabs-io/.github/.github/workflows/reusable_go_lint_test.yml@v0.7.0
secrets: inherit
with:
go-version: '1.23'
go-lint-version: 'v1.60.2'
run-unit-tests: true
run-integration-tests: false
run-lint: true
docker_pipeline:
uses: babylonlabs-io/.github/.github/workflows/reusable_docker_pipeline.yml@v0.7.0
secrets: inherit
with:
publish: false
dockerfile: ./contrib/images/babylond/Dockerfile
repoName: babylond
###############################################################################
### E2E ###
###############################################################################
e2e-docker-build-babylon:
runs-on: ubuntu-22.04
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Build docker babylond
run: |
make -C contrib/images babylond-e2e
- name: Docker save babylon
run: |
docker save -o /tmp/docker-babylond.tar.gz babylonlabs-io/babylond:latest
- name: Upload babylon artifact
uses: actions/upload-artifact@v4
with:
name: babylond-${{ github.sha }} # so it renovates at every new sha
path: /tmp/docker-babylond.tar.gz
e2e-docker-build-e2e-init-chain:
runs-on: ubuntu-22.04
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Build docker init-chain
run: |
make -C contrib/images e2e-init-chain
- name: Docker save init-chain
run: |
docker save -o /tmp/docker-init-chain.tar.gz babylonlabs-io/babylond-e2e-init-chain:latest
- name: Upload init-chain artifact
uses: actions/upload-artifact@v4
with:
name: init-chain
path: /tmp/docker-init-chain.tar.gz
# retention-days: 90
e2e-docker-build-ibcsim-bcd:
runs-on: ubuntu-22.04
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Build docker ibcsim-bcd
run: |
make -C contrib/images build-ibcsim-bcd
- name: Docker save ibcsim-bcd
run: |
docker save -o /tmp/docker-ibcsim-bcd.tar.gz babylonlabs-io/ibcsim-bcd:latest
- name: Upload ibcsim-bcd artifact
uses: actions/upload-artifact@v4
with:
name: ibcsim-bcd-${{ github.sha }}
path: /tmp/docker-ibcsim-bcd.tar.gz
e2e-run-ibc-transfer:
needs: [e2e-docker-build-babylon]
runs-on: ubuntu-22.04
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Download babylon artifact
uses: actions/download-artifact@v4
with:
name: babylond-${{ github.sha }}
path: /tmp
- name: Docker load babylond
run: |
docker load < /tmp/docker-babylond.tar.gz
- name: Login to Docker Hub # load hermes
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Cache Go
uses: actions/setup-go@v5
with:
go-version: 1.23
- name: Run e2e TestIBCTranferTestSuite
run: |
make test-e2e-cache-ibc-transfer
e2e-run-btc-timestamping:
needs: [e2e-docker-build-babylon]
runs-on: ubuntu-22.04
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Download babylon artifact
uses: actions/download-artifact@v4
with:
name: babylond-${{ github.sha }}
path: /tmp
- name: Docker load babylond
run: |
docker load < /tmp/docker-babylond.tar.gz
- name: Cache Go
uses: actions/setup-go@v5
with:
go-version: 1.23
- name: Run e2e TestBTCTimestampingTestSuite
run: |
make test-e2e-cache-btc-timestamping
e2e-run-btc-staking:
needs: [e2e-docker-build-babylon]
runs-on: ubuntu-22.04
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Download babylon artifact
uses: actions/download-artifact@v4
with:
name: babylond-${{ github.sha }}
path: /tmp
- name: Docker load babylond
run: |
docker load < /tmp/docker-babylond.tar.gz
- name: Cache Go
uses: actions/setup-go@v5
with:
go-version: 1.23
- name: Run e2e TestBTCStakingTestSuite
run: |
make test-e2e-cache-btc-staking
e2e-run-btc-staking-pre-approval:
needs: [e2e-docker-build-babylon]
runs-on: ubuntu-22.04
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Download babylon artifact
uses: actions/download-artifact@v4
with:
name: babylond-${{ github.sha }}
path: /tmp
- name: Docker load babylond
run: |
docker load < /tmp/docker-babylond.tar.gz
- name: Cache Go
uses: actions/setup-go@v5
with:
go-version: 1.23
- name: Run e2e TestBTCStakingPreApprovalTestSuite
run: |
make test-e2e-cache-btc-staking-pre-approval
# Disable this test because v1 upgrade does not cover integration features
# TODO: Reenable this test after having v2 upgrade
e2e-run-upgrade-v1:
if: false
needs: [e2e-docker-build-babylon, e2e-docker-build-e2e-init-chain]
runs-on: ubuntu-22.04
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Download babylon artifact
uses: actions/download-artifact@v4
with:
name: babylond-${{ github.sha }}
path: /tmp
- name: Download init-chain artifact
uses: actions/download-artifact@v4
with:
name: init-chain
path: /tmp
- name: Docker load babylond
run: |
docker load < /tmp/docker-babylond.tar.gz
- name: Docker load init chain
run: |
docker load < /tmp/docker-init-chain.tar.gz
- name: Cache Go
uses: actions/setup-go@v5
with:
go-version: 1.23
- name: Run e2e TestSoftwareUpgradeV1TestnetTestSuite
run: |
sudo make test-e2e-cache-upgrade-v1
- name: Dump docker logs on failure
if: failure()
uses: jwalton/gh-docker-logs@v2
e2e-run-bcd-consumer-integration-test:
needs: [e2e-docker-build-babylon, e2e-docker-build-ibcsim-bcd]
runs-on: ubuntu-22.04
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Download babylon artifact
uses: actions/download-artifact@v4
with:
name: babylond-${{ github.sha }}
path: /tmp
- name: Download ibcsim-bcd artifact
uses: actions/download-artifact@v4
with:
name: ibcsim-bcd-${{ github.sha }}
path: /tmp
- name: Docker load babylond
run: |
docker load < /tmp/docker-babylond.tar.gz
- name: Docker load ibcsim-bcd
run: |
docker load < /tmp/docker-ibcsim-bcd.tar.gz
- name: Cache Go
uses: actions/setup-go@v5
with:
go-version: 1.21
- name: Start BCD consumer integration containers
run: |
sudo make -C contrib/images start-bcd-consumer-integration
- name: Run BCD consumer integration test
run: |
sudo make test-e2e-cache-bcd-consumer-integration