Commit Graph

16 Commits

Author SHA1 Message Date
LucaZanni 0f7688ac5e chore(ci): aggiorna action versions, fix auto-release e migrazione self-hosted
- Aggiorna checkout v4→v6, setup-python v5→v5.2.0, setup-android v3→v4
- Aggiorna upload-artifact v3→v4, docker/login-action v3→v4
- Aggiunge needs su auto-release in tutti gli esempi (fix esecuzione parallela)
- Aggiunge token esplicito nel checkout come workaround bug Gitea #31900
- Aggiunge job dependency-outdated mancante in libreria-npm/maintenance.yml
- Aggiorna schedule: libreria-npm mercoledì 02:00, microservizio lunedì 02:00
- Migra tutti i riferimenti da gitea.com/Punga78 a gitea.pzetatouch.it/devops

Fixes #1 @3h
2026-06-06 13:21:01 +02:00
LucaZanni 54c74d9c6a feat(ci): aggiungi label OCI per collegare container al repository Gitea
- Aggiunto org.opencontainers.image.source con URL del repository
- Aggiunto org.opencontainers.image.revision con SHA del commit
- Aggiunto org.opencontainers.image.version con versione del pacchetto
- Applicato a docker-release.yml e python-docker-release.yml

@25m
2026-04-11 18:53:05 +02:00
LucaZanni 86a0cd416f 🐛 fix(ci): correggi passaggio NPM_TOKEN come Docker secret e runs-on workaround
- Sostituisce build-args con secrets in docker-release.yml per compatibilità
  con Dockerfile che usa --mount=type=secret,id=npm_token
- Aggiunge runs-on: catthehacker-latest negli esempi (workaround Gitea bug #34986)
2026-04-09 19:54:25 +02:00
LucaZanni c16b182607 📦 build(ci): aggiungi workflow CI, release e manutenzione python
- aggiunto esempio workflow CI per python con quality gates
- aggiunto esempio workflow manutenzione con branch cleanup, audit sicurezza e check pacchetti obsoleti
- aggiunto esempio workflow release per build docker e auto-release gitea

📦 build(shared-actions): aggiungi shared-actions python per CI/CD

- aggiunto python-quality-gates.yml per lint, format, type check e test
- aggiunto python-auto-release.yml per changelog e rilascio automatico
- aggiunto python-docker-release.yml per build e push immagini docker
- aggiunto python-dependency-check.yml per audit sicurezza dipendenze
- aggiunto python-dependency-outdated.yml per verifica pacchetti obsoleti
2026-04-08 17:03:29 +02:00
LucaZanni edb33df3b8 feat(workflows): aggiungi check pacchetti obsoleti e migliora audit sicurezza
- aggiungi workflow separato per controllo dipendenze obsolete
- aggiorna maintenance.yml per distinguere tra audit sicurezza e check obsolete
- aggiorna nomi e struttura dei job per maggiore chiarezza
- carica artifact Android con nome versione dinamico
- separa issue sicurezza da quelle di pacchetti obsoleti in CI
- migliora trigger per job di manutenzione periodica【workflows】
2026-04-07 11:59:30 +02:00
LucaZanni eac0873d9a 🐛 fix(ci): usa upload-artifact da GitHub per compatibilità Gitea
- gitea.com/actions/upload-artifact@v3 usa @actions/artifact v2.0.0+ non compatibile con GHES/Gitea
- github.com/actions/upload-artifact@v3 usa @actions/artifact v1.x compatibile

Fixes #6 @15m
2026-04-03 17:17:07 +02:00
LucaZanni bada0f51fc 🐛 fix(ci): correggi upload artifact APK e aggiungi build reports
- aggiungi fallback `|| 'debug'` nel path upload APK per evitare doppio slash quando build-type è vuoto
- aggiungi step upload Gradle build reports (problems-report.html) con if-no-files-found: ignore
- aggiorna default java-version a 21

Fixes #6 @30m
2026-04-03 17:05:34 +02:00
LucaZanni 2b28d8b721 🐛 fix(ci): downgrade upload-artifact da v4 a v3 per compatibilità Gitea
- upload-artifact@v4 usa @actions/artifact v2.0.0+ che richiede API GitHub.com
- Gitea/GHES non supporta questa versione, causando errore GHESNotSupportedError

Fixes #4 @25m
2026-04-03 13:26:23 +02:00
LucaZanni ea0f8638f7 🐛 fix(ci): aggiungi step cap add android prima di sync
- Aggiunto step idempotente `npx cap add android || true` prima di `npx cap sync android`
- Risolve il fallimento quando la directory android/ non è nel repository del consumer
- Il comando è sicuro: se android/ esiste già, emette solo un warning

refs #0 @25m
2026-04-03 11:02:38 +02:00
LucaZanni b184b503c3 🔧 chore(workflows): rimuovi workflow release non più necessario
- elimina il file release.yml perché non più utilizzato nel flusso di lavoro

🔧 chore(ci): aggiorna trigger workflow CI
- aggiungi supporto per pull request su main
- ignora file markdown e cartella docs nei trigger
- migliora gestione delle branch monitorate
2026-03-26 14:58:27 +01:00
LucaZanni b864af4bb2 🎉 feat(ci): aggiungi versionamento semantico per shared-actions
- Aggiunto package.json con versione 1.0.0
- Nuovo workflow release.yml standalone: crea release Gitea su tag v*
- Aggiornamento automatico tag major floating (v1 → latest v1.x.x)
- Esempi aggiornati da @main a @v1 (tag major stabile)

Flusso di release:
  git tag v1.0.0 && git push origin v1.0.0
  → crea release Gitea con changelog
  → aggiorna tag floating v1
2026-03-26 14:41:36 +01:00
LucaZanni 89555ae07e 🎉 feat(ci): aggiungi pipeline Capacitor Android riutilizzabile
- Nuovo workflow capacitor-android.yml con build debug e release
- Input configurabili: runner, node-version, java-version, build-type, output-format
- Supporto APK (sideload/test) e AAB (Play Store) via output-format
- Firma release tramite keystore in base64 (secret)
- Setup google-services.json opzionale per Firebase
- Cache npm + Gradle per performance
- Upload artifact automatico (retention 14 giorni)
- Esempi consumer: ci.yml, release.yml, maintenance.yml
2026-03-26 11:22:35 +01:00
LucaZanni 218ca83525 ♻️ refactor(ci): rendi runner configurabile in docker-release
- Aggiunto input 'runner' con default 'catthehacker-latest'
- Permette ai consumer di specificare un runner diverso
- Aggiornato esempio microservizio con runner esplicito
2026-03-26 07:17:44 +01:00
LucaZanni 02f61125ef 🐛 fix(ci): normalizza nome immagine Docker rimuovendo scope npm
- I package con scope npm (@pzeta/nome) generano tag Docker invalidi
- Aggiunto sed per strippare '@scope/' prima di costruire il tag
- Risultato: gitea.pzetatouch.it/pzeta_touch/telegram-file-bot:1.0.1
2026-03-26 07:12:29 +01:00
LucaZanni f1305498c1 🐛 fix(ci): correggi URL istanza, token e struttura YAML nei workflow condivisi
- Sostituito URL hardcoded con ${{ gitea.server_url }} (portabilità)
- Sostituito ${{ secrets.GITEA_TOKEN }} con ${{ gitea.token }} (token automatico)
- Aggiunto env SERVER_URL/REPOSITORY per evitare espressioni inline nei curl
- Fix dependency-check: rimosso BODY multi-riga (bug YAML run:|) → printf + /tmp/body.md
- Fix auto-release: changelog su /tmp/changelog.txt (evita collisione workspace)
- Fix branch-cleanup: encoding branch via variabile (sicurezza shell)
2026-03-26 07:01:34 +01:00
LucaZanni 8b292ae35d 🎉 feat(ci): setup Gitea Actions riutilizzabili cross-repo
- Aggiunti 6 workflow condivisi in .gitea/workflows/ con trigger workflow_call
- Implementati: quality-gates, npm-publish, docker-release, auto-release, dependency-check, branch-cleanup
- Aggiunti esempi consumer per microservizio e libreria-npm (ci, release, maintenance)
- Allineato npm run lint:check su tutti i workflow
- Corretti GITEA_TOKEN, gitea.* context, GITHUB_REF/GITHUB_OUTPUT per compatibilità Gitea
- Rimosso needs: tra job reusable (Gitea bug #31900), path uses: con .gitea/workflows/

Fixes #1 @1d
2026-03-24 17:04:22 +01:00