diff --git a/.gitea/workflows/publish.yml b/.gitea/workflows/publish.yml new file mode 100644 index 0000000..99bb39c --- /dev/null +++ b/.gitea/workflows/publish.yml @@ -0,0 +1,55 @@ +# Build + publication de l'auto-update du launcher, déclenchée MANUELLEMENT +# depuis l'UI Gitea (onglet Actions → ce workflow → "Run workflow"). +# +# Pré-requis côté instance Gitea : +# - Gitea Actions activé + un act_runner enregistré avec le label utilisé dans +# `runs-on` (ici "ubuntu-latest" ; adapte si ton runner a un autre label). +# - Le token auto `${{ secrets.GITEA_TOKEN }}` suffit s'il a le droit d'écrire +# les releases du repo. Sinon, crée un secret repo GITEA_TOKEN (write:repository). +# +# Le build Windows (NSIS) se fait sous Linux via Wine (image electronuserland/builder). +name: publish + +on: + workflow_dispatch: + inputs: + bump: + description: "Incrément de version avant build" + type: choice + required: true + default: none + options: [none, patch, minor, major] + +jobs: + publish-win: + runs-on: ubuntu-latest + container: + image: electronuserland/builder:20-wine + steps: + - name: Checkout + uses: actions/checkout@v6 + + - name: Install deps + run: npm ci + + - name: Bump version + if: ${{ inputs.bump != 'none' }} + # Réutilise les identifiants persistés par actions/checkout (push sur origin). + # Nécessite que la branche ne soit pas protégée et que le token ait l'écriture. + run: | + git config user.name "gitea-actions" + git config user.email "actions@ldpt.fr" + npm version "${{ inputs.bump }}" -m "ci: release v%s" + git push origin HEAD:"${{ github.ref_name }}" --follow-tags + + - name: Build Windows installer + run: npm run build:win + + - name: Publish to Gitea release + run: node scripts/publish-gitea.mjs + env: + GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }} + GITEA_URL: ${{ github.server_url }} + GITEA_OWNER: ${{ github.repository_owner }} + GITEA_REPO: ${{ github.event.repository.name }} + GITEA_TAG: latest