Skip to content

Bump github.com/docker/docker from 23.0.1+incompatible to 26.1.4+incompatible #978

Bump github.com/docker/docker from 23.0.1+incompatible to 26.1.4+incompatible

Bump github.com/docker/docker from 23.0.1+incompatible to 26.1.4+incompatible #978

name: Integration tests
on:
push:
branches:
- main
tags:
- "v*.*.*"
pull_request:
env:
REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.repository }}
ORCHESTRATOR_IMAGE_NAME: ghcr.io/peggyjv/gravity-bridge-orchestrator:main
jobs:
sommelier-build:
permissions:
contents: read
packages: write
runs-on: ubuntu-20.04
steps:
- name: Set up Go 1.22
uses: actions/setup-go@v2
with:
go-version: 1.22
- name: checkout
uses: actions/checkout@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- name: Cache Docker layers
uses: actions/cache@v2
id: docker-cache
with:
path: /tmp/.buildx-cache
# Key is named differently to avoid collision
key: ${{ runner.os }}-multi-buildx-${{ github.sha }}
restore-keys: |
${{ runner.os }}-multi-buildx
- name: container-login
uses: docker/login-action@v1
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: labels
id: meta
uses: docker/metadata-action@v3
with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}-sommelier
- name: build-and-push
uses: docker/build-push-action@v2
with:
context: .
file: Dockerfile
push: true
platforms: linux/amd64, linux/arm64/v8
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
builder: ${{ steps.buildx.outputs.name }}
cache-from: type=local,src=/tmp/.buildx-cache
cache-to: type=local,mode=max,dest=/tmp/.buildx-cache-new
- name: Move Docker cache
run: |
rm -rf /tmp/.buildx-cache
mv /tmp/.buildx-cache-new /tmp/.buildx-cache
hardhat-build:
permissions:
contents: write
packages: write
runs-on: ubuntu-20.04
steps:
- name: checkout
uses: actions/checkout@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- name: Cache Docker layers
uses: actions/cache@v2
id: docker-cache
with:
path: /tmp/.buildx-cache
# Key is named differently to avoid collision
key: ${{ runner.os }}-multi-buildx-${{ github.sha }}
restore-keys: |
${{ runner.os }}-multi-buildx
- name: container-login
uses: docker/login-action@v1
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: labels
id: meta
uses: docker/metadata-action@v3
with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}-hardhat
- name: build-and-push
uses: docker/build-push-action@v2
with:
context: integration_tests/ethereum
file: integration_tests/ethereum/Dockerfile
push: true
platforms: linux/amd64, linux/arm64/v8
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
builder: ${{ steps.buildx.outputs.name }}
cache-from: type=local,src=/tmp/.buildx-cache
cache-to: type=local,mode=max,dest=/tmp/.buildx-cache-new
- name: Move Docker cache
run: |
rm -rf /tmp/.buildx-cache
mv /tmp/.buildx-cache-new /tmp/.buildx-cache
integration-tests:
environment: CI
runs-on: ubuntu-20.04
needs: [ sommelier-build, hardhat-build ]
strategy:
fail-fast: false
matrix:
test_type: [
"ScheduledCork",
"AxelarCork",
"Auction",
"CellarFees",
"Incentives",
"Pubsub",
]
steps:
- name: Set up Go 1.22
uses: actions/setup-go@v2
with:
go-version: 1.22
- name: checkout
uses: actions/checkout@v2
- name: go-cache
uses: actions/cache@v2
with:
path: |
~/.cache/go-build
~/go/pkg/mod
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
restore-keys: |
${{ runner.os }}-go-
- name: container-login
uses: docker/login-action@v1
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: docker sommelier metadata
id: meta-sommelier
uses: docker/metadata-action@v3
with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}-sommelier
- name: docker hardhat metadata
id: meta-hardhat
uses: docker/metadata-action@v3
with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}-hardhat
- name: pull sommelier image
run: docker pull ${{ steps.meta-sommelier.outputs.tags }}
- name: rename sommelier image
run: docker tag ${{ steps.meta-sommelier.outputs.tags }} sommelier:prebuilt
- name: pull hardhat image
run: docker pull ${{ steps.meta-hardhat.outputs.tags }}
- name: rename hardhat image
run: docker tag ${{ steps.meta-hardhat.outputs.tags }} ethereum:prebuilt
- name: pull orchestrator image
run: docker pull ${{ env.ORCHESTRATOR_IMAGE_NAME }}
- name: rename orchestrator image
run: docker tag ${{ env.ORCHESTRATOR_IMAGE_NAME }} orchestrator:prebuilt
- name: clean the slate
run: make e2e_clean_slate
- name: build go test binary
run: cd integration_tests && go test -c
- name: Run end to end test
run: ./integration_tests/integration_tests.test -test.failfast -test.v -test.run IntegrationTestSuite -testify.m Test${{ matrix.test_type }}
env:
E2E_SKIP_CLEANUP: true
ARCHIVE_NODE_URL: ${{ secrets.ARCHIVE_NODE_URL }}
- name: Clean up docker images
run: ./clean_slate.sh
- name: Remove testnet tempdir
run: sudo rm -rf somm-e2e-testnet*