Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| b98be33120 | |||
| 69c96777ff | |||
| bcc41bdc06 | |||
| 48eff492b0 | |||
| 47a666f7db |
@@ -7,7 +7,7 @@ on:
|
|||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
name: Build App
|
name: Build App
|
||||||
runs-on: ubuntu-latest
|
runs-on: alpine-linux
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ on:
|
|||||||
jobs:
|
jobs:
|
||||||
git-town:
|
git-town:
|
||||||
name: Display the branch stack
|
name: Display the branch stack
|
||||||
runs-on: ubuntu-slim
|
runs-on: alpine-linux
|
||||||
|
|
||||||
if: ${{ !startsWith(github.head_ref, 'release-please--') }}
|
if: ${{ !startsWith(github.head_ref, 'release-please--') }}
|
||||||
|
|
||||||
|
|||||||
@@ -1,50 +1,13 @@
|
|||||||
name: Release Please
|
name: Build
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches: [main] # updates/opens the release PR when commits land on main
|
branches:
|
||||||
workflow_dispatch:
|
- main
|
||||||
|
|
||||||
permissions:
|
|
||||||
contents: write
|
|
||||||
pull-requests: write
|
|
||||||
id-token: write
|
|
||||||
|
|
||||||
concurrency:
|
|
||||||
group: release-please
|
|
||||||
cancel-in-progress: true
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
release-please:
|
build:
|
||||||
name: Release Please
|
runs-on: alpine-linux
|
||||||
runs-on: ubuntu-latest
|
|
||||||
outputs:
|
|
||||||
release_created: ${{ steps.rp.outputs.release_created }}
|
|
||||||
steps:
|
|
||||||
- id: app-token
|
|
||||||
uses: actions/create-github-app-token@v2
|
|
||||||
with:
|
|
||||||
app-id: ${{ secrets.GH_STOAT_RELEASE_APP_ID }}
|
|
||||||
private-key: ${{ secrets.GH_STOAT_RELEASE_APP_PRIVATE_KEY }}
|
|
||||||
- id: rp
|
|
||||||
uses: googleapis/release-please-action@v4
|
|
||||||
with:
|
|
||||||
token: ${{ steps.app-token.outputs.token }}
|
|
||||||
config-file: release-please-config.json
|
|
||||||
|
|
||||||
publish-release:
|
|
||||||
name: Publish App
|
|
||||||
needs: release-please
|
|
||||||
if: needs.release-please.outputs.release_created == 'true'
|
|
||||||
runs-on: ${{ matrix.os }}
|
|
||||||
|
|
||||||
permissions:
|
|
||||||
contents: write
|
|
||||||
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
os: [ubuntu-latest, windows-latest, macos-latest]
|
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
@@ -69,20 +32,3 @@ jobs:
|
|||||||
- name: Publish
|
- name: Publish
|
||||||
run: |
|
run: |
|
||||||
pnpm run publish
|
pnpm run publish
|
||||||
env:
|
|
||||||
PLATFORM: ${{ matrix.os }}
|
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
|
|
||||||
- name: Publish macOS x64
|
|
||||||
if: matrix.os == 'macos-latest'
|
|
||||||
run: pnpm run publish --arch=x64
|
|
||||||
env:
|
|
||||||
PLATFORM: ${{ matrix.os }}
|
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
|
|
||||||
- name: Publish Linux arm64
|
|
||||||
if: matrix.os == 'ubuntu-latest'
|
|
||||||
run: pnpm run publish --arch=arm64
|
|
||||||
env:
|
|
||||||
PLATFORM: ${{ matrix.os }}
|
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
|
|||||||
@@ -40,87 +40,6 @@ const makers: ForgeConfig["makers"] = [
|
|||||||
new MakerZIP({}),
|
new MakerZIP({}),
|
||||||
];
|
];
|
||||||
|
|
||||||
// skip these makers in CI/CD
|
|
||||||
if (!process.env.PLATFORM) {
|
|
||||||
makers.push(
|
|
||||||
// must be manually built (freezes CI process)
|
|
||||||
// not much use in being published anyhow
|
|
||||||
new MakerAppX({
|
|
||||||
certPass: "",
|
|
||||||
packageExecutable: `app\\${STRINGS.execName}.exe`,
|
|
||||||
publisher: "CN=B040CC7E-0016-4AF5-957F-F8977A6CFA3B",
|
|
||||||
}),
|
|
||||||
// flatpak publishing should occur through flathub repos.
|
|
||||||
// this is just for testing purposes
|
|
||||||
new MakerFlatpak({
|
|
||||||
options: {
|
|
||||||
id: "chat.stoat.stoat-desktop",
|
|
||||||
description: STRINGS.description,
|
|
||||||
productName: STRINGS.name,
|
|
||||||
productDescription: STRINGS.description,
|
|
||||||
runtimeVersion: "25.08",
|
|
||||||
icon: {
|
|
||||||
"16x16": `${ASSET_DIR}/hicolor/16x16.png`,
|
|
||||||
"32x32": `${ASSET_DIR}/hicolor/32x32.png`,
|
|
||||||
"64x64": `${ASSET_DIR}/hicolor/64x64.png`,
|
|
||||||
"128x128": `${ASSET_DIR}/hicolor/128x128.png`,
|
|
||||||
"256x256": `${ASSET_DIR}/hicolor/256x256.png`,
|
|
||||||
"512x512": `${ASSET_DIR}/hicolor/512x512.png`,
|
|
||||||
} as unknown,
|
|
||||||
categories: ["Network"],
|
|
||||||
modules: [
|
|
||||||
// use the latest zypak -- Electron sandboxing for Flatpak
|
|
||||||
{
|
|
||||||
name: "zypak",
|
|
||||||
sources: [
|
|
||||||
{
|
|
||||||
type: "git",
|
|
||||||
url: "https://github.com/refi64/zypak",
|
|
||||||
tag: "v2025.09",
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
],
|
|
||||||
finishArgs: [
|
|
||||||
// default arguments found by running
|
|
||||||
// DEBUG=electron-installer-flatpak* pnpm make
|
|
||||||
"--socket=fallback-x11",
|
|
||||||
"--socket=wayland",
|
|
||||||
"--share=ipc",
|
|
||||||
"--share=network",
|
|
||||||
"--device=dri",
|
|
||||||
"--device=all",
|
|
||||||
"--socket=pulseaudio",
|
|
||||||
"--filesystem=home",
|
|
||||||
"--filesystem=xdg-run/pipewire-0",
|
|
||||||
"--filesystem=xdg-videos:ro",
|
|
||||||
"--filesystem=xdg-pictures:ro",
|
|
||||||
"--filesystem=xdg-run/speech-dispatcher",
|
|
||||||
"--talk-name=org.freedesktop.ScreenSaver",
|
|
||||||
"--talk-name=org.freedesktop.Notifications",
|
|
||||||
"--talk-name=org.kde.StatusNotifierWatcher",
|
|
||||||
"--talk-name=com.canonical.AppMenu.Registrar",
|
|
||||||
"--talk-name=com.canonical.indicator.application",
|
|
||||||
"--talk-name=com.canonical.Unity",
|
|
||||||
"--env=XCURSOR_PATH=/run/host/user-share/icons:/run/host/share/icons",
|
|
||||||
"--env=ELECTRON_TRASH=gio",
|
|
||||||
"--env=TMPDIR=xdg-run/app/chat.stoat.stoat-desktop",
|
|
||||||
],
|
|
||||||
files: [],
|
|
||||||
} as MakerFlatpakOptionsConfig,
|
|
||||||
}),
|
|
||||||
// testing purposes
|
|
||||||
new MakerDeb({
|
|
||||||
options: {
|
|
||||||
productName: STRINGS.name,
|
|
||||||
productDescription: STRINGS.description,
|
|
||||||
categories: ["Network"],
|
|
||||||
icon: `${ASSET_DIR}/icon.png`,
|
|
||||||
},
|
|
||||||
}),
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
const config: ForgeConfig = {
|
const config: ForgeConfig = {
|
||||||
packagerConfig: {
|
packagerConfig: {
|
||||||
asar: true,
|
asar: true,
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ export let mainWindow: BrowserWindow;
|
|||||||
export const BUILD_URL = new URL(
|
export const BUILD_URL = new URL(
|
||||||
app.commandLine.hasSwitch("force-server")
|
app.commandLine.hasSwitch("force-server")
|
||||||
? app.commandLine.getSwitchValue("force-server")
|
? app.commandLine.getSwitchValue("force-server")
|
||||||
: /*MAIN_WINDOW_VITE_DEV_SERVER_URL ??*/ "https://stoat.chat/app",
|
: /*MAIN_WINDOW_VITE_DEV_SERVER_URL ??*/ "https://chat.mistox.net",
|
||||||
);
|
);
|
||||||
|
|
||||||
// internal window state
|
// internal window state
|
||||||
|
|||||||
Reference in New Issue
Block a user