ptrcports/.gitlab-ci.yml

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/