ClickHouse

Форк
0
/
reusable_docker.yml 
66 строк · 2.6 Кб
1
name: Build docker images
2
'on':
3
  workflow_call:
4
    inputs:
5
      data:
6
        description: json with ci data from todo job
7
        required: true
8
        type: string
9
      set_latest:
10
        description: set latest tag for resulting multiarch manifest
11
        required: false
12
        type: boolean
13
        default: false
14
jobs:
15
  DockerBuildAarch64:
16
    runs-on: [self-hosted, style-checker-aarch64]
17
    if: |
18
      !failure() && !cancelled() && toJson(fromJson(inputs.data).docker_data.missing_aarch64) != '[]'
19
    steps:
20
      - name: Check out repository code
21
        uses: ClickHouse/checkout@v1
22
        with:
23
          ref: ${{ fromJson(inputs.data).git_ref }}
24
      - name: Build images
25
        run: |
26
          python3 "${GITHUB_WORKSPACE}/tests/ci/docker_images_check.py" \
27
            --suffix aarch64 \
28
            --image-tags '${{ toJson(fromJson(inputs.data).docker_data.images) }}' \
29
            --missing-images '${{ toJson(fromJson(inputs.data).docker_data.missing_aarch64) }}'
30
  DockerBuildAmd64:
31
    runs-on: [self-hosted, style-checker]
32
    if: |
33
      !failure() && !cancelled() && toJson(fromJson(inputs.data).docker_data.missing_amd64) != '[]'
34
    steps:
35
      - name: Check out repository code
36
        uses: ClickHouse/checkout@v1
37
        with:
38
          ref: ${{ fromJson(inputs.data).git_ref }}
39
      - name: Build images
40
        run: |
41
          python3 "${GITHUB_WORKSPACE}/tests/ci/docker_images_check.py" \
42
            --suffix amd64 \
43
            --image-tags '${{ toJson(fromJson(inputs.data).docker_data.images) }}' \
44
            --missing-images '${{ toJson(fromJson(inputs.data).docker_data.missing_amd64) }}'
45
  DockerMultiArchManifest:
46
    needs: [DockerBuildAmd64, DockerBuildAarch64]
47
    runs-on: [self-hosted, style-checker]
48
    if: |
49
      !failure() && !cancelled() && (toJson(fromJson(inputs.data).docker_data.missing_multi) != '[]' || inputs.set_latest)
50
    steps:
51
      - name: Check out repository code
52
        uses: ClickHouse/checkout@v1
53
        with:
54
          ref: ${{ fromJson(inputs.data).git_ref }}
55
      - name: Build images
56
        run: |
57
          cd "$GITHUB_WORKSPACE/tests/ci"
58
          FLAG_LATEST=''
59
          if [ "${{ inputs.set_latest }}" == "true" ]; then
60
            FLAG_LATEST='--set-latest'
61
            echo "latest tag will be set for resulting manifests"
62
          fi
63
          python3 docker_manifests_merge.py --suffix amd64 --suffix aarch64 \
64
            --image-tags '${{ toJson(fromJson(inputs.data).docker_data.images) }}' \
65
            --missing-images '${{ toJson(fromJson(inputs.data).docker_data.missing_multi) }}' \
66
            $FLAG_LATEST
67

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.