forgejo-deb/.crystalintegration.yml

357 lines
9.3 KiB
YAML
Raw Normal View History

2023-02-06 21:29:43 +11:00
platform: linux/amd64
when:
event: [ push, tag ]
variables:
- &ci_verify_image 'sc.cryxtal.org/ci-img/git-curl-jq:latest'
- &golang_image 'golang:1.20-bullseye'
2023-11-26 11:37:24 +11:00
- &forgejo_test_image 'docker.io/node:20-bookworm'
2023-02-06 21:29:43 +11:00
- &nodejs_image 'node:lts'
- &bin_dl_image 'sc.cryxtal.org/ci-img/bin-dl:latest'
- &deb_build_image 'sc.cryxtal.org/ci-img/dh:bullseye'
2023-02-07 00:46:37 +11:00
- &deb_test_image_bullseye 'sc.cryxtal.org/ci-img/deb-test:bullseye'
2023-03-25 08:09:12 +11:00
- &deb_test_image_bookworm 'sc.cryxtal.org/ci-img/deb-test:bookworm'
2023-02-07 00:46:37 +11:00
- &deb_test_image_buster 'sc.cryxtal.org/ci-img/deb-test:buster'
- &deb_test_image_sid 'sc.cryxtal.org/ci-img/deb-test:sid'
- &deb_test_image_jammy 'sc.cryxtal.org/ci-img/deb-test-ubuntu:jammy'
- &deb_test_image_focal 'sc.cryxtal.org/ci-img/deb-test-ubuntu:focal'
- &deb_test_image_kinetic 'sc.cryxtal.org/ci-img/deb-test-ubuntu:kinetic'
2023-06-23 19:04:22 +10:00
- &deb_test_image_lunar 'sc.cryxtal.org/ci-img/deb-test-ubuntu:lunar'
2023-02-06 21:29:43 +11:00
- &build_submodule 'forgejo'
- &goproxy_override ''
- &goproxy_setup |-
if [ -n "$${GOPROXY_OVERRIDE:-}" ]; then
export GOPROXY="$${GOPROXY_OVERRIDE}";
echo "Using goproxy from goproxy_override \"$${GOPROXY}\"";
elif [ -n "$${GOPROXY_DEFAULT:-}" ]; then
export GOPROXY="$${GOPROXY_DEFAULT}";
echo "Using goproxy from goproxy_default (secret) not displaying";
else
export GOPROXY="https://proxy.golang.org,direct";
echo "No goproxy overrides or defaults given, using \"$${GOPROXY}\"";
fi
workspace:
base: /go
path: src/cryxtal/forgejo-deb
clone:
clone-recursive:
image: woodpeckerci/plugin-git
settings:
recursive: true
2023-08-23 00:52:55 +10:00
steps:
2023-02-06 21:29:43 +11:00
fetch-tags:
image: *ci_verify_image
pull: true
commands:
2023-07-03 03:21:05 +10:00
- git config --add safe.directory '*'
- git fetch --tags --force
- git submodule foreach 'git fetch --tags --force'
2023-02-06 21:29:43 +11:00
ci-verify:
image: *ci_verify_image
group: deps
2023-02-06 21:29:43 +11:00
environment:
BUILD_SUBMODULE: *build_submodule
commands:
2023-07-03 03:21:05 +10:00
- ./.ci-make.sh ci-verify "$BUILD_SUBMODULE"
2023-02-06 21:29:43 +11:00
deps-frontend:
image: *nodejs_image
group: deps
2023-02-06 21:29:43 +11:00
environment:
BUILD_SUBMODULE: *build_submodule
commands:
2023-07-03 03:21:05 +10:00
- ./.ci-make.sh submodule-make "$BUILD_SUBMODULE" deps-frontend
2023-02-06 21:29:43 +11:00
deps-backend:
image: *golang_image
group: deps
2023-02-06 21:29:43 +11:00
environment:
BUILD_SUBMODULE: *build_submodule
GOPROXY_OVERRIDE: *goproxy_override
secrets:
- goproxy_default
commands:
2023-07-03 03:21:05 +10:00
- *goproxy_setup
- ./.ci-make.sh submodule-make "$BUILD_SUBMODULE" deps-backend
2023-02-06 21:29:43 +11:00
tag-pre-condition:
image: *ci_verify_image
environment:
BUILD_SUBMODULE: *build_submodule
commands:
2023-07-03 03:21:05 +10:00
- cd "$BUILD_SUBMODULE"
- git update-ref refs/heads/tag_test $(git rev-parse --verify HEAD)
2023-02-06 21:29:43 +11:00
security-check:
image: *golang_image
group: checks
2023-02-06 21:29:43 +11:00
environment:
BUILD_SUBMODULE: *build_submodule
GOPROXY_OVERRIDE: *goproxy_override
secrets:
- goproxy_default
commands:
2023-07-03 03:21:05 +10:00
- *goproxy_setup
- ./.ci-make.sh submodule-make "$BUILD_SUBMODULE" security-check
2023-02-06 21:29:43 +11:00
checks-backend:
image: *forgejo_test_image
group: checks
2023-02-06 21:29:43 +11:00
environment:
GOPROXY_OVERRIDE: *goproxy_override
secrets:
- goproxy_default
commands:
2023-07-03 03:21:05 +10:00
- *goproxy_setup
2023-11-26 11:37:24 +11:00
- ./.ci-make.sh forgejo-test-deps
- su forgejo -c './.ci-make.sh submodule-make forgejo checks-backend'
2023-11-26 12:16:52 +11:00
- chown -R root:root .
2023-02-06 21:29:43 +11:00
2023-11-26 12:22:07 +11:00
build-frontend:
image: *nodejs_image
group: pre-build
environment:
BUILD_SUBMODULE: *build_submodule
commands:
- ./.ci-make.sh submodule-make "$BUILD_SUBMODULE" frontend
2023-02-06 21:29:43 +11:00
download-bin-amd64:
image: *bin_dl_image
group: build-main
2023-02-06 21:29:43 +11:00
commands:
2023-07-03 03:21:05 +10:00
- ./.ci-make.sh download-binary forgejo-bin-dl
2023-02-06 21:29:43 +11:00
when:
event: [ tag ]
build-forgejo-amd64:
image: *golang_image
group: build-main
2023-02-06 21:29:43 +11:00
environment:
BUILD_SUBMODULE: *build_submodule
GOSUMDB: sum.golang.org
TAGS: bindata
GOPROXY_OVERRIDE: *goproxy_override
secrets:
- goproxy_default
commands:
2023-07-03 03:21:05 +10:00
- *goproxy_setup
- ./.ci-make.sh submodule-build "$BUILD_SUBMODULE" forgejo-bin
2023-02-06 21:29:43 +11:00
build-forgejo-sqlite-amd64:
image: *golang_image
environment:
BUILD_SUBMODULE: *build_submodule
GOSUMDB: sum.golang.org
TAGS: bindata sqlite sqlite_unlock_notify
GOPROXY_OVERRIDE: *goproxy_override
secrets:
- goproxy_default
commands:
2023-07-03 03:21:05 +10:00
- *goproxy_setup
- ./.ci-make.sh submodule-build "$BUILD_SUBMODULE" forgejo-sqlite-bin
2023-02-06 21:29:43 +11:00
package-bullseye:
image: *deb_build_image
group: package
2023-02-06 21:29:43 +11:00
commands:
2023-07-03 03:21:05 +10:00
- ./.ci-make.sh package-prep
- ./.ci-make.sh package-build
- ./.ci-make.sh package-clean
package-repo:
image: *deb_build_image
group: package
commands:
- cd repo-deb
- ./build.sh
2023-02-06 21:29:43 +11:00
gen-sha256:
image: *ci_verify_image
commands:
2023-07-03 03:21:05 +10:00
- ./.ci-make.sh pkg-gen-sha256
- ./.ci-make.sh preview-sha256
2023-02-06 21:29:43 +11:00
2023-07-03 03:23:39 +10:00
test-inst-bookworm:
image: *deb_test_image_bookworm
group: pkg-test-1
2023-02-06 21:29:43 +11:00
commands:
2023-07-03 03:21:05 +10:00
- ./.ci-make.sh install-run-test ./forgejo_*_amd64.deb
2023-02-06 21:29:43 +11:00
2023-07-03 03:23:39 +10:00
test-inst-bookworm-user:
image: *deb_test_image_bookworm
group: pkg-test-1
2023-02-06 21:29:43 +11:00
commands:
2023-07-03 03:21:05 +10:00
- ./.ci-make.sh test-userinst-prep
- ./.ci-make.sh install-run-test ./forgejo_*_amd64.deb
2023-02-06 21:29:43 +11:00
test-inst-bullseye-sqlite:
image: *deb_test_image_bullseye
group: pkg-test-1
2023-02-06 21:29:43 +11:00
commands:
2023-07-03 03:21:05 +10:00
- ./.ci-make.sh install-run-test ./forgejo-sqlite_*_amd64.deb
2023-02-06 21:29:43 +11:00
2023-03-25 08:09:12 +11:00
test-inst-bookworm-sqlite:
image: *deb_test_image_bookworm
group: pkg-test-1
2023-03-25 08:09:12 +11:00
commands:
2023-07-03 03:21:05 +10:00
- ./.ci-make.sh install-run-test ./forgejo-sqlite_*_amd64.deb
2023-03-25 08:09:12 +11:00
2023-02-06 21:29:43 +11:00
test-inst-buster-sqlite:
image: *deb_test_image_buster
group: pkg-test-2
2023-02-06 21:29:43 +11:00
commands:
2023-07-03 03:21:05 +10:00
- ./.ci-make.sh install-run-test ./forgejo-sqlite_*_amd64.deb
2023-02-06 21:29:43 +11:00
test-inst-sid-sqlite:
image: *deb_test_image_sid
group: pkg-test-2
2023-02-06 21:29:43 +11:00
commands:
2023-07-03 03:21:05 +10:00
- ./.ci-make.sh install-run-test ./forgejo-sqlite_*_amd64.deb
2023-02-06 21:29:43 +11:00
test-inst-jammy-sqlite:
image: *deb_test_image_jammy
group: pkg-test-2
2023-02-06 21:29:43 +11:00
commands:
2023-07-03 03:21:05 +10:00
- ./.ci-make.sh install-run-test ./forgejo-sqlite_*_amd64.deb
2023-02-06 21:29:43 +11:00
test-inst-focal-sqlite:
image: *deb_test_image_focal
group: pkg-test-2
2023-02-06 21:29:43 +11:00
commands:
2023-07-03 03:21:05 +10:00
- ./.ci-make.sh install-run-test ./forgejo-sqlite_*_amd64.deb
2023-02-06 21:29:43 +11:00
test-inst-kinetic-sqlite:
image: *deb_test_image_kinetic
group: pkg-test-3
2023-02-06 21:29:43 +11:00
commands:
2023-07-03 03:21:05 +10:00
- ./.ci-make.sh install-run-test ./forgejo-sqlite_*_amd64.deb
2023-02-06 21:29:43 +11:00
2023-06-23 19:04:22 +10:00
test-inst-lunar-sqlite:
image: *deb_test_image_lunar
group: pkg-test-3
2023-06-23 19:04:22 +10:00
commands:
2023-07-03 03:21:05 +10:00
- ./.ci-make.sh install-run-test ./forgejo-sqlite_*_amd64.deb
2023-06-23 19:04:22 +10:00
2023-02-06 21:29:43 +11:00
test-inst-bullseye-bin:
image: *deb_test_image_bullseye
group: pkg-test-3
2023-02-06 21:29:43 +11:00
commands:
2023-07-03 03:21:05 +10:00
- ./.ci-make.sh install-run-test ./forgejo-bin_*_amd64.deb
2023-02-06 21:29:43 +11:00
when:
event: [ tag ]
2023-03-25 08:09:12 +11:00
test-inst-bookworm-bin:
image: *deb_test_image_bookworm
group: pkg-test-3
2023-03-25 08:09:12 +11:00
commands:
2023-07-03 03:21:05 +10:00
- ./.ci-make.sh install-run-test ./forgejo-bin_*_amd64.deb
2023-03-25 08:09:12 +11:00
when:
event: [ tag ]
2023-02-06 21:29:43 +11:00
test-inst-buster-bin:
image: *deb_test_image_buster
group: pkg-test-4
2023-02-06 21:29:43 +11:00
commands:
2023-07-03 03:21:05 +10:00
- ./.ci-make.sh install-run-test ./forgejo-bin_*_amd64.deb
2023-02-06 21:29:43 +11:00
when:
event: [ tag ]
test-inst-sid-bin:
image: *deb_test_image_sid
group: pkg-test-4
2023-02-06 21:29:43 +11:00
commands:
2023-07-03 03:21:05 +10:00
- ./.ci-make.sh install-run-test ./forgejo-bin_*_amd64.deb
2023-02-06 21:29:43 +11:00
when:
event: [ tag ]
test-inst-jammy-bin:
image: *deb_test_image_jammy
group: pkg-test-4
2023-02-06 21:29:43 +11:00
commands:
2023-07-03 03:21:05 +10:00
- ./.ci-make.sh install-run-test ./forgejo-bin_*_amd64.deb
2023-02-06 21:29:43 +11:00
when:
event: [ tag ]
test-inst-focal-bin:
image: *deb_test_image_focal
group: pkg-test-4
2023-02-06 21:29:43 +11:00
commands:
2023-07-03 03:21:05 +10:00
- ./.ci-make.sh install-run-test ./forgejo-bin_*_amd64.deb
2023-02-06 21:29:43 +11:00
when:
event: [ tag ]
test-inst-kinetic-bin:
image: *deb_test_image_kinetic
group: pkg-test-5
2023-06-23 19:04:22 +10:00
commands:
2023-07-03 03:21:05 +10:00
- ./.ci-make.sh install-run-test ./forgejo-bin_*_amd64.deb
2023-06-23 19:04:22 +10:00
when:
event: [ tag ]
test-inst-lunar-bin:
image: *deb_test_image_lunar
group: pkg-test-5
2023-02-06 21:29:43 +11:00
commands:
2023-07-03 03:21:05 +10:00
- ./.ci-make.sh install-run-test ./forgejo-bin_*_amd64.deb
2023-02-06 21:29:43 +11:00
when:
event: [ tag ]
2023-07-03 07:46:48 +10:00
test-repo-bookworm-sqlite:
2023-07-03 07:46:48 +10:00
image: *deb_test_image_bookworm
group: pkg-test-5
2023-07-03 07:46:48 +10:00
commands:
- ./.ci-make.sh install-repo-test ./repo-deb/forgejo-deb-repo_0-0_all.deb forgejo-sqlite
2023-11-26 11:12:14 +11:00
- ./.ci-make.sh force-clean-forgejo
- ./.ci-make.sh install-run-test ./forgejo-sqlite_*_amd64.deb
- ./.ci-make.sh verify-data-dir-chmod
2023-02-06 21:29:43 +11:00
upload-crystalcommit:
image: woodpeckerci/plugin-gitea-release
group: upload
2023-02-06 21:29:43 +11:00
settings:
base_url: https://sc.cryxtal.org
files:
- "*.deb"
- "*.deb.sha256"
api_key:
from_secret: sc_api_key
prerelease: false
2023-02-06 21:29:43 +11:00
skip_verify: true
when:
event: [ tag ]
upload-codeberg:
image: woodpeckerci/plugin-gitea-release
group: upload
2023-02-06 21:29:43 +11:00
settings:
base_url: https://codeberg.org
files:
- "*.deb"
- "*.deb.sha256"
api_key:
from_secret: cb_api_key
prerelease: false
2023-02-06 21:29:43 +11:00
skip_verify: true
when:
event: [ tag ]
2023-06-23 19:13:00 +10:00
publish-apt-repo:
image: *ci_verify_image
group: upload
2023-06-23 19:13:00 +10:00
environment:
FORGEJO_SITE: https://code.forgejo.org
FORGEJO_OWNER: forgejo-contrib
DEBIAN_DIST: bullseye
DEBIAN_COMPONENT: forgejo
2023-06-23 19:13:00 +10:00
secrets: [ cfo_api_key ]
commands:
2023-07-03 03:21:05 +10:00
- export FORGEJO_KEY=$CFO_API_KEY
- ./.ci-forgejo-apt.sh *.deb
2023-07-03 03:19:16 +10:00
when:
event: [ tag ]