50 lines
1.4 KiB
YAML
50 lines
1.4 KiB
YAML
name: Build Docker Images
|
|
description: Build Docker images
|
|
inputs:
|
|
protocols:
|
|
required: true
|
|
description: Protocols to test
|
|
runs:
|
|
using: "composite"
|
|
steps:
|
|
- name: Set up Docker Buildx
|
|
uses: docker/setup-buildx-action@v3
|
|
|
|
- name: Cache Docker layers
|
|
uses: actions/cache@v4
|
|
with:
|
|
path: /tmp/.buildx-cache
|
|
key: ${{ runner.os }}-buildx-${{ github.sha }}
|
|
restore-keys: |
|
|
${{ runner.os }}-buildx-
|
|
|
|
- name: Build db image
|
|
run: |
|
|
docker buildx build \
|
|
--cache-from type=local,src=/tmp/.buildx-cache \
|
|
--cache-to type=local,dest=/tmp/.buildx-cache \
|
|
-f protocol-testing/postgres.Dockerfile \
|
|
-t protocol-testing-db:latest \
|
|
--load .
|
|
shell: bash
|
|
|
|
- name: Build test-runner image
|
|
run: |
|
|
docker buildx build \
|
|
--cache-from type=local,src=/tmp/.buildx-cache \
|
|
--cache-to type=local,dest=/tmp/.buildx-cache \
|
|
-f protocol-testing/run.Dockerfile \
|
|
-t protocol-testing-test-runner:latest \
|
|
--load .
|
|
shell: bash
|
|
|
|
- name: Run protocol tests
|
|
env:
|
|
PROTOCOLS: ${{ inputs.protocols }}
|
|
RPC_URL: ${{ env.RPC_URL }}
|
|
SUBSTREAMS_API_TOKEN: ${{ env.SUBSTREAMS_API_TOKEN }}
|
|
run: |
|
|
docker compose up --abort-on-container-exit --exit-code-from test-runner
|
|
shell: bash
|
|
working-directory: protocol-testing
|