osmith has submitted this change. ( 
https://gerrit.osmocom.org/c/osmo-rp2040-firmware/+/40228?usp=email )

Change subject: contrib/jenkins: publish binaries
......................................................................

contrib/jenkins: publish binaries

Publish binaries to:
https://ftp.osmocom.org/binaries/osmo-rp2040-firmware/

Put each target into a separate directory as users are typically
interested in one specific product/board:

  osmo-rp2040-firmware
  ├── iso7816_cardem
  │   ├── all
  │   │   ├── iso7816_cardem-0.1.0-3-g2fda293.elf
  │   │   └── iso7816_cardem-0.1.0-3-g2fda293.uf2
  │   └── latest
  │       ├── iso7816_cardem.elf
  │       └── iso7816_cardem.uf2
  └── osmo-gtm900
      ├── all
      │   ├── osmo-gtm900-0.1.0-3-g2fda293.elf
      │   └── osmo-gtm900-0.1.0-3-g2fda293.uf2
      └── latest
          ├── osmo-gtm900.elf
          └── osmo-gtm900.uf2

Related: OS#6784
Change-Id: Ic22d693bfebc33278033514fa5900866454e499f
---
M contrib/jenkins.sh
1 file changed, 63 insertions(+), 0 deletions(-)

Approvals:
  laforge: Looks good to me, approved
  Jenkins Builder: Verified
  fixeria: Looks good to me, but someone else must approve




diff --git a/contrib/jenkins.sh b/contrib/jenkins.sh
index 7f72e1b..0d9d518 100755
--- a/contrib/jenkins.sh
+++ b/contrib/jenkins.sh
@@ -3,6 +3,10 @@
        iso7816_cardem
        osmo-gtm900
 "
+PUBLISH_EXT="
+       elf
+       uf2
+"

 rm -rf build
 mkdir build
@@ -16,3 +20,62 @@

        make -j$(nproc) "$i"
 done
+
+if [ "$PUBLISH" = 1 ]; then
+       echo
+       echo "=== publishing binaries ==="
+       echo
+
+       SSH_COMMAND="ssh -o UserKnownHostsFile=/osmo-ci/contrib/known_hosts -p 
48"
+
+       VERSION="$(git describe HEAD)"
+       if [ -z "$VERSION" ]; then
+               echo "ERROR: failed to get version from 'git describe HEAD'"
+               exit 1
+       fi
+
+       for target in $TARGETS; do
+               
UPLOAD_PATH="[email protected]:web-files/osmo-rp2040-firmware/$target"
+
+               for dir in all latest; do
+                       $SSH_COMMAND [email protected] -- \
+                               mkdir -p 
"web-files/osmo-rp2040-firmware/$target/$dir"
+               done
+
+               EXISTING_BINARIES="$(rsync \
+                                       --rsh "$SSH_COMMAND" \
+                                       "$UPLOAD_PATH"/all/)"
+
+               for ext in $PUBLISH_EXT; do
+                       BIN_PATH="$(find -name "$target.$ext")"
+                       if [ -z "$BIN_PATH" ]; then
+                               echo "ERROR: failed to find $target.$ext"
+                               exit 1
+                       fi
+
+                       BIN_LATEST="$target-$VERSION.$ext"
+                       if echo "$EXISTING_BINARIES" | grep -q "$BIN_LATEST"; 
then
+                               echo "$BIN_LATEST: exists on server, skipping"
+                               continue
+                       fi
+
+                       echo "$BIN_LATEST: uploading $BIN_PATH"
+
+                       rsync \
+                               --rsh "$SSH_COMMAND" \
+                               -a \
+                               "$BIN_PATH" \
+                               "$UPLOAD_PATH"/latest/"$target.$ext"
+
+                       rsync \
+                               --rsh "$SSH_COMMAND" \
+                               -a \
+                               "$BIN_PATH" \
+                               "$UPLOAD_PATH"/all/"$BIN_LATEST"
+               done
+       done
+fi
+
+echo
+echo "=== success ==="
+echo

--
To view, visit 
https://gerrit.osmocom.org/c/osmo-rp2040-firmware/+/40228?usp=email
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings?usp=email

Gerrit-MessageType: merged
Gerrit-Project: osmo-rp2040-firmware
Gerrit-Branch: master
Gerrit-Change-Id: Ic22d693bfebc33278033514fa5900866454e499f
Gerrit-Change-Number: 40228
Gerrit-PatchSet: 4
Gerrit-Owner: osmith <[email protected]>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <[email protected]>
Gerrit-Reviewer: laforge <[email protected]>
Gerrit-Reviewer: osmith <[email protected]>
Gerrit-Reviewer: pespin <[email protected]>

Reply via email to