Compare commits

..
Author SHA1 Message Date
8f4f356746 Merge pull request '(feat): now using the .deb instead of the .AppImage for nixos' (#13) from dev into main
All checks were successful
/ build-web (push) Successful in 3m38s
/ build-desktop (linux) (push) Successful in 9m5s
/ build-mobile (push) Successful in 26m16s
/ release (push) Successful in 55s
Reviewed-on: #13
2026-05-28 15:42:18 +02:00
17 changed files with 6 additions and 139 deletions

View file

@ -1,56 +0,0 @@
on:
workflow_dispatch:
schedule:
- cron: "30 3 * * *"
jobs:
cleanup-workflow-runs:
runs-on: docker
steps:
- name: Install Packages
run: apt-get update && apt-get install -y curl jq
- name: Delete workflow runs older than 14 days
env:
TOKEN: ${{ forgejo.token }}
API: ${{ forgejo.api_url }}
REPO: ${{ forgejo.repository }}
CURRENT_RUN_ID: ${{ forgejo.run_id }}
run: |
set -eu
CUTOFF="$(date -u -d "14 days ago" +"%Y-%m-%dT%H:%M:%SZ")"
PAGE=1
DELETE_IDS=delete-workflow-runs.txt
: > "$DELETE_IDS"
while :; do
curl -fsS \
-H "Authorization: token $TOKEN" \
"$API/repos/$REPO/actions/runs?page=$PAGE&limit=50" \
-o runs.json
COUNT="$(jq '.workflow_runs | length' runs.json)"
test "$COUNT" -gt 0 || break
jq -r \
--arg cutoff "$CUTOFF" \
--arg current "$CURRENT_RUN_ID" \
'.workflow_runs[]
| select((.id | tostring) != $current)
| select(["success", "failure", "cancelled", "skipped", "succeeded", "failed"] | index(.status))
| select(.created < $cutoff)
| .id' runs.json \
>> "$DELETE_IDS"
PAGE="$((PAGE + 1))"
done
while IFS= read -r run_id; do
test -n "$run_id" || continue
echo "Deleting workflow run $run_id"
curl -fsS -X DELETE \
-H "Authorization: token $TOKEN" \
"$API/repos/$REPO/actions/runs/$run_id"
done < "$DELETE_IDS"

View file

@ -232,46 +232,6 @@ jobs:
-F "attachment=@$file"
done
- name: Delete dev releases for prod version
env:
TOKEN: ${{ forgejo.token }}
API: ${{ forgejo.api_url }}
REPO: ${{ forgejo.repository }}
TAG: ${{ steps.version.outputs.tag }}
run: |
set -eu
PAGE=1
PREFIX="$TAG-dev-"
DELETE_RELEASES=delete-dev-releases.tsv
: > "$DELETE_RELEASES"
while :; do
curl -fsS \
-H "Authorization: token $TOKEN" \
"$API/repos/$REPO/releases?page=$PAGE&limit=50&pre-release=true" \
-o releases.json
COUNT="$(jq 'length' releases.json)"
test "$COUNT" -gt 0 || break
jq -r \
--arg prefix "$PREFIX" \
'.[] | select(.prerelease == true) | select(.tag_name | startswith($prefix)) | [.id, .tag_name] | @tsv' releases.json \
>> "$DELETE_RELEASES"
PAGE="$((PAGE + 1))"
done
while IFS="$(printf '\t')" read -r release_id release_tag; do
test -n "$release_id" || continue
echo "Deleting dev release $release_tag"
curl -fsS -X DELETE \
-H "Authorization: token $TOKEN" \
"$API/repos/$REPO/releases/$release_id"
done < "$DELETE_RELEASES"
- name: Update root flake release hash
env:
TAG: ${{ steps.version.outputs.tag }}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

View file

@ -41,7 +41,6 @@
"productName": "Tensamin",
"executableName": "tensamin",
"artifactName": "Tensamin-${version}-${os}-${arch}.${ext}",
"icon": "build/icons/icon.png",
"directories": {
"output": "release"
},
@ -53,15 +52,10 @@
{
"from": "../web/dist",
"to": "web"
},
{
"from": "build/icons/icon.png",
"to": "icons/icon.png"
}
],
"linux": {
"target": ["AppImage", "deb", "rpm"],
"icon": "build/icons",
"executableName": "tensamin",
"category": "Network",
"maintainer": "Methanium",
@ -73,12 +67,10 @@
}
},
"win": {
"target": ["nsis", "portable"],
"icon": "build/icons/icon.ico"
"target": ["nsis", "portable"]
},
"mac": {
"target": ["dmg"],
"icon": "build/icons/icon.icns"
"target": ["dmg"]
},
"publish": null
}

View file

@ -34,12 +34,6 @@ function getRendererIndex() {
return join(process.resourcesPath, "web", "index.html");
}
function getWindowIcon() {
if (process.platform === "darwin") return undefined;
if (app.isPackaged) return join(process.resourcesPath, "icons", "icon.png");
return resolve(__dirname, "../../build/icons/icon.png");
}
function getPlatform(): DesktopScreenShareCapabilities["platform"] {
if (process.platform === "linux") return "linux";
if (process.platform === "darwin") return "macos";
@ -197,7 +191,6 @@ async function createWindow() {
minWidth: 900,
minHeight: 600,
title: "Tensamin",
icon: getWindowIcon(),
frame: false,
autoHideMenuBar: true,
webPreferences: {

View file

@ -22,7 +22,7 @@
"build:mobile:raw": "tauri android build",
"dev:mobile": "if command -v nix >/dev/null 2>&1; then nix develop --command bun dev:mobile:raw; else bun dev:mobile:raw; fi",
"build:mobile": "bun run render-version.ts && if command -v nix >/dev/null 2>&1; then nix develop --command bun build:mobile:raw; else bun build:mobile:raw; fi && bun run render-version.ts --unrender",
"gen-icons": "tauri icon ./logo.json && bun scripts/sync-electron-icons.ts",
"gen-icons": "tauri icon ./logo.json",
"format": "bunx prettier --write .",
"lint": "eslint src"
},

View file

@ -1,19 +0,0 @@
import { copyFile, mkdir } from "node:fs/promises";
import { dirname, join, resolve } from "node:path";
import { fileURLToPath } from "node:url";
const scriptDir = dirname(fileURLToPath(import.meta.url));
const tauriDir = resolve(scriptDir, "..");
const clientDir = resolve(tauriDir, "../..");
const tauriIconsDir = join(tauriDir, "src-tauri", "icons");
const electronIconsDir = join(clientDir, "apps", "electron", "build", "icons");
const desktopIcons = ["32x32.png", "64x64.png", "128x128.png", "128x128@2x.png", "icon.png", "icon.ico", "icon.icns"];
await mkdir(electronIconsDir, { recursive: true });
await Promise.all(
desktopIcons.map((icon) => copyFile(join(tauriIconsDir, icon), join(electronIconsDir, icon))),
);
console.log(`Synced ${desktopIcons.length} desktop icons to ${electronIconsDir}`);

Binary file not shown.

View file

@ -6,8 +6,8 @@
outputs = {nixpkgs, ...}: let
systems = ["x86_64-linux"];
forAllSystems = nixpkgs.lib.genAttrs systems;
version = "0.0.6";
x86_64DebHash = "sha256-rNlyNZFgYVRvJzX1sBz/qLHUdZoyfvHl5xuwb2BtU48=";
version = "0.0.5";
x86_64DebHash = "sha256-flC62rhhKyE/yRoNZRwXVHn/vwxE/Klxzj8uWhItDkY=";
forgejoBaseUrl = "https://git.methanium.net/tensamin/client/releases/download/${version}";
in {
packages = forAllSystems (system: let

View file

@ -1,6 +1,6 @@
{
"name": "tensamin",
"version": "0.0.7",
"version": "0.0.6",
"private": true,
"workspaces": [
"packages/*",

View file

@ -1,3 +0,0 @@
# Information
All dev releases between two prod version get deleted upon creation of the latest prod release.