name: Docker

on:
  push:
    tags:
      - v**

jobs:
  build-and-push:
    runs-on: ubuntu-latest
    steps:
    - name: Checkout code
      uses: actions/checkout@v2
    - name: Set up Docker Buildx
      uses: docker/setup-buildx-action@v2
    - name: Login to Docker Hub
      uses: docker/login-action@v2
      with:
        username: ${{ secrets.DOCKERHUB_USERNAME }}
        password: ${{ secrets.DOCKERHUB_TOKEN }}
    - name: Build and push event_watcher docker
      uses: docker/build-push-action@v2
      with:
        context: .
        file: ./build/dockerfiles/event_watcher.Dockerfile
        push: true
        tags: scrolltech/event-watcher:${{github.ref_name}}
        # cache-from: type=gha,scope=${{ github.workflow }}
        # cache-to: type=gha,scope=${{ github.workflow }}
    - name: Build and push gas_oracle docker
      uses: docker/build-push-action@v2
      with:
        context: .
        file: ./build/dockerfiles/gas_oracle.Dockerfile
        push: true
        tags: scrolltech/gas-oracle:${{github.ref_name}}
        # cache-from: type=gha,scope=${{ github.workflow }}
        # cache-to: type=gha,scope=${{ github.workflow }}
    - name: Build and push msg_relayer docker
      uses: docker/build-push-action@v2
      with:
        context: .
        file: ./build/dockerfiles/msg_relayer.Dockerfile
        push: true
        tags: scrolltech/msg-relayer:${{github.ref_name}}
        # cache-from: type=gha,scope=${{ github.workflow }}
        # cache-to: type=gha,scope=${{ github.workflow }}
    - name: Build and push rollup_relayer docker
      uses: docker/build-push-action@v2
      with:
        context: .
        file: ./build/dockerfiles/rollup_relayer.Dockerfile
        push: true
        tags: scrolltech/rollup-relayer:${{github.ref_name}}
        # cache-from: type=gha,scope=${{ github.workflow }}
        # cache-to: type=gha,scope=${{ github.workflow }}
    - name: Build and push bridgehistoryapi-cross-msg-fetcher docker
      uses: docker/build-push-action@v2
      with:
        context: .
        file: ./build/dockerfiles/bridgehistoryapi-cross-msg-fetcher.Dockerfile
        push: true
        tags: scrolltech/bridgehistoryapi-cross-msg-fetcher:${{github.ref_name}}
        # cache-from: type=gha,scope=${{ github.workflow }}
        # cache-to: type=gha,scope=${{ github.workflow }}
    - name: Build and push bridgehistoryapi-server docker
      uses: docker/build-push-action@v2
      with:
        context: .
        file: ./build/dockerfiles/bridgehistoryapi-server.Dockerfile
        push: true
        tags: scrolltech/bridgehistoryapi-server:${{github.ref_name}}
        # cache-from: type=gha,scope=${{ github.workflow }}
        # cache-to: type=gha,scope=${{ github.workflow }}
    - name: Build and push coordinator docker
      uses: docker/build-push-action@v2
      with:
        context: .
        file: ./build/dockerfiles/coordinator.Dockerfile
        push: true
        tags: scrolltech/coordinator:${{github.ref_name}}
        # cache-from: type=gha,scope=${{ github.workflow }}
        # cache-to: type=gha,scope=${{ github.workflow }}
