Skip to content
Snippets Groups Projects
.gitlab-ci.yml 3.18 KiB
stages:
  - verify
  - trigger

variables:
  GIT_STRATEGY: clone
  GIT_DEPTH: "500"
  REGISTRY: registry.alpinelinux.org

workflow:
  rules:
    - if: $CI_PIPELINE_SOURCE == "merge_request_event"
    - if: $CI_PIPELINE_SOURCE == "pipeline" || $CI_PIPELINE_SOURCE == "parent_pipeline"
    - if: $CI_COMMIT_TAG

lint:
  stage: verify
  image: $REGISTRY/alpine/infra/docker/apkbuild-lint-tools:latest
  interruptible: true
  script:
    - lint
  allow_failure: true
  rules:
    - if: $CI_PIPELINE_SOURCE == "merge_request_event"
  tags:
    - docker-alpine
    - ci-fast

generate-build-jobs:
  stage: verify
  image:
    name: $REGISTRY/alpine/infra/docker/alpine-gitlab-ci:latest
  script:
    - pipeline generate .gitlab-ci.yml .gitlab/job-config.yaml >.gitlab/build-jobs.yaml
  artifacts:
    paths:
      - .gitlab/build-jobs.yaml
  tags:
    - docker-alpine
    - ci-fast
  rules:
    - if: $CI_PIPELINE_SOURCE == "merge_request_event"

build-jobs:
  stage: verify
  needs:
    - generate-build-jobs
  trigger:
    include:
      - artifact: .gitlab/build-jobs.yaml
        job: generate-build-jobs
    strategy: depend
  rules:
    - if: $CI_PIPELINE_SOURCE == "merge_request_event"

.build:
  stage: verify
  image:
    name: $REGISTRY/alpine/infra/docker/alpine-gitlab-ci:latest
  interruptible: true
  script:
    - build.sh
  artifacts:
    paths:
      - packages/
      - keys/
      - logs/
    expire_in: 1 day
    when: always
  rules: