1
0
mirror of https://gitlab.com/packaging/gitea synced 2024-12-18 08:03:29 +00:00
gitea_packaging/.gitlab-ci.yml

192 lines
3.9 KiB
YAML
Raw Permalink Normal View History

---
2020-04-12 11:43:49 +00:00
stages:
- package
2020-06-20 08:55:39 +00:00
- test
- repo
2020-04-12 11:43:49 +00:00
- pages
.vars: &vars
NAME: gitea
URL: "https://gitea.io"
DESCRIPTION: "A painless self-hosted Git service."
ARTIFACTS: "usr"
.package: &package
2020-04-12 11:43:49 +00:00
stage: package
image: golang:latest
script:
- export VERSION=$(echo ${CI_COMMIT_TAG#*v} | cut -d'+' -f1)
- export PATCHLEVEL=$(echo ${CI_COMMIT_TAG} | cut -d'+' -f2)
2020-04-12 11:43:49 +00:00
- apt-get -qq update
2020-06-19 05:14:57 +00:00
- apt-get -qqy install ruby-dev ruby-ffi curl file
2023-11-26 18:00:18 +00:00
- gem install fpm
2020-04-12 11:43:49 +00:00
- mkdir -p "${CI_PROJECT_DIR}/package_root/usr/bin"
- echo "https://dl.gitea.com/gitea/${VERSION}/gitea-${VERSION}-linux-${ARCH}"
- curl -sL -o
"${CI_PROJECT_DIR}/package_root/usr/bin/gitea"
"https://dl.gitea.com/gitea/${VERSION}/gitea-${VERSION}-linux-${ARCH}"
- file
--mime-type
--brief
"${CI_PROJECT_DIR}/package_root/usr/bin/gitea"
| grep -q 'application/x-executable'
2020-04-12 11:43:49 +00:00
- chmod +x "${CI_PROJECT_DIR}/package_root/usr/bin/gitea"
- gem install fpm
2020-04-12 11:43:49 +00:00
- fpm
--architecture "${ARCH}"
2020-04-12 11:43:49 +00:00
--input-type dir
--output-type deb
--package "${CI_PROJECT_DIR}/gitea_${VERSION}+${PATCHLEVEL}_${ARCH}.deb"
2020-04-12 11:43:49 +00:00
--name "${NAME}"
--version "${VERSION}+${PATCHLEVEL}"
2020-04-12 11:43:49 +00:00
--description "${DESCRIPTION}"
--maintainer "Stefan Heitmüller <stefan.heitmueller@gmx.com>"
--url "${URL}"
--depends git
--deb-recommends morph027-keyring
--deb-systemd "${CI_PROJECT_DIR}/.packaging/${NAME}.service"
2020-04-12 11:43:49 +00:00
--deb-activate-noawait /etc/init.d
--prefix=/
--before-install "${CI_PROJECT_DIR}/.packaging/before-install.sh"
2020-04-12 11:43:49 +00:00
--chdir "${CI_PROJECT_DIR}/package_root"
$ARTIFACTS
artifacts:
paths:
- $CI_PROJECT_DIR/*.deb
expire_in: 7 days
2020-04-12 11:43:49 +00:00
2023-11-26 18:00:18 +00:00
.manual: &manual
when: manual
only:
- tags
.trigger: &trigger
when: delayed
start_in: 2 hours
2023-11-26 18:00:18 +00:00
only:
- triggers
gitea-amd64-tag:
<<: [*package, *manual]
2023-11-26 18:00:18 +00:00
variables:
<<: *vars
ARCH: amd64
gitea-amd64-trigger:
<<: [*package, *trigger]
variables:
<<: *vars
ARCH: amd64
2023-11-26 18:00:18 +00:00
gitea-arm64-tag:
<<: [*package, *manual]
2023-11-26 18:00:18 +00:00
variables:
<<: *vars
ARCH: arm64
gitea-arm64-trigger:
<<: [*package, *trigger]
variables:
<<: *vars
ARCH: arm64
.test-install: &test-install
2020-06-20 08:55:39 +00:00
stage: test
image: ubuntu:noble
2020-06-20 08:55:39 +00:00
script:
- ./.gitlab-ci/test-install.sh
2020-06-20 12:39:39 +00:00
.test-update: &test-update
2020-06-20 12:39:39 +00:00
stage: test
image: ubuntu:noble
2020-06-20 12:39:39 +00:00
script:
- ./.gitlab-ci/test-update.sh
2020-06-20 08:55:39 +00:00
test-install-trigger:
<<: *test-install
needs:
- gitea-amd64-trigger
only:
- trigger
test-install-tag:
<<: *test-install
needs:
- gitea-amd64-tag
only:
- tags
test-update-trigger:
<<: *test-update
needs:
- gitea-amd64-trigger
only:
- trigger
test-update-tag:
<<: *test-update
needs:
- gitea-amd64-tag
only:
- tags
.repro: &repo
2020-04-12 11:43:49 +00:00
cache:
untracked: true
paths:
- $CI_PROJECT_DIR/.repo
key: repo
stage: repo
image: registry.gitlab.com/packaging/utils:latest
2020-04-12 11:43:49 +00:00
script:
- /deb.sh gitea
repo-apt-tag:
<<: [*repo]
needs:
- gitea-amd64-tag
- gitea-arm64-tag
- test-install-tag
- test-update-tag
rules:
- if: $CI_COMMIT_TAG && $CI_PIPELINE_SOURCE != "trigger"
2020-04-12 11:43:49 +00:00
repo-apt-trigger:
<<: [*repo]
needs:
- gitea-amd64-trigger
- gitea-arm64-trigger
- test-install-trigger
- test-update-trigger
rules:
- if: $CI_COMMIT_TAG && $CI_PIPELINE_SOURCE == "trigger"
2020-04-12 11:43:49 +00:00
pages:
cache:
untracked: true
paths:
- $CI_PROJECT_DIR/.repo
key: repo
2020-04-12 11:43:49 +00:00
policy: pull
stage: pages
image: ubuntu:focal
needs:
- job: repo-apt-tag
optional: true
- job: repo-apt-trigger
optional: true
2020-04-12 11:43:49 +00:00
script:
- mkdir $CI_PROJECT_DIR/public
- cp -rv
$CI_PROJECT_DIR/.repo/deb/gpg.key
$CI_PROJECT_DIR/.repo/deb/gitea/gitea/{dists,pool}
$CI_PROJECT_DIR/public/
2020-04-12 11:43:49 +00:00
artifacts:
paths:
- $CI_PROJECT_DIR/public
expire_in: 1 day
only:
- tags
- triggers