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="binaries@ftp.osmocom.org:web-files/osmo-rp2040-firmware/$target"
+
+ for dir in all latest; do
+ $SSH_COMMAND binaries(a)ftp.osmocom.org -- \
+ 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 <osmith(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>