~sxmo-infra/sxmo-image-builder-nightly

6f470bbb418856c190d7c99b8d9b54f016a9b730 — Miles Alan 2 months ago e301cf9
Use sxmo_build; test building image
2 files changed, 29 insertions(+), 103 deletions(-)

M .build.yml
M pmbootstrap.cfg
M .build.yml => .build.yml +17 -95
@@ 1,10 1,11 @@
image: alpine/3.12
packages: [alpine-sdk coreutils, procps, py3-requests, xz]
image: alpine/3.14
packages: [coreutils, procps, py3-requests, xz]

environment:
  #DEVICE: pinebookpro
  DEVICE: pinephone
  VERSION: nightly
  GFX: wayland
  #GFX: x11

secrets:
  - f9885226-5149-444b-9dad-2981b0f02816


@@ 23,99 24,19 @@ tasks:
      sudo mount -t binfmt_misc none /proc/sys/fs/binfmt_misc
    
  - setup_pmbootstrap: |
      #cd pmaports && git checkout v21.06 && cd ../
      mkdir -p ~/.config && cp sxmo-image-builder-nightly/pmbootstrap.cfg ~/.config/
      yes "" | ./pmbootstrap/pmbootstrap.py  --aports=$PWD/pmaports -q init   

  # Lisgd is a little bit different because its in alpine
  - build_lisgd: |
      PKG=lisgd
      mkdir -p pmaports/sxmo/lisgd
      cd pmaports/sxmo/lisgd
      wget 'https://gitlab.alpinelinux.org/alpine/aports/-/raw/master/community/lisgd/APKBUILD'
      git clone "http://git.sr.ht/~mil/$PKG" --depth 1 $PKG-999
      tar -czvf $PKG-999.tar.gz $PKG-999/
      sed -i -E 's#^pkgver=.+#pkgver=999#' APKBUILD
      sed -i -E "s#^pkgrel=.+#pkgrel=$(date +%s)#" APKBUILD
      sed -i -E "s#^source=\"[^\"]+#source=\"$PKG-999.tar.gz#" APKBUILD
      abuild checksum
      cd
      ./pmbootstrap/pmbootstrap.py --details-to-stdout build --arch aarch64 $PKG

  - build_sxmo-dwm: |
      PKG=sxmo-dwm
      cd pmaports/sxmo/$PKG
      git clone "http://git.sr.ht/~mil/$PKG" --depth 1 $PKG-999
      tar -czvf $PKG-999.tar.gz $PKG-999/
      sed -i -E 's#^pkgver=.+#pkgver=999#' APKBUILD
      sed -i -E "s#^pkgrel=.+#pkgrel=$(date +%s)#" APKBUILD
      sed -i -E "s#^source=\"[^\"]+#source=\"$PKG-999.tar.gz#" APKBUILD
      abuild checksum
      cd
      ./pmbootstrap/pmbootstrap.py --details-to-stdout build --arch aarch64 $PKG

  - build_sxmo-st: |
      PKG=sxmo-st
      cd pmaports/sxmo/$PKG
      git clone "http://git.sr.ht/~mil/$PKG" --depth 1 $PKG-999
      tar -czvf $PKG-999.tar.gz $PKG-999/
      sed -i -E 's#^pkgver=.+#pkgver=999#' APKBUILD
      sed -i -E "s#^pkgrel=.+#pkgrel=$(date +%s)#" APKBUILD
      sed -i -E "s#^source=\"[^\"]+#source=\"$PKG-999.tar.gz#" APKBUILD
      abuild checksum
      cd
      ./pmbootstrap/pmbootstrap.py --details-to-stdout build --arch aarch64 $PKG

  - build_sxmo-surf: |
      PKG=sxmo-surf
      cd pmaports/sxmo/$PKG
      git clone "http://git.sr.ht/~mil/$PKG" --depth 1 $PKG-999
      tar -czvf $PKG-999.tar.gz $PKG-999/
      sed -i -E 's#README#README.md#' APKBUILD
      sed -i -E 's#^pkgver=.+#pkgver=999#' APKBUILD
      sed -i -E "s#^pkgrel=.+#pkgrel=$(date +%s)#" APKBUILD
      sed -i -E "s#^source=\"[^\"]+#source=\"$PKG-999.tar.gz#" APKBUILD
      abuild checksum
      cd
      ./pmbootstrap/pmbootstrap.py --details-to-stdout build --arch aarch64 $PKG

  - build_sxmo-dmenu: |
      PKG=sxmo-dmenu
      cd pmaports/sxmo/$PKG
      git clone "http://git.sr.ht/~mil/$PKG" --depth 1 $PKG-999
      tar -czvf $PKG-999.tar.gz $PKG-999/
      sed -i -E 's#README#README.md#' APKBUILD
      sed -i -E 's#^pkgver=.+#pkgver=999#' APKBUILD
      sed -i -E "s#^pkgrel=.+#pkgrel=$(date +%s)#" APKBUILD
      sed -i -E "s#^source=\"[^\"]+#source=\"$PKG-999.tar.gz#" APKBUILD
      abuild checksum
      cd
      ./pmbootstrap/pmbootstrap.py --details-to-stdout build --arch aarch64 $PKG

  - build_sxmo-utils: |
      PKG=sxmo-utils
      cd pmaports/sxmo/$PKG
      git clone "http://git.sr.ht/~mil/$PKG" --depth 1 $PKG-999
      sed -i 's#$(DESTDIR)#$(DESTDIR)/$(PREFIX)#g' $PKG-999/Makefile
      sed -i 's#$(PREFIX)$(PREFIX)#$(PREFIX)#g' $PKG-999/Makefile
      tar -czvf $PKG-999.tar.gz $PKG-999/
      sed -i '/chmod/d' APKBUILD
      sed -i -E 's#^pkgver=.+#pkgver=999#' APKBUILD
      sed -i -E "s#^pkgrel=.+#pkgrel=$(date +%s)#" APKBUILD
      sed -i -E "s#^source=\"[^\"]+#source=\"$PKG-999.tar.gz#" APKBUILD
      abuild checksum
      cd
      ./pmbootstrap/pmbootstrap.py --details-to-stdout build --arch aarch64 $PKG

  - build_image: |
      ./pmbootstrap/pmbootstrap.py chroot -b aarch64 ls
      ./pmbootstrap/pmbootstrap.py -mp=http://postmarketos1.brixit.nl/postmarketos/ update --arch aarch64 
      yes "mo" | ./pmbootstrap/pmbootstrap.py --details-to-stdout -mp=http://postmarketos1.brixit.nl/postmarketos/ install
      ./pmbootstrap/pmbootstrap.py export images
      sudo losetup /dev/loop0 images/pine64-$DEVICE.img
      sudo mkdir bootpart
      sudo mount -o loop /dev/loop0p1 bootpart
      sudo umount bootpart

  - sxmo_build: |
     ./pmbootstrap/pmbootstrap.py chroot -r git clone https://git.sr.ht/~mil/sxmo-build
     ./pmbootstrap/pmbootstrap.py chroot -r ./sxmo-build/sxmo_build_all.sh -- --$GFX
     ./pmbootstrap/pmbootstrap.py export images
 
  - compress_image: |
      du -h $(readlink images/pine64-$DEVICE.img)
      date


@@ 124,10 45,11 @@ tasks:
      date
      
  - upload_image: |
      export TIME=$(date +%Y%m%d%H%M)
      export TIME=$(date +%Y%m%d)
      export FILE=sxmo_$GFX_$DEVICE-sd.$VERSION-$TIME.img.xz
      md5sum /home/build/compressed.img.xz > /home/build/sum.md5
      cat /home/build/sum.md5
      ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null $(cat ~/.user_at_server) "rm /home/public/images.lrdu.org/$DEVICE/sxmo_${GFX}*nightly*"
      ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null $(cat ~/.user_at_server) "mkdir -p /home/public/images.lrdu.org/$DEVICE/"
      ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null $(cat ~/.user_at_server) "rm /home/public/images.lrdu.org/$DEVICE/sxmo_*nightly*"
      scp -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null /home/build/compressed.img.xz $(cat ~/.user_at_server):/home/public/images.lrdu.org/$DEVICE/sxmo_$DEVICE-sd.$VERSION-$TIME.img.xz

  - set_htaccess: |
      scp -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null sxmo-image-builder-nightly/.htaccess $(cat ~/.user_at_server):/home/public/images.lrdu.org/.htaccess
      scp -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null /home/build/compressed.img.xz $(cat ~/.user_at_server):/home/public/images.lrdu.org/$DEVICE/$FILE
      scp -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null /home/build/sum.md5 $(cat ~/.user_at_server):/home/public/images.lrdu.org/$DEVICE/$FILE.md5

M pmbootstrap.cfg => pmbootstrap.cfg +12 -8
@@ 1,17 1,21 @@
[pmbootstrap]
aports = pmaports
work = pmbootstrap_work
ccache_size = 5G
device = pine64-DEVICE
extra_packages = font-fira-mono-nerd
is_default_channel = False
device = pine64-pinephone
extra_packages = git
hostname = sxmo
jobs = 3
build_pkgs_on_install = False
jobs = 5
kernel = stable
keymap = 
locale = C.UTF-8
nonfree_firmware = True
nonfree_userland = True
qemu_native_mesa_driver = dri-virtio
nonfree_userland = False
ssh_keys = False
timezone = EST
timezone = GMT
ui = sxmo
ui_extras = False
user = mo
boot_size = 256
extra_space = 0
sudo_timer = False