Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(mult): add mutichain aggregator #1098

Merged
merged 16 commits into from
Nov 8, 2024
Merged
89 changes: 89 additions & 0 deletions .github/workflows/multichain-aggregator.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
on:
push:
branches:
- 'main'
tags:
- 'multichain-aggregator/v*'
paths:
- multichain-aggregator/**
- .github/workflows/multichain-aggregator.yml
- .github/actions/deps/**
pull_request:
paths:
- multichain-aggregator/**
- .github/workflows/multichain-aggregator.yml
- .github/actions/deps/**

name: Test, lint and docker (multichain-aggregator)

defaults:
run:
working-directory: multichain-aggregator

jobs:
test:
name: Unit, doc and integration tests
runs-on: ubuntu-latest
services:
postgres:
image: postgres:16
env:
POSTGRES_PASSWORD: admin
POSTGRES_USER: postgres
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
ports:
- 5432:5432
steps:
- name: Checkout sources
uses: actions/checkout@v4

- name: Setup
uses: ./.github/actions/setup
with:
working-directory: multichain-aggregator

- name: Unit tests
run: RUST_BACKTRACE=1 RUST_LOG=info cargo test --locked --workspace --all-features --lib --bins -- --nocapture
if: success() || failure()

- name: Doc tests
run: cargo test --locked --workspace --all-features --doc
if: success() || failure()

- name: Integration tests
run: RUST_BACKTRACE=1 RUST_LOG=info cargo test --locked --workspace --test '*' -- --nocapture --include-ignored
if: success() || failure()
env:
DATABASE_URL: postgres://postgres:admin@localhost:5432/

lint:
name: Linting
uses: ./.github/workflows/_linting.yml
with:
working-directory: multichain-aggregator

docker:
name: Docker build and docker push
needs:
- test
- lint
if: |
always() &&
(needs.test.result == 'success' || needs.test.result == 'cancelled') &&
(needs.lint.result == 'success' || needs.lint.result == 'cancelled')
uses: ./.github/workflows/_docker-build-push.yml
with:
service-name: multichain-aggregator

push-swagger:
if: github.event_name == 'push' && (github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/tags'))
uses: ./.github/workflows/_push_swagger.yml
with:
service_name: 'multichain-aggregator'
swagger_path: 'multichain-aggregator/multichain-aggregator-proto/swagger/v1/multichain-aggregator.swagger.yaml'
secrets:
api_token_github: ${{ secrets.BLOCKSCOUT_BOT_TOKEN }}
5 changes: 5 additions & 0 deletions multichain-aggregator/.dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
target
Dockerfile
README.md
tests
config.toml
Loading
Loading