summaryrefslogtreecommitdiffstats
path: root/.gitlab-ci.yml
diff options
context:
space:
mode:
Diffstat (limited to '.gitlab-ci.yml')
-rw-r--r--.gitlab-ci.yml70
1 files changed, 70 insertions, 0 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000..ae96f7d
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,70 @@
+.debcommon: &debcommon
+ - apt update
+ - apt install build-essential debhelper git python3-jinja2 rdfind -y
+ - make deb
+
+.rpmcommon: &rpmcommon
+ - dnf install make git python3-jinja2 rpmdevtools rdfind -y
+ - make rpm
+
+check-commits:
+ stage: test
+ image: registry.gitlab.com/kernel-firmware/linux-firmware
+ rules:
+ - if: $CI_MERGE_REQUEST_ID
+ script:
+ - ci-fairy check-commits --signed-off-by --textwidth=0
+
+pre-commit:
+ stage: test
+ image: registry.gitlab.com/kernel-firmware/linux-firmware
+ rules:
+ - if: $CI_PIPELINE_SOURCE == 'merge_request_event'
+ - if: $CI_COMMIT_TAG
+ - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
+ script:
+ - pre-commit run --all-files
+
+deb-release:
+ stage: deploy
+ image: debian
+ rules:
+ - if: $CI_MERGE_REQUEST_SOURCE_BRANCH_NAME
+ when: never
+ - if: $RELEASE_TOKEN
+ - if: $CI_COMMIT_TAG
+ artifacts:
+ paths:
+ - dist/*
+ script:
+ - *debcommon
+
+rpm-release:
+ stage: deploy
+ image: fedora
+ rules:
+ - if: $CI_MERGE_REQUEST_SOURCE_BRANCH_NAME
+ when: never
+ - if: $RELEASE_TOKEN
+ - if: $CI_COMMIT_TAG
+ artifacts:
+ paths:
+ - dist/*
+ script:
+ - *rpmcommon
+
+release:
+ stage: deploy
+ rules:
+ - if: $CI_MERGE_REQUEST_SOURCE_BRANCH_NAME
+ when: never
+ - if: $RELEASE_TOKEN
+ artifacts:
+ paths:
+ - dist/*
+ script:
+ - CI_PUSH_REPO=`echo "$CI_REPOSITORY_URL" | sed 's/^.*@/@/g'`
+ - git remote set-url --push origin "https://gitlab-ci-token:${RELEASE_TOKEN}$CI_PUSH_REPO"
+ - git tag `date "+%Y%m%d"`
+ - git push --tags
+ - make dist