Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 5214d042af | |||
| 073f0b2349 |
@@ -21,7 +21,7 @@ on:
|
||||
options: [none, patch, minor, major]
|
||||
|
||||
jobs:
|
||||
publish-win:
|
||||
publish:
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: electronuserland/builder:20-wine
|
||||
@@ -45,6 +45,9 @@ jobs:
|
||||
- name: Build Windows installer
|
||||
run: npm run build:win
|
||||
|
||||
- name: Build Linux installers
|
||||
run: npm run build:linux
|
||||
|
||||
- name: Publish to Gitea release
|
||||
run: node scripts/publish-gitea.mjs
|
||||
env:
|
||||
|
||||
@@ -113,21 +113,24 @@ Publier une nouvelle version :
|
||||
```bash
|
||||
npm version patch # bump 0.1.0 -> 0.1.1 (la version EST la source de vérité)
|
||||
export GITEA_TOKEN=xxxxx # token Gitea (scope write:repository)
|
||||
npm run publish:win # build l'installeur + upload latest.yml/installeur/.blockmap
|
||||
npm run publish # build Windows + Linux puis upload de tous les artefacts
|
||||
```
|
||||
|
||||
`scripts/publish-gitea.mjs` crée la release `latest` si besoin, supprime les
|
||||
anciens assets puis uploade les nouveaux. URL/owner/repo/tag sont surchargeables
|
||||
via les variables `GITEA_URL` / `GITEA_OWNER` / `GITEA_REPO` / `GITEA_TAG`.
|
||||
`scripts/publish-gitea.mjs` crée la release `latest` si besoin, supprime **tous**
|
||||
les anciens assets puis uploade les nouveaux (Windows + Linux). C'est pourquoi on
|
||||
build les deux plateformes avant de publier (`build:all`) : une publication ne
|
||||
contenant qu'une plateforme effacerait l'autre. URL/owner/repo/tag sont
|
||||
surchargeables via `GITEA_URL` / `GITEA_OWNER` / `GITEA_REPO` / `GITEA_TAG`.
|
||||
|
||||
**Publier via Gitea Actions (CI, déclenchement manuel)** — au lieu de builder en
|
||||
local, tu peux lancer le workflow `.gitea/workflows/publish.yml` depuis l'onglet
|
||||
*Actions* du repo (bouton « Run workflow »). Il build l'installeur Windows sous
|
||||
Linux via Wine (image `electronuserland/builder`) puis publie sur la release
|
||||
*Actions* du repo (bouton « Run workflow »). Sur un runner Linux (image
|
||||
`electronuserland/builder`), il build l'**installeur Windows** (NSIS, via Wine) et
|
||||
les **paquets Linux** (AppImage + .deb), puis publie le tout sur la release
|
||||
`latest`. Optionnellement, l'input `bump` (patch/minor/major) incrémente la
|
||||
version et pousse le commit avant le build. Pré-requis : Gitea Actions activé +
|
||||
un act_runner enregistré (label `ubuntu-latest`, à adapter) ; le token auto
|
||||
`secrets.GITEA_TOKEN` suffit s'il a le droit d'écrire les releases.
|
||||
un act_runner enregistré (label `ubuntu-latest`, à adapter) ; un secret repo
|
||||
`RELEASE_TOKEN` (scope `write:repository`) pour publier la release.
|
||||
|
||||
> Tester le flux en dev : `dev-app-update.yml` (déjà présent) pointe sur la même
|
||||
> URL ; avec une version distante > version locale, le bandeau de maj apparaît
|
||||
|
||||
Generated
+2
-2
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "oflauncher",
|
||||
"version": "1.0.0",
|
||||
"version": "1.1.0",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "oflauncher",
|
||||
"version": "1.0.0",
|
||||
"version": "1.1.0",
|
||||
"hasInstallScript": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
|
||||
+4
-2
@@ -1,10 +1,11 @@
|
||||
{
|
||||
"name": "oflauncher",
|
||||
"version": "1.0.0",
|
||||
"version": "1.1.0",
|
||||
"description": "Launcher Minecraft custom pour le modpack ATM10 (1.21.1 / NeoForge)",
|
||||
"main": "./out/main/index.js",
|
||||
"author": "OFLauncher",
|
||||
"license": "MIT",
|
||||
"homepage": "https://gitea.ldpt.fr/zertus/OFLauncher",
|
||||
"scripts": {
|
||||
"dev": "electron-vite dev",
|
||||
"build": "electron-vite build",
|
||||
@@ -14,7 +15,8 @@
|
||||
"start": "electron-vite preview",
|
||||
"build:win": "npm run build && electron-builder --win --config electron-builder.yml",
|
||||
"build:linux": "npm run build && electron-builder --linux --config electron-builder.yml",
|
||||
"publish:win": "npm run build:win && node scripts/publish-gitea.mjs",
|
||||
"build:all": "npm run build && electron-builder --win --linux --config electron-builder.yml",
|
||||
"publish": "npm run build:all && node scripts/publish-gitea.mjs",
|
||||
"postinstall": "electron-builder install-app-deps"
|
||||
},
|
||||
"dependencies": {
|
||||
|
||||
@@ -31,12 +31,22 @@ if (!TOKEN) {
|
||||
process.exit(1)
|
||||
}
|
||||
|
||||
/** Fichiers de dist/ à publier pour l'auto-update Windows. */
|
||||
/**
|
||||
* Fichiers de dist/ à publier pour l'auto-update.
|
||||
* - Windows : latest.yml + l'installeur NSIS (+ .blockmap)
|
||||
* - Linux : latest-linux.yml + l'AppImage (+ .blockmap) ; le .deb est publié
|
||||
* pour téléchargement manuel (electron-updater ne l'utilise pas).
|
||||
* electron-updater choisit le bon latest*.yml selon la plateforme.
|
||||
*/
|
||||
function isUpdateArtifact(name) {
|
||||
return (
|
||||
name === 'latest.yml' ||
|
||||
name === 'latest-linux.yml' ||
|
||||
name.endsWith('-setup.exe') ||
|
||||
name.endsWith('-setup.exe.blockmap')
|
||||
name.endsWith('-setup.exe.blockmap') ||
|
||||
name.endsWith('.AppImage') ||
|
||||
name.endsWith('.AppImage.blockmap') ||
|
||||
name.endsWith('.deb')
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user