Verified Commit b1ace78c authored by Roman Lacko's avatar Roman Lacko
Browse files

Add hw.yml

parent df132748
Loading
Loading
Loading
Loading
+47 −8
Original line number Diff line number Diff line
default:
  image: docker:28-cli
  tags:
    - shared-fi-dind
    - shared-fi
  services:
    - docker:28-dind-rootless
  before_script:
    - echo "$CI_REGISTRY_PASSWORD" | docker login $CI_REGISTRY -u $CI_REGISTRY_USER --password-stdin

.code-rules:
  rules:
    - if: $CI_PIPELINE_SOURCE =~ /(web|trigger|api|merge_request_event)/
      changes:
        - eval/**
        - solution/**
    - if: $CI_COMMIT_BRANCH =~ /^main\/[ab]$/

.image-rules:
  rules:
    - if: $CI_COMMIT_BRANCH =~ /^(main|devel)\/[ab]$/

stages:
  - prepare
  - build
  - test
  - package
  - release

# NOTE: The repository must have Container Registry feature enabled in
@@ -21,9 +34,32 @@ variables:
  CONTAINER_RELEASE_IMAGE: $REGISTRY_IMAGE:latest
  DOCKER_HOST: "unix:///runner/services/docker/docker.sock"

prepare:
solution_build:
  stage: build
  image: $REGISTRY_IMAGE
  rules:
    - !reference [.code-rules, rules]
  script:
    - meson setup build
    - meson compile -C build
  artifacts:
    paths:
      - build

solution_build:
  stage: test
  image: $REGISTRY_IMAGE
  rules:
    - !reference [.code-rules, rules]
  script:
    - build/solution/solution-eval

pkg_prepare:
  image: almalinux:10
  stage: prepare
  stage: package
  rules:
    - !reference [.image-rules, rules]

  script:
    - mkdir image
    - find eval -type f \( -name 'meson.build' -prune -o -print0 \) | tar -cf "image/eval.tar" --null --files-from=-
@@ -53,16 +89,19 @@ prepare:
    paths:
      - image


build:
  stage: build
pkg_build:
  stage: package
  rules:
    - !reference [.image-rules, rules]
  script:
    - cd image
    - docker build --pull -t $CONTAINER_TEST_IMAGE .
    - docker push $CONTAINER_TEST_IMAGE

release:
image_release:
  stage: release
  rules:
    - !reference [.image-rules, rules]
  script:
    - docker pull $CONTAINER_TEST_IMAGE
    - docker tag $CONTAINER_TEST_IMAGE $CONTAINER_RELEASE_IMAGE