Compare commits
20
Commits
57d40097c4
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
222a302196 | ||
|
|
a644435056 | ||
|
|
94420fb633 | ||
|
|
76b5dd1a03 | ||
|
|
b77da0a84f | ||
|
|
2578eab2e5 | ||
|
|
14b94de407 | ||
|
|
d818d6c38c | ||
|
|
275c42df3e | ||
|
|
e238a68beb | ||
|
|
fe9515a2aa | ||
|
|
847ac60731 | ||
|
|
ff3e5c4916 | ||
|
|
1858adfe13 | ||
|
|
518801e40b | ||
|
|
d423c98407 | ||
|
|
de176bf985 | ||
|
|
58b788ac80 | ||
|
|
63c676e647 | ||
|
|
db44771f0b |
@@ -1,20 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
[ ! -d /var/src/teatrader ] && \
|
|
||||||
cd /var/src && \
|
|
||||||
git clone git@git.engler-labs.root64.de:fabous005/teatrader.git && \
|
|
||||||
return 1;
|
|
||||||
cd /var/src/teatrader
|
|
||||||
|
|
||||||
git pull
|
|
||||||
|
|
||||||
cargo build --release
|
|
||||||
|
|
||||||
rsync -av ./static ./templates ./.env /var/lib/teatrader-edge/
|
|
||||||
cp ./target/release/teatrade /var/lib/teatrader-edge/teatrade-edge
|
|
||||||
|
|
||||||
killall teatrade-edge
|
|
||||||
|
|
||||||
cd /var/lib/teatrader-edge/
|
|
||||||
|
|
||||||
exec teatrade-edge
|
|
||||||
@@ -1,23 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
[ ! -d /var/src/teatrader ] && \
|
|
||||||
cd /var/src && \
|
|
||||||
git clone git@git.engler-labs.root64.de:fabous005/teatrader.git && \
|
|
||||||
return 1;
|
|
||||||
cd /var/src/teatrader
|
|
||||||
|
|
||||||
tag=$(curl -s $GITEA/api/v1/repos/$OWNER/$REPO/releases/latest \
|
|
||||||
| jq -r .tag_name)
|
|
||||||
|
|
||||||
git checkout "$tag"
|
|
||||||
|
|
||||||
cargo build --release
|
|
||||||
|
|
||||||
rsync -av ./static ./templates ./.env /var/lib/teatrader-stable/
|
|
||||||
cp ./target/release/teatrade /var/lib/teatrader-stable/teatrade-stable
|
|
||||||
|
|
||||||
killall teatrade-stable
|
|
||||||
|
|
||||||
cd /var/lib/teatrader-stable/
|
|
||||||
|
|
||||||
exec teatrade-stable
|
|
||||||
Executable
+31
@@ -0,0 +1,31 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
[ ! -d /var/src/teatrader ] && \
|
||||||
|
cd /var/src && \
|
||||||
|
git clone git@git.engler-labs.root64.de:fabolous005/teatrader.git && \
|
||||||
|
return 1;
|
||||||
|
cd /var/src/teatrader
|
||||||
|
mkdir /var/lib/teatrader-edge
|
||||||
|
mkdir /tmp/teatrader/
|
||||||
|
|
||||||
|
cp ./sql/teatrader.sql /tmp/teatrader/teatrader.sql
|
||||||
|
|
||||||
|
git checkout main
|
||||||
|
git pull
|
||||||
|
|
||||||
|
if ! diff -q /tmp/teatrader/teatrader.sql ./sql/teatrader.sql >/dev/null; then
|
||||||
|
./renew_sql.sh
|
||||||
|
fi
|
||||||
|
|
||||||
|
cargo build --release
|
||||||
|
|
||||||
|
rsync -av --delete ./Rocket.toml ./static ./templates ./.env /var/lib/teatrader-edge/
|
||||||
|
|
||||||
|
killall -s 9 teatrader-edge
|
||||||
|
cp ./target/release/teatrader /var/lib/teatrader-edge/teatrader-edge
|
||||||
|
|
||||||
|
cd /var/lib/teatrader-edge/
|
||||||
|
|
||||||
|
ROCKET_PROFILE=edge ./teatrader-edge &
|
||||||
|
|
||||||
|
exit 0
|
||||||
Executable
+35
@@ -0,0 +1,35 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
[ ! -d /var/src/teatrader ] && \
|
||||||
|
cd /var/src && \
|
||||||
|
git clone git@git.engler-labs.root64.de:fabolous005/teatrader.git && \
|
||||||
|
return 1;
|
||||||
|
cd /var/src/teatrader
|
||||||
|
mkdir /var/lib/teatrader-testing
|
||||||
|
mkdir /tmp/teatrader/
|
||||||
|
|
||||||
|
cp ./teatrader.sql /tmp/teatrader/teatrader.sql
|
||||||
|
|
||||||
|
|
||||||
|
tag=$(curl -s -H "Authorization: token $(cat ~/.webbump-secret)" \
|
||||||
|
https://git.engler-labs.root64.de/api/v1/repos/fabolous005/teatrader/releases/latest |\
|
||||||
|
jq -r .tag_name)
|
||||||
|
|
||||||
|
git checkout "$tag"
|
||||||
|
|
||||||
|
if ! diff -q /tmp/teatrader/teatrader.sql ./teatrader.sql >/dev/null; then
|
||||||
|
./renew_sql.sh
|
||||||
|
fi
|
||||||
|
|
||||||
|
cargo build --release
|
||||||
|
|
||||||
|
rsync -av --delete ./Rocket.toml ./static ./templates ./.env /var/lib/teatrader-testing/
|
||||||
|
|
||||||
|
killall -s 9 teatrader-testing
|
||||||
|
cp ./target/release/teatrader /var/lib/teatrader-testing/teatrader-testing
|
||||||
|
|
||||||
|
cd /var/lib/teatrader-testing/
|
||||||
|
|
||||||
|
ROCKET_PROFILE=testing ./teatrader-testing &
|
||||||
|
|
||||||
|
exit 0
|
||||||
@@ -42,22 +42,26 @@ def gitea_webhook():
|
|||||||
elif event_type == "release":
|
elif event_type == "release":
|
||||||
version = data.get("release", {}).get("tag_name")
|
version = data.get("release", {}).get("tag_name")
|
||||||
if not version:
|
if not version:
|
||||||
|
logger.error("Release version not found")
|
||||||
return jsonify({"error": "Release version not found"}), 400
|
return jsonify({"error": "Release version not found"}), 400
|
||||||
args = [version]
|
args = [version]
|
||||||
else:
|
else:
|
||||||
|
logger.warn("Ignored event type: " + event_type)
|
||||||
return jsonify({"message": f"Ignored event type: {event_type}"}), 200
|
return jsonify({"message": f"Ignored event type: {event_type}"}), 200
|
||||||
|
|
||||||
script_path = os.path.join(WEBBUMP_DIR, repo_name, event_type)
|
script_path = os.path.join(WEBBUMP_DIR, repo_name, event_type)
|
||||||
if not os.path.isfile(script_path) or not os.access(script_path, os.X_OK):
|
if not os.path.isfile(script_path) or not os.access(script_path, os.X_OK):
|
||||||
return jsonify({"message": f"No scripts executed for event: {event_type}"}), 200
|
logger.warn("No scripts executed for " + repo_name + " " + event_type)
|
||||||
|
return jsonify({"message": "No scripts executed for " + repo_name + " " + event_type}), 200
|
||||||
|
|
||||||
# Run the script
|
# Run the script
|
||||||
try:
|
try:
|
||||||
subprocess.run([script_path, *args], check=True)
|
subprocess.run([script_path, *args], check=True)
|
||||||
except subprocess.CalledProcessError as e:
|
except subprocess.CalledProcessError as e:
|
||||||
logger.error(repo_name + " " + script_name + " script failed with exit code: " + e)
|
logger.error(f"{repo_name} {event_type} script failed with exit code: {e}")
|
||||||
return jsonify({"error": f"Script failed: {e}"}), 500
|
return jsonify({"error": f"Script failed: {e}"}), 500
|
||||||
|
|
||||||
|
logger.info("Script executed successfully")
|
||||||
return jsonify({"message": f"Executed {script_path}"}), 200
|
return jsonify({"message": f"Executed {script_path}"}), 200
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user