2022-11-15 23:08:47 +01:00
|
|
|
# Maintainer: nyyu <mail at nyyu dot dev>
|
|
|
|
|
2022-11-14 20:24:47 +01:00
|
|
|
pkgbase=woodpecker
|
|
|
|
pkgname=(
|
|
|
|
'woodpecker-server'
|
|
|
|
'woodpecker-agent'
|
|
|
|
'woodpecker-cli'
|
|
|
|
)
|
2024-01-22 01:01:11 +01:00
|
|
|
pkgver=2.2.2
|
2023-12-27 22:55:52 +01:00
|
|
|
pkgrel=1
|
2022-11-14 20:24:47 +01:00
|
|
|
pkgdesc="Woodpecker is a community fork of the Drone CI system"
|
|
|
|
arch=('x86_64')
|
|
|
|
url="https://woodpecker-ci.org"
|
|
|
|
license=('Apache')
|
2023-11-25 11:20:02 +01:00
|
|
|
makedepends=('go' 'git' 'pnpm')
|
2022-11-14 20:24:47 +01:00
|
|
|
options=('!lto')
|
2023-07-30 16:46:26 +02:00
|
|
|
source=(git+https://github.com/woodpecker-ci/woodpecker.git#tag=v$pkgver
|
2022-11-14 20:24:47 +01:00
|
|
|
'woodpecker-server.service'
|
|
|
|
'woodpecker-agent.service'
|
|
|
|
'agent.conf'
|
|
|
|
'server.conf')
|
|
|
|
sha256sums=('SKIP'
|
2022-11-15 23:08:47 +01:00
|
|
|
'6e22e6939222aaad07311e37a086935ca32dd149c3688b2809db5f55df816516'
|
2023-12-27 01:01:29 +01:00
|
|
|
'1081a646cf645bc09ddda8472cf9a341e545bf03f5738d56ae427b33806e538c'
|
|
|
|
'a6c2bdfc934e40a9636e7447ecd5bf7b200444116085cd7c69d304dfb822eba9'
|
2022-12-26 14:03:48 +01:00
|
|
|
'd983da1df22d00338aa82be5844554f27f789361f405fe381f73896623bd2c7a')
|
2022-11-15 23:08:47 +01:00
|
|
|
|
2022-11-14 20:24:47 +01:00
|
|
|
prepare() {
|
|
|
|
cd "$pkgbase"
|
|
|
|
|
2023-04-01 09:48:41 +02:00
|
|
|
find web/src/assets/locales ! -name 'en.json' -type f -exec rm -f {} +
|
|
|
|
|
2022-11-14 20:24:47 +01:00
|
|
|
mkdir -p build-server build-agent build-cli
|
|
|
|
|
2023-12-27 10:43:39 +01:00
|
|
|
go mod download
|
2022-11-14 20:24:47 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
build() {
|
|
|
|
cd "$pkgbase"
|
|
|
|
|
|
|
|
export CGO_CPPFLAGS="${CPPFLAGS}"
|
|
|
|
export CGO_CFLAGS="${CFLAGS}"
|
|
|
|
export CGO_CXXFLAGS="${CXXFLAGS}"
|
|
|
|
local COMMON_FLAGS=(
|
|
|
|
-trimpath
|
|
|
|
-buildmode=pie
|
|
|
|
-mod=readonly
|
|
|
|
-modcacherw
|
2023-12-27 10:43:39 +01:00
|
|
|
-ldflags "-linkmode external -extldflags \"${LDFLAGS}\" -X go.woodpecker-ci.org/woodpecker/v2/version.Version=${pkgver}"
|
2022-11-14 20:24:47 +01:00
|
|
|
)
|
|
|
|
|
|
|
|
cd web
|
2023-11-25 11:20:02 +01:00
|
|
|
pnpm install --frozen-lockfile
|
|
|
|
pnpm build
|
2022-11-14 20:24:47 +01:00
|
|
|
cd ..
|
|
|
|
|
|
|
|
go build \
|
|
|
|
"${COMMON_FLAGS[@]}" \
|
|
|
|
-o build-server \
|
|
|
|
./cmd/server/...
|
|
|
|
|
|
|
|
go build \
|
|
|
|
"${COMMON_FLAGS[@]}" \
|
|
|
|
-o build-agent \
|
|
|
|
./cmd/agent/...
|
|
|
|
|
|
|
|
go build \
|
|
|
|
"${COMMON_FLAGS[@]}" \
|
|
|
|
-o build-cli \
|
|
|
|
./cmd/cli/...
|
|
|
|
}
|
|
|
|
|
|
|
|
check() {
|
|
|
|
cd "$pkgbase"
|
|
|
|
|
2022-12-28 21:21:54 +01:00
|
|
|
# go test -v ./...
|
2022-11-14 20:24:47 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
package_woodpecker-server() {
|
|
|
|
|
|
|
|
backup=('etc/woodpecker/server')
|
|
|
|
|
|
|
|
# service
|
|
|
|
install -Dm644 woodpecker-server.service "$pkgdir/usr/lib/systemd/system/woodpecker-server.service"
|
|
|
|
# config
|
|
|
|
install -Dm644 server.conf "$pkgdir/etc/woodpecker/server"
|
|
|
|
|
|
|
|
cd "$pkgbase"
|
|
|
|
|
|
|
|
# binary
|
|
|
|
install -vDm755 build-server/server "$pkgdir/usr/bin/woodpecker-server"
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
package_woodpecker-agent() {
|
|
|
|
|
|
|
|
backup=('etc/woodpecker/agent')
|
|
|
|
|
|
|
|
# service
|
|
|
|
install -Dm644 woodpecker-agent.service "$pkgdir/usr/lib/systemd/system/woodpecker-agent.service"
|
|
|
|
# config
|
|
|
|
install -Dm644 agent.conf "$pkgdir/etc/woodpecker/agent"
|
|
|
|
|
|
|
|
cd "$pkgbase"
|
|
|
|
|
|
|
|
# binary
|
|
|
|
install -vDm755 build-agent/agent "$pkgdir/usr/bin/woodpecker-agent"
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
package_woodpecker-cli() {
|
|
|
|
cd "$pkgbase"
|
|
|
|
|
|
|
|
# binary
|
2022-11-15 23:08:47 +01:00
|
|
|
install -vDm755 build-cli/cli "$pkgdir/usr/bin/woodpecker"
|
2022-11-14 20:24:47 +01:00
|
|
|
}
|