linux-firmware/.gitlab-ci.yml
Mario Limonciello 9009038b17 Enable deb and rpm builds on tags
Since we're not using an automatic tagging pipeline we should instead
create the deb and rpm builds when externally created tags come through
CI.

Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
2023-11-15 13:54:43 -06:00

71 lines
1.5 KiB
YAML

.debcommon: &debcommon
- apt update
- apt install build-essential debhelper git python3-jinja2 -y
- make deb
.rpmcommon: &rpmcommon
- dnf install make git python3-jinja2 rpmdevtools -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