Skip to content

Try to fix docker

Try to fix docker #48

# on:
# push:
# branches:
# - 'main'
# tags:
# - 'user-ops-indexer/v*'
# pull_request:
# paths:
# - user-ops-indexer/**
# - .github/workflows/user-ops-indexer.yml
# - .github/actions/deps/**
# name: Test, lint and docker (user-ops-indexer)
# env:
# REGISTRY: ghcr.io
# IMAGE_NAME: blockscout/user-ops-indexer
# defaults:
# run:
# working-directory: user-ops-indexer
# jobs:
# test:
# name: Unit, doc and integration tests
# runs-on: ubuntu-latest
# services:
# postgres:
# image: postgres
# 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: Install deps
# uses: ./.github/actions/deps
# - name: Install toolchain
# uses: actions-rs/toolchain@v1
# with:
# toolchain: stable
# profile: minimal
# override: true
# - name: Rust cache
# uses: Swatinem/rust-cache@v2
# with:
# cache-on-failure: true
# workspaces: user-ops-indexer -> target
# - name: Unit tests
# run: RUST_BACKTRACE=1 RUST_LOG=info cargo test --locked --workspace --all-features --lib --bins -- --nocapture
# if: success() || failure()
# env:
# DATABASE_URL: postgres://postgres:admin@localhost:5432/
# - name: Doc tests
# run: RUST_BACKTRACE=1 RUST_LOG=info cargo test --locked --workspace --all-features --doc -- --skip proto
# if: success() || failure()
# # TODO: Uncomment when integration test added
# # - name: Integration tests
# # run: RUST_BACKTRACE=1 RUST_LOG=info cargo test --locked --workspace --test '*' -- --nocapture
# # if: success() || failure()
# lint:
# name: Linting
# runs-on: ubuntu-latest
# steps:
# - name: Checkout sources
# uses: actions/checkout@v4
# - name: Install deps
# uses: ./.github/actions/deps
# - name: Install toolchain
# uses: actions-rs/toolchain@v1
# with:
# toolchain: stable
# profile: minimal
# components: rustfmt, clippy
# override: true
# - uses: Swatinem/rust-cache@v2
# with:
# cache-on-failure: true
# workspaces: user-ops-indexer -> target
# - name: cargo fmt
# run: cargo fmt --all -- --check --config imports_granularity=Crate
# - name: cargo clippy
# run: cargo clippy --all --all-targets --all-features -- -D warnings
# push:
# 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')
# timeout-minutes: 90
# runs-on: ubuntu-latest
# steps:
# - name: Checkout repository
# uses: actions/checkout@v4
# - uses: actions-ecosystem/action-regex-match@v2
# id: regex
# with:
# text: ${{ github.ref }}
# regex: '^(refs\/tags\/user-ops-indexer\/(v\d+\.\d+\.\d+))|(refs\/heads\/(main))$'
# - name: Extract tag name
# id: tags_extractor
# run: |
# t=${{ steps.regex.outputs.group2 }}
# m=${{ steps.regex.outputs.group4 }}
# (if ! [[ "$t" == "" ]]; then echo tags=${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:$t, ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest; elif ! [[ "$m" == "" ]]; then echo tags=${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:$m; else echo tags=; fi) >> $GITHUB_OUTPUT
# - name: Login to GitHub Container Registry
# uses: docker/login-action@v2
# with:
# registry: ${{ env.REGISTRY }}
# username: ${{ github.actor }}
# password: ${{ secrets.GITHUB_TOKEN }}
# - name: Extract metadata for Docker
# id: meta
# uses: docker/metadata-action@v5
# with:
# images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
# - name: Set up Docker Buildx
# uses: docker/setup-buildx-action@v3
# - name: Build and push
# uses: docker/build-push-action@v5
# with:
# context: "user-ops-indexer"
# file: "user-ops-indexer/Dockerfile"
# push: ${{ steps.tags_extractor.outputs.tags != '' }}
# tags: ${{ steps.tags_extractor.outputs.tags }}
# platforms: |
# linux/amd64
# linux/arm64/v8
# labels: ${{ steps.meta.outputs.labels }}
# cache-from: type=registry,ref=${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:build-cache
# cache-to: ${{ github.ref == 'refs/heads/main' && format('type=registry,ref={0}/{1}:build-cache,mode=max', env.REGISTRY, env.IMAGE_NAME) || '' }}