Skip to content
Snippets Groups Projects
.gitlab-ci.yml 1.48 KiB
Newer Older
kaiyou's avatar
kaiyou committed
stages:
  - build
  - test
kaiyou's avatar
kaiyou committed

compile:
  stage: build
  image: golang:alpine
kaiyou's avatar
kaiyou committed
  script:
kaiyou's avatar
kaiyou committed
    - source ./env
kaiyou's avatar
kaiyou committed
    - go build -tags "$TAGS" -ldflags "$LDFLAGS" ./cmd/hepto.go
kaiyou's avatar
kaiyou committed
  artifacts:
    paths:
      - hepto
kaiyou's avatar
kaiyou committed
    expire_in: 1 week
  variables:
    GOPATH: $CI_PROJECT_DIR/.go
  before_script:
kaiyou's avatar
kaiyou committed
    - apk add --no-cache git gcc g++ libseccomp-dev libseccomp-static
kaiyou's avatar
kaiyou committed
    - git fetch --tags
    - mkdir -p .go
kaiyou's avatar
kaiyou committed
  cache:
    paths:
      - .go/pkg/mod/
kaiyou's avatar
kaiyou committed
.before_script_template: &ansible-job
  image: docker.tedomum.net/acides/ansible-ci:main
  before_script:
    - echo "$VAULT_PASSWORD" > /tmp/vault
    - eval $(ssh-agent -s)
    - ssh-add <(echo "$SSH_KEY"|base64 -d)
  variables:
    # The ansible vault only contains secret variables, cluster config itself
    # is set from the documentation inventory
    ANSIBLE_ARGS: -i .ci-vault -i docs/inventory_cloud.yaml --vault-password-file /tmp/vault -e node_prefix=ci-$CI_JOB_ID
kaiyou's avatar
kaiyou committed
  <<: *ansible-job
  script:
    - ansible $ANSIBLE_ARGS -m include_tasks -a file=ansible/ciupload.yaml localhost
  
  stage: test
kaiyou's avatar
kaiyou committed
  <<: *ansible-job
kaiyou's avatar
kaiyou committed
  parallel:
    matrix:
      - PROVIDER: scaleway
        IMAGE:
        - debian12
      - PROVIDER: hetzner
        IMAGE:
        - debian12
  script:
kaiyou's avatar
kaiyou committed
    - ansible-playbook $ANSIBLE_ARGS ansible/cloud.yaml -e cloud_provider=$PROVIDER -e image=$IMAGE
    - ansible-playbook $ANSIBLE_ARGS ansible/test_podinfo.yaml
  after_script:
    - ansible-playbook $ANSIBLE_ARGS ansible/cleanup.yaml

kaiyou's avatar
kaiyou committed