Install binary with atomic replace
CI / test (push) Successful in 1m7s

This commit is contained in:
2026-06-09 16:00:57 +09:00
parent 921216e0d3
commit edf409bdaa
+9 -2
View File
@@ -6,11 +6,15 @@ BIN_NAME="${OPENSTOCK_BIN_NAME:-openstock}"
ARCHIVE_URL="${OPENSTOCK_ARCHIVE_URL:-https://git.hananakick.cc/Autotrade/openstock/archive/main.tar.gz}" ARCHIVE_URL="${OPENSTOCK_ARCHIVE_URL:-https://git.hananakick.cc/Autotrade/openstock/archive/main.tar.gz}"
SOURCE_DIR="" SOURCE_DIR=""
TMP_DIR="" TMP_DIR=""
TMP_TARGET=""
cleanup() { cleanup() {
if [ -n "$TMP_DIR" ] && [ -d "$TMP_DIR" ]; then if [ -n "$TMP_DIR" ] && [ -d "$TMP_DIR" ]; then
rm -rf "$TMP_DIR" rm -rf "$TMP_DIR"
fi fi
if [ -n "$TMP_TARGET" ] && [ -e "$TMP_TARGET" ]; then
rm -f "$TMP_TARGET"
fi
} }
trap cleanup EXIT trap cleanup EXIT
@@ -53,8 +57,11 @@ mkdir -p "$INSTALL_DIR"
cd "$SOURCE_DIR" cd "$SOURCE_DIR"
cargo build --release cargo build --release
cp "$SOURCE_DIR/target/release/openstock" "$INSTALL_DIR/$BIN_NAME" TMP_TARGET="$INSTALL_DIR/.$BIN_NAME.tmp.$$"
chmod 755 "$INSTALL_DIR/$BIN_NAME" cp "$SOURCE_DIR/target/release/openstock" "$TMP_TARGET"
chmod 755 "$TMP_TARGET"
mv -f "$TMP_TARGET" "$INSTALL_DIR/$BIN_NAME"
TMP_TARGET=""
echo "installed: $INSTALL_DIR/$BIN_NAME" echo "installed: $INSTALL_DIR/$BIN_NAME"
echo "config: ${OPENSTOCK_CONFIG_DIR:-$HOME/.config/openstock}" echo "config: ${OPENSTOCK_CONFIG_DIR:-$HOME/.config/openstock}"