~dricottone/huttese-apk

ref: 601e65af63f22f63a0a4b2c5fd54e9c119ee3029 huttese-apk/sr.ht/buildall.yml -rw-r--r-- 3.4 KiB
601e65af — Drew DeVault Add logs to init files 5 years ago
                                                                                
9b905648 Drew DeVault
10f9adf8 Drew DeVault
9b905648 Drew DeVault
10f9adf8 Drew DeVault
434d0e39 Drew DeVault
9b905648 Drew DeVault
10f9adf8 Drew DeVault
9b905648 Drew DeVault
10f9adf8 Drew DeVault
9b905648 Drew DeVault
10f9adf8 Drew DeVault
9b905648 Drew DeVault
10f9adf8 Drew DeVault
9b905648 Drew DeVault
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
image: alpine/edge
repositories:
  sr.ht: >
    https://mirror.sr.ht/alpine/sr.ht/
    https://mirror.sr.ht/alpine/sr.ht/alpine%40sr.ht.rsa.pub
    alpine@sr.ht.rsa.pub
packages:
  - rsync
environment:
  repo_server: deploy@mirror.sr.ht
  repo_path: /var/www/mirror.sr.ht/alpine/sr.ht/x86_64
  packages:
    - py-alembic
    - py-cssselect2
    - py-editor
    - py-qrcode
    - py-tinycss2
    - py-weasyprint
    - py3-amqp
    - py3-anyjson
    - py3-arrow
    - py3-billiard
    - py3-bleach
    - py3-case
    - py3-celery
    - py3-colour
    - py3-furl
    - py3-html5lib
    - py3-humanize
    - py3-infinity
    - py3-intervals
    - py3-kombu
    - py3-nose
    - py3-orderedmultidict
    - py3-passlib
    - py3-pgpy
    - py3-pyotp
    - py3-redis
    - py3-sqlalchemy-utils
    - py3-sshpubkeys
    - py3-stripe
    - py3-vine
    - py3-webencodings
sources:
  - https://git.sr.ht/~sircmpwn/sr.ht-apkbuilds
secrets:
  - fa00a8d3-7b63-42d5-8060-3bb31c3e3018 # ssh deploy key
  - d0adc1d4-af78-4852-920f-1134392f5d10 # package signing key
tasks:
  - setup: |
      mkdir ~/packages
      cat <<'EOF' >>~/.buildenv
      function get_pkgvar() {
          var="$1"
          (
              set +u
              . APKBUILD
              eval 'printf "%s\n" "$'"$var"'"'
          )
      }
      EOF
      echo 'PACKAGER_PRIVKEY="/home/build/.abuild/alpine@sr.ht.rsa"' >> \
        ~/.abuild/abuild.conf
  - build: |
      cd sr.ht-apkbuilds/sr.ht
      for package in "${packages[@]}"
      do
          cd "$package"
          pkgver="$(get_pkgvar pkgver)"
          prev_pkgver=$(apk search "$package" | cut -c$((${#package}+2))-)
          prev_pkgrel=$(printf "%s" "$prev_pkgver" | cut -d'-' -f2 | cut -d'r' -f2)
          if [ "$prev_pkgver" != "$pkgver" ]
          then
              pkgrel=$((prev_pkgrel + 1))
              sed -e "s/pkgrel=.*/pkgrel=$pkgrel/" -i APKBUILD
          fi
          abuild checksum
          abuild -r
          sudo apk add ~/packages/sr.ht/$(uname -m)/"$package"-$pkgver-r$pkgrel.apk
          cd ..
      done
  - deploy: |
      cd sr.ht-apkbuilds/sr.ht
      sshopts="-o StrictHostKeyChecking=no"
      set -u
      for package in "${packages[@]}"
      do
          cd "$package"
          ssh $sshopts $repo_server rm -f $repo_path/${package}'*.apk'
          pkgver="$(get_pkgvar pkgver)"
          pkgrel="$(get_pkgvar pkgrel)"
          subpkgs="$(get_pkgvar subpackages)"
          rsync --blocking-io \
            -rPe "ssh $sshopts" \
            ~/packages/sr.ht/$(uname -m)/"$package"-$pkgver-r$pkgrel.apk \
            $repo_server:$repo_path/
          for subp in $subpkgs
          do
              subp="$(printf '%s' "$subp" | cut -d: -f1)"
              rsync --blocking-io \
                -rPe "ssh $sshopts" \
                ~/packages/sr.ht/$(uname -m)/"$subp"-$pkgver-r$pkgrel.apk \
                $repo_server:$repo_path/
          done
          ssh $sshopts $repo_server find $repo_path -type f -name '*.apk' -print0 |
            ssh $sshopts $repo_server xargs -0 apk index \
              --rewrite-arch x86_64 \
              -x $repo_path/APKINDEX.tar.gz \
              -o $repo_path/APKINDEX.unsigned.tar.gz
          rsync --blocking-io -rPe "ssh $sshopts" \
            $repo_server:$repo_path/APKINDEX.unsigned.tar.gz APKINDEX.tar.gz
          abuild-sign -k ~/.abuild/alpine@sr.ht.rsa APKINDEX.tar.gz
          rsync --blocking-io -rPe "ssh $sshopts" \
            APKINDEX.tar.gz $repo_server:$repo_path/
          cd ..
      done