File: .gitlab-ci.yml

package info (click to toggle)
python-gitlab 1%3A8.0.0-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 2,884 kB
  • sloc: python: 25,823; makefile: 171; ruby: 27; javascript: 3
file content (57 lines) | stat: -rw-r--r-- 2,251 bytes parent folder | download
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
image: python:3.14

stages:
  - build
  - deploy
  - promote

build-images:
  stage: build
  image:
    name: gcr.io/kaniko-project/executor:debug
    entrypoint: [""]
  script:
    - executor --context $CI_PROJECT_DIR --dockerfile $CI_PROJECT_DIR/Dockerfile --destination $CI_REGISTRY_IMAGE/$OS_ARCH:$CI_COMMIT_TAG-alpine
    - executor --context $CI_PROJECT_DIR --dockerfile $CI_PROJECT_DIR/Dockerfile --destination $CI_REGISTRY_IMAGE/$OS_ARCH:$CI_COMMIT_TAG-slim-bullseye --build-arg PYTHON_FLAVOR=slim-bullseye
  rules:
    - if: $CI_COMMIT_TAG
  tags:
    - $RUNNER_TAG
  parallel:
    matrix:
      # See tags in https://docs.gitlab.com/ee/ci/runners/hosted_runners/linux.html
      - RUNNER_TAG: saas-linux-medium-amd64
        OS_ARCH: linux/amd64
      - RUNNER_TAG: saas-linux-medium-arm64
        OS_ARCH: linux/arm64

deploy-images:
  stage: deploy
  image: 
    name: mplatform/manifest-tool:alpine-v2.0.4@sha256:38b399ff66f9df247af59facceb7b60e2cd01c2d649aae318da7587efb4bbf87
    entrypoint: [""]
  script:
    - manifest-tool --username $CI_REGISTRY_USER --password $CI_REGISTRY_PASSWORD push from-args
      --platforms linux/amd64,linux/arm64
      --template $CI_REGISTRY_IMAGE/OS/ARCH:$CI_COMMIT_TAG-alpine
      --target $CI_REGISTRY_IMAGE:$CI_COMMIT_TAG-alpine
    - manifest-tool --username $CI_REGISTRY_USER --password $CI_REGISTRY_PASSWORD push from-args
      --platforms linux/amd64,linux/arm64
      --template $CI_REGISTRY_IMAGE/OS/ARCH:$CI_COMMIT_TAG-slim-bullseye
      --target $CI_REGISTRY_IMAGE:$CI_COMMIT_TAG-slim-bullseye
  rules:
    - if: $CI_COMMIT_TAG

tag-latest:
  stage: promote
  image:
    name: gcr.io/go-containerregistry/crane:debug
    entrypoint: [""]
  script:
    - crane auth login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
    - crane tag $CI_REGISTRY_IMAGE:$CI_COMMIT_TAG-alpine ${CI_COMMIT_TAG}       # /python-gitlab:v1.2.3
    - crane tag $CI_REGISTRY_IMAGE:$CI_COMMIT_TAG-alpine latest                 # /python-gitlab:latest
    - crane tag $CI_REGISTRY_IMAGE:$CI_COMMIT_TAG-alpine alpine                 # /python-gitlab:alpine
    - crane tag $CI_REGISTRY_IMAGE:$CI_COMMIT_TAG-slim-bullseye slim-bullseye   # /python-gitlab:slim-bullseye
  rules:
    - if: $CI_COMMIT_TAG