init #1106
This file contains 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: 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 | |
- name: Dump docker logs | |
run: | | |
docker ps -a | |
for container in $(docker ps -a -q); do | |
echo "=== Logs for container $container ===" | |
docker logs $container | |
done |