Add ci-cd file

This commit is contained in:
Neshura 2023-02-26 23:01:27 +01:00
parent b2fdbc823a
commit 0d42b955d2
No known key found for this signature in database
GPG key ID: ACDF5B6EBECF6B0A

54
.gitlab-ci.yml Normal file
View file

@ -0,0 +1,54 @@
image: 3.10.8-slim-buster
.deploy:
rules:
# Regex magic copied from Neshura/page-test, only deploys on x.y.z or higher (x.y) Tags
- if: $CI_COMMIT_TAG =~ /^((([\d])+\.){1,2}[\d]+)\s*$/ && $CI_COMMIT_TAG
stages:
- build
- release
## Docker steps
build:
image: rust:alpine3.17
stage: build
variables:
IMAGE_TAG: $CI_REGISTRY_IMAGE:$CI_COMMIT_BRANCH
CACHING:
before_script:
- apk add musl-dev openssl-dev
script:
- echo "Compiling the code..."
- cargo build -r
- echo "Compile complete."
artifacts:
paths:
- cloudflare-dns-updater
rules:
- !reference [.deploy, rules]
Tag Release:
needs:
- job: build
artifacts: true
stage: release
image: registry.gitlab.com/gitlab-org/release-cli:latest
rules:
- !reference [.deploy, rules]
script:
- echo "running release job"
release:
tag_name: '$CI_COMMIT_TAG'
description: '$CI_COMMIT_TAG'
assets:
links:
- name: "cloudflare-dns-updater"
url: "https://gitlab.neshweb.net/Neshura/cloudflare-dns-updater/-/jobs/$JOB_ID/artifacts/download"