89 lines
2.1 KiB
YAML
89 lines
2.1 KiB
YAML
workflow:
|
|
rules:
|
|
- if: $CI_COMMIT_BRANCH == "master"
|
|
|
|
stages:
|
|
- fetch
|
|
- build
|
|
- upload
|
|
|
|
default:
|
|
image: alpine:edge
|
|
cache:
|
|
key: repodest
|
|
paths: [repodest/]
|
|
before_script:
|
|
# setup ssh
|
|
- apk add openssh-keygen
|
|
- mkdir $HOME/.ssh
|
|
- chmod 600 $PRIVATE_KEY
|
|
- echo "repo.ptrc.gay ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGTcxqAgqWGqVDH5lscsXVp6eWxFblarg+YA1EPxjUvm" > $HOME/.ssh/known_hosts
|
|
- echo "IdentityFile $PRIVATE_KEY" > $HOME/.ssh/config
|
|
# setup abuild
|
|
- confdir=/home/buildozer/.abuild
|
|
- keyname=alpine@ptrcnull.me-60610fa4.rsa
|
|
- mkdir -p $confdir
|
|
- cp $PACKAGER_PRIVKEY $confdir/$keyname
|
|
- chown 600 $confdir/$keyname
|
|
- echo "PACKAGER_PRIVKEY=$confdir/$keyname" > $confdir/abuild.conf
|
|
- ssh-keygen -e -m pkcs8 -f $confdir/$keyname > $confdir/$keyname.pub
|
|
# add our own key to trusted keys
|
|
- cp ptrcports-keys/*.pub /etc/apk/keys/
|
|
- chown -R 1000:1000 /home/buildozer
|
|
- mkdir -p repodest
|
|
|
|
fetch:
|
|
stage: fetch
|
|
script:
|
|
- apk add openssh-client rsync
|
|
- rsync --archive --update --hard-links --delete --delete-after --delay-updates buildozer@repo.ptrc.gay:repodest/ repodest/
|
|
|
|
build-x86_64: &build
|
|
stage: build
|
|
resource_group: build
|
|
script:
|
|
- apk add lua-aports alpine-sdk s6
|
|
- adduser -D buildozer
|
|
- adduser buildozer abuild
|
|
- chown -R buildozer:buildozer *
|
|
- s6-setuidgid buildozer
|
|
env HOME=/home/buildozer
|
|
buildrepo
|
|
--aports $PWD/..
|
|
--destdir $PWD/repodest
|
|
--purge
|
|
ptrcports
|
|
|
|
build-aarch64:
|
|
<<: *build
|
|
image: arm64v8/alpine:edge
|
|
|
|
# build-armhf:
|
|
# <<: *build
|
|
# image: arm32v6/alpine:edge
|
|
|
|
# build-armv7:
|
|
# <<: *build
|
|
# image: arm32v7/alpine:edge
|
|
|
|
# build-ppc64le:
|
|
# <<: *build
|
|
# image: ppc64le/alpine:edge
|
|
|
|
# build-riscv64:
|
|
# <<: *build
|
|
# image: riscv64/alpine:edge
|
|
|
|
# build-s390x:
|
|
# <<: *build
|
|
# image: s390x/alpine:edge
|
|
|
|
# build-x86:
|
|
# <<: *build
|
|
# image: i386/alpine:edge
|
|
|
|
upload:
|
|
stage: upload
|
|
script:
|
|
- apk add openssh-client rsync
|
|
- rsync --archive --update --hard-links --delete --delete-after --delay-updates repodest/ buildozer@repo.ptrc.gay:repodest/
|