Browse code

Build combined archives with starter packs.

Andrew Alderwick authored on 23/01/2022 21:01:41
Showing 1 changed files
... ...
@@ -18,8 +18,8 @@ sources:
18 18
     - https://git.sr.ht/~rabbits/uxn
19 19
 tasks:
20 20
     - prepare: |
21
-        rm -f out
22
-        mkdir -p out
21
+        rm -f out build
22
+        mkdir -p out build/linux-amd64 build/windows-64bit build/macos build/rompack/uxn
23 23
         umask 077
24 24
         mkdir -p ~/.ssh
25 25
         printf '%s\n' "${SSH_HOST_KEYS}" > ~/.ssh/known_hosts
... ...
@@ -27,9 +27,7 @@ tasks:
27 27
     - build-linux: |
28 28
         cd uxn
29 29
         ./build.sh --no-run
30
-        mv bin uxn
31
-        tar -czf ../out/uxn-linux-amd64.tar.gz uxn
32
-        cd ..
30
+        mv bin ../build/linux-amd64/uxn
33 31
     - build-rompack: |
34 32
         mkdir -p rompack/uxn
35 33
         for F in uxn/projects/software/calc.tal uxn/projects/software/launcher.tal uxn/projects/examples/demos/piano.tal uxn/projects/examples/demos/clock.tal catclock/src/main.tal dexe/src/main.tal donsol/src/main.tal left/src/main.tal nasu/src/main.tal noodle/src/main.tal orca-toy/src/main.tal:orca.rom turye/src/main.tal; do
... ...
@@ -43,17 +41,25 @@ tasks:
43 41
                 F="${F%:*}"
44 42
             fi
45 43
             [ -d "${PROJECT}" ] || git clone "https://git.sr.ht/~rabbits/${PROJECT}"
46
-            ( cd "${PROJECT}" && ../uxn/uxn/uxnasm "${F#*/}" "../rompack/uxn/${ROMNAME}" || rm -f "../rompack/uxn/${ROMNAME}" )
44
+            ( cd "${PROJECT}" && ../build/linux-amd64/uxn/uxnasm "${F#*/}" "../build/rompack/uxn/${ROMNAME}" || rm -f "../build/rompack/uxn/${ROMNAME}" )
47 45
         done
48
-        tar -czf out/uxn-rompack.tar.gz -C rompack uxn
49
-        ( cd rompack && zip -qr ../out/uxn-rompack.zip uxn )
50 46
         [ -e ~/.ssh/id_rsa ] || complete-build
51 47
     - build-windows: |
52
-        ssh win "rm -f uxn-windows-64bit.zip; export PATH=\"\${PATH}:/mingw64/bin\"; set -ex; cd uxn; git fetch; git checkout .; git clean -xfd; git checkout $(cd uxn && git rev-parse HEAD); MSYSTEM=MSYS ./build.sh --no-run; mv bin uxn; zip -qr ../uxn-windows-64bit.zip uxn"
53
-        rsync win:uxn-windows-64bit.zip out/
48
+        ssh win "rm -f uxn-windows-64bit.zip; export PATH=\"\${PATH}:/mingw64/bin\"; set -ex; cd uxn; git fetch; git checkout .; git clean -xfd; git checkout $(cd uxn && git rev-parse HEAD); MSYSTEM=MSYS ./build.sh --no-run"
49
+        rsync -rp win:uxn/bin/ build/windows-64bit/uxn/
54 50
     - build-macos: |
55
-        ssh mac "rm -f uxn-macos.tar.gz; export PATH=\"\${PATH}:/usr/local/bin\"; set -ex; cd uxn; git fetch; git checkout .; git clean -xfd; git checkout $(cd uxn && git rev-parse HEAD); ./build.sh --no-run; mv bin uxn; tar -zcf ../uxn-macos.tar.gz uxn"
56
-        rsync mac:uxn-macos.tar.gz out/
51
+        ssh mac "rm -f uxn-macos.tar.gz; export PATH=\"\${PATH}:/usr/local/bin\"; set -ex; cd uxn; git fetch; git checkout .; git clean -xfd; git checkout $(cd uxn && git rev-parse HEAD); ./build.sh --no-run"
52
+        rsync -rp mac:uxn/bin/ build/macos/uxn/
53
+    - archive: |
54
+        for PROJECT in linux-amd64 windows-64bit macos rompack; do
55
+            tar -czf "out/uxn-${PROJECT}.tar.gz" -C "build/${PROJECT}" uxn
56
+            ( cd "build/${PROJECT}" && zip -qr "../../out/uxn-${PROJECT}.zip" uxn )
57
+            if [ "${PROJECT}" != rompack ]; then
58
+                cp build/rompack/uxn/* "build/${PROJECT}/"
59
+                tar -czf "out/uxn-starter-${PROJECT}.tar.gz" -C "build/${PROJECT}" uxn
60
+                ( cd "build/${PROJECT}" && zip -qr "../../out/uxn-starter-${PROJECT}.zip" uxn )
61
+            fi
62
+        done
57 63
     - upload: |
58 64
         if [ "$(cd uxn && git rev-parse HEAD)" != "$(cd uxn && git rev-parse origin/main)" ]; then exit; fi
59 65
         ls -l out