drone: update build flags
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
nyyu 2022-07-14 09:51:09 +02:00
parent 5ffff2b392
commit 620aa6d349
7 changed files with 131 additions and 72 deletions

View file

@ -3,7 +3,7 @@ type: docker
name: default name: default
steps: steps:
- name: build - name: build
pull: always pull: always
image: archlinux:base-devel image: archlinux:base-devel
volumes: volumes:
@ -30,7 +30,7 @@ steps:
GIT_PASSWORD: GIT_PASSWORD:
from_secret: git_password from_secret: git_password
volumes: volumes:
- name: repo - name: repo
host: host:
path: /mnt/archlinux/nyyu path: /mnt/archlinux/nyyu

View file

@ -7,7 +7,7 @@ build() {
if grep -c 'git+' PKGBUILD >/dev/null && ! grep -c '#tag=' PKGBUILD >/dev/null; then if grep -c 'git+' PKGBUILD >/dev/null && ! grep -c '#tag=' PKGBUILD >/dev/null; then
makepkg --nodeps --nobuild --skippgpcheck --noconfirm makepkg --nodeps --nobuild --skippgpcheck --noconfirm
makepkg --printsrcinfo > .SRCINFO makepkg --printsrcinfo >.SRCINFO
fi fi
name=$(grep -m1 'pkgname' .SRCINFO | cut -d'=' -f2 | tr -d ' ') name=$(grep -m1 'pkgname' .SRCINFO | cut -d'=' -f2 | tr -d ' ')
ver=$(grep 'pkgver' .SRCINFO | cut -d'=' -f2 | tr -d ' ') ver=$(grep 'pkgver' .SRCINFO | cut -d'=' -f2 | tr -d ' ')

View file

@ -1,20 +1,20 @@
pkgbase = drone-runner-docker pkgbase = drone-runner-docker
pkgdesc = Drone is a Continuous Delivery platform built on Docker, written in Go - Free enterprise variant pkgdesc = Drone pipeline runner that executes builds inside Docker containers
pkgver = 1.8.2 pkgver = 1.8.2
pkgrel = 1 pkgrel = 2
url = https://drone.io url = https://drone.io
arch = x86_64 arch = x86_64
license = Apache license = custom
makedepends = go makedepends = go
makedepends = git makedepends = git
makedepends = gcc
depends = docker depends = docker
options = !lto
backup = etc/drone/agent backup = etc/drone/agent
source = git+https://github.com/drone-runners/drone-runner-docker.git#tag=v1.8.2 source = git+https://github.com/drone-runners/drone-runner-docker.git#tag=v1.8.2
source = drone-agent.service source = drone-agent.service
source = agent.conf source = agent.conf
sha256sums = SKIP sha256sums = SKIP
sha256sums = dda7f52cb406beeb16024eb077ecfdd4b05929a955f796214646a16db5898ea2 sha256sums = a739e3efeffdf93dd13ba4947608ecd17ea585473de55a2323f6f3e89f787dca
sha256sums = 2c1a13f0d4bf83c1716db1b3179f38da7b9f0e762f781a8a6ab13cc683f057fe sha256sums = 2c1a13f0d4bf83c1716db1b3179f38da7b9f0e762f781a8a6ab13cc683f057fe
pkgname = drone-runner-docker pkgname = drone-runner-docker

View file

@ -1,35 +1,66 @@
# Maintainer: Sl@ny <webmaster [at] slany [dot] work> # Maintainer: Sl@ny <webmaster [at] slany [dot] work>
pkgname=drone-runner-docker pkgname=drone-runner-docker
pkgver=1.8.2 pkgver=1.8.2
pkgrel=1 pkgrel=2
pkgdesc="Drone is a Continuous Delivery platform built on Docker, written in Go - Free enterprise variant" pkgdesc='Drone pipeline runner that executes builds inside Docker containers'
arch=('x86_64') arch=('x86_64')
url="https://drone.io" url="https://drone.io"
license=('Apache') license=('custom')
makedepends=('go' 'git' 'gcc') makedepends=('go' 'git')
options=('!lto')
depends=('docker') depends=('docker')
backup=('etc/drone/agent') backup=('etc/drone/agent')
source=(git+https://github.com/drone-runners/$pkgname.git#tag=v$pkgver source=(git+https://github.com/drone-runners/$pkgname.git#tag=v$pkgver
'drone-agent.service' 'drone-agent.service'
'agent.conf') 'agent.conf')
sha256sums=('SKIP' sha256sums=('SKIP'
'dda7f52cb406beeb16024eb077ecfdd4b05929a955f796214646a16db5898ea2' 'a739e3efeffdf93dd13ba4947608ecd17ea585473de55a2323f6f3e89f787dca'
'2c1a13f0d4bf83c1716db1b3179f38da7b9f0e762f781a8a6ab13cc683f057fe') '2c1a13f0d4bf83c1716db1b3179f38da7b9f0e762f781a8a6ab13cc683f057fe')
prepare() {
cd "$pkgname"
# create directory for build output
mkdir -p build
# download dependencies
go mod download
}
build() { build() {
cd "$srcdir/$pkgname" cd "$pkgname"
go build -a -v -trimpath -buildmode=pie -mod=readonly -ldflags '-w -s' .
# set Go flags
export CGO_CPPFLAGS="${CPPFLAGS}"
export CGO_CFLAGS="${CFLAGS}"
export CGO_CXXFLAGS="${CXXFLAGS}"
go build -v \
-trimpath \
-buildmode=pie \
-mod=readonly \
-modcacherw \
-ldflags "-linkmode external -extldflags \"${LDFLAGS}\"" \
-o build \
.
} }
package() { package() {
cd "$srcdir"
# binaries
install -Dm755 "$pkgname/$pkgname" "$pkgdir"/usr/bin/drone-agent
# service # service
install -Dm644 drone-agent.service "$pkgdir/usr/lib/systemd/system/drone-agent.service" install -Dm644 drone-agent.service "$pkgdir/usr/lib/systemd/system/drone-agent.service"
# config # config
install -Dm644 agent.conf "$pkgdir/etc/drone/agent" install -Dm644 agent.conf "$pkgdir/etc/drone/agent"
cd "$pkgname"
# binary
install -vDm755 -t "$pkgdir/usr/bin" build/*
# licenses
install -vDm644 -t "$pkgdir/usr/share/licenses/$pkgname" licenses/* LICENSE.md
# documentation
install -vDm644 -t "$pkgdir/usr/share/doc/$pkgname" README.md CHANGELOG.md
} }

View file

@ -1,5 +1,5 @@
[Unit] [Unit]
Description=Drone Continuous Integration platform agent Description=Drone Runner (Docker)
After=network.target After=network.target
[Service] [Service]
@ -7,7 +7,7 @@ User=drone-agent
Group=docker Group=docker
Type=simple Type=simple
EnvironmentFile=/etc/drone/agent EnvironmentFile=/etc/drone/agent
ExecStart=/usr/bin/drone-agent ExecStart=/usr/bin/drone-runner-docker
ExecReload=/usr/bin/kill -HUP $MAINPID ExecReload=/usr/bin/kill -HUP $MAINPID
Restart=on-failure Restart=on-failure
KillSignal=SIGINT KillSignal=SIGINT

View file

@ -1,13 +1,13 @@
pkgbase = drone pkgbase = drone
pkgdesc = Drone is a Continuous Delivery platform built on Docker, written in Go - Free enterprise variant pkgdesc = Drone is a Continuous Delivery platform built on Docker, written in Go - Free enterprise variant
pkgver = 2.12.1 pkgver = 2.12.1
pkgrel = 1 pkgrel = 2
url = https://drone.io url = https://drone.io
arch = x86_64 arch = x86_64
license = Apache license = custom
makedepends = go makedepends = go
makedepends = git makedepends = git
makedepends = gcc options = !lto
backup = etc/drone/server backup = etc/drone/server
source = git+https://github.com/drone/drone.git#tag=v2.12.1 source = git+https://github.com/drone/drone.git#tag=v2.12.1
source = drone.service source = drone.service

View file

@ -1,12 +1,13 @@
# Maintainer: Sl@ny <webmaster [at] slany [dot] work> # Maintainer: Sl@ny <webmaster [at] slany [dot] work>
pkgname=drone pkgname=drone
pkgver=2.12.1 pkgver=2.12.1
pkgrel=1 pkgrel=2
pkgdesc="Drone is a Continuous Delivery platform built on Docker, written in Go - Free enterprise variant" pkgdesc="Drone is a Continuous Delivery platform built on Docker, written in Go - Free enterprise variant"
arch=('x86_64') arch=('x86_64')
url="https://drone.io" url="https://drone.io"
license=('Apache') license=('custom')
makedepends=('go' 'git' 'gcc') makedepends=('go' 'git')
options=('!lto')
backup=('etc/drone/server') backup=('etc/drone/server')
source=(git+https://github.com/drone/drone.git#tag=v$pkgver source=(git+https://github.com/drone/drone.git#tag=v$pkgver
'drone.service' 'drone.service'
@ -15,23 +16,50 @@ sha256sums=('SKIP'
'3cd219b1c5611b9ff4211d4837dff11228d9a491cd41d21f4c60af77c8c21d5c' '3cd219b1c5611b9ff4211d4837dff11228d9a491cd41d21f4c60af77c8c21d5c'
'2b8957cd6b9f9ee6e8d831f58b0ef3fac2170a56f6259884ec7d30c3ba38c73a') '2b8957cd6b9f9ee6e8d831f58b0ef3fac2170a56f6259884ec7d30c3ba38c73a')
prepare() {
cd "$pkgname"
mkdir build
go mod download
}
build() { build() {
cd "$srcdir/$pkgname" cd "$pkgname"
go build -a -v -trimpath -buildmode=pie -mod=readonly -tags "nolimit" -ldflags '-w -s' ./cmd/drone-server
export CGO_CPPFLAGS="${CPPFLAGS}"
export CGO_CFLAGS="${CFLAGS}"
export CGO_CXXFLAGS="${CXXFLAGS}"
local COMMON_FLAGS=(
-trimpath
-buildmode=pie
-mod=readonly
-modcacherw
-ldflags "-linkmode external -extldflags \"${LDFLAGS}\""
)
go build \
"${COMMON_FLAGS[@]}" \
-tags "nolimit" \
-o build \
./cmd/...
}
check() {
cd "$pkgname"
go test -v ./...
} }
package() { package() {
cd "$srcdir"
# binaries
install -Dm755 "$pkgname/$pkgname"-server "$pkgdir"/usr/bin/"$pkgname"-server
# license
install -Dm644 "$pkgname/LICENSE" "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
# service # service
install -Dm644 drone.service "$pkgdir/usr/lib/systemd/system/drone.service" install -Dm644 drone.service "$pkgdir/usr/lib/systemd/system/drone.service"
# config # config
install -Dm644 server.conf "$pkgdir/etc/drone/server" install -Dm644 server.conf "$pkgdir/etc/drone/server"
cd "$pkgname"
# binary
install -vDm755 -t "$pkgdir/usr/bin" build/*
# license
install -vDm644 -t "$pkgdir/usr/share/licenses/$pkgname" LICENSE NOTICE
} }