diff --git a/CHANGELOG.md b/CHANGELOG.md
index 8d5bd36..cfbbc19 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,11 +1,9 @@
-# Changelog
+## 0.0.2-alpha.11 (2025-07-12)
-## [0.0.2-alpha.12](https://git.tuffraid.net/cowch/logistics_support_tool/compare/v0.0.2-alpha.11...v0.0.2-alpha.12) (2025-07-12)
+* chore(release): v0.0.2-alpha.11 ([6c7f178](https://git.tuffraid.net/cowch/logistics_support_tool/commits/6c7f178))
+* fix(release): var not defined ([a282940](https://git.tuffraid.net/cowch/logistics_support_tool/commits/a282940))
-### Bug Fixes
-* **release:** change to get the release to build then release stuff ([afab215](https://git.tuffraid.net/cowch/logistics_support_tool/commit/afab215a9e29732d8236c45c4a8417c9b1e02b1e))
-* **release:** removed the intial before bump ([cf24847](https://git.tuffraid.net/cowch/logistics_support_tool/commit/cf2484705a65d065ec75690e21bf6e8f2e32a0f5))
## 0.0.2-alpha.10 (2025-07-12)
@@ -125,3 +123,6 @@
* feat(starter): intial starter release ([b370cb1](https://git.tuffraid.net/cowch/logistics_support_tool/commits/b370cb1))
* Initial commit ([e4d3fc9](https://git.tuffraid.net/cowch/logistics_support_tool/commits/e4d3fc9))
* Update README.md ([e081c8f](https://git.tuffraid.net/cowch/logistics_support_tool/commits/e081c8f))
+
+
+
diff --git a/scripts/create-gitea-release.js b/scripts/create-gitea-release.js
index 7971ab1..ca10351 100644
--- a/scripts/create-gitea-release.js
+++ b/scripts/create-gitea-release.js
@@ -58,6 +58,93 @@ if (!GITEA_URL || !GITEA_USERNAME || !GITEA_REPO || !GITEA_TOKEN) {
process.exit(1);
}
+const createOrUpdateRelease = async () => {
+ const tagName = `v${version}`;
+ const apiBase = `https://${GITEA_URL}/api/v1/repos/${GITEA_USERNAME}/${GITEA_REPO}`;
+
+ // Check if release exists
+ const existing = await fetch(`${apiBase}/releases/tags/${tagName}`, {
+ headers: { Authorization: `token ${GITEA_TOKEN}` },
+ });
+
+ let release;
+ if (existing.ok) {
+ const existingRelease = await existing.json();
+ console.log(`Release ${tagName} already exists. Updating it.`);
+
+ // Update existing release
+ const updateResponse = await fetch(
+ `${apiBase}/releases/${existingRelease.id}`,
+ {
+ method: "PATCH",
+ headers: {
+ Authorization: `token ${GITEA_TOKEN}`,
+ "Content-Type": "application/json",
+ },
+ body: JSON.stringify({
+ name: tagName,
+ body: releaseNotes,
+ draft: false,
+ prerelease: true,
+ }),
+ }
+ );
+
+ if (!updateResponse.ok) {
+ const errorText = await updateResponse.text();
+ throw new Error(
+ `Failed to update release: ${updateResponse.status} - ${errorText}`
+ );
+ }
+
+ release = await updateResponse.json();
+ console.log("Release updated:", release.html_url || release.url);
+ } else if (existing.status === 404) {
+ // Release doesn't exist — create it
+ const createResponse = await fetch(`${apiBase}/releases`, {
+ method: "POST",
+ headers: {
+ Authorization: `token ${GITEA_TOKEN}`,
+ "Content-Type": "application/json",
+ },
+ body: JSON.stringify({
+ tag_name: tagName,
+ name: tagName,
+ body: releaseNotes,
+ draft: false,
+ prerelease: true,
+ }),
+ });
+
+ if (!createResponse.ok) {
+ const errorText = await createResponse.text();
+ throw new Error(
+ `Failed to create release: ${createResponse.status} - ${errorText}`
+ );
+ }
+
+ release = await createResponse.json();
+ console.log("Release created:", release.html_url || release.url);
+ } else {
+ const errorText = await existing.text();
+ throw new Error(
+ `Failed to check release: ${existing.status} - ${errorText}`
+ );
+ }
+
+ return release;
+};
+
+const release = await createOrUpdateRelease();
+
+if (release) {
+ console.log(
+ `Release with tag ${tagName} already exists. Updating release...`
+ );
+ // Optionally update release body or assets here instead of creating a new release
+ return release;
+}
+
// 1) Generate or update CHANGELOG.md using conventional-changelog CLI
console.log("Generating CHANGELOG.md...");
const result = spawnSync(