summary refs log tree commit diff
path: root/.github/workflows/docker-publish-api.yml
blob: cc35562a02b4d847f39f39059458e5f5e6ebbe5b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
name: docker-publish-api

on:
    push:
        paths:
            - "api/**"

jobs:
    docker-api:
        runs-on: ubuntu-latest
        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
              with:
                  path: /tmp/.buildx-cache/api
                  key: ${{ runner.os }}-buildx-api-${{ github.sha }}
                  restore-keys: |
                      ${{ runner.os }}-buildx-api-
            - name: Login to DockerHub
              uses: docker/login-action@v1
              with:
                  username: ${{ secrets.DOCKERHUB_USERNAME }}
                  password: ${{ secrets.DOCKERHUB_TOKEN }}
            - name: Build and push
              uses: docker/build-push-action@v2
              with:
                  context: ./api
                  push: true
                  tags: ${{ secrets.DOCKERHUB_TAGS_API }}
                  cache-from: type=local,src=/tmp/.buildx-cache/api
                  cache-to: type=local,dest=/tmp/.buildx-cache-new/api
            - # Hackfix to cleanup cache; replace after buildx 0.6 and BuildKit 0.9 are GA
              # https://github.com/docker/build-push-action/pull/406#issuecomment-879184394
              name: Move cache fix
              run: |
                  rm -rf /tmp/.buildx-cache/api
                  mv /tmp/.buildx-cache-new/api /tmp/.buildx-cache/api