feat(ci): aggiungi varianti -github dei reusable e fix audit Python

- crea gemelli X-github.yml per ogni reusable con action da github.com (fallback mirror gitea.com)
- python-dependency-check/outdated: audit in venv isolata (fix falsi positivi da runner ML)
- python-dependency-check/outdated: deduplica issue (commento invece di nuova issue)
- examples: aggiungi ci-github.yml e release-github.yml in tutte le cartelle

Fixes #3 @3h
This commit is contained in:
LucaZanni
2026-07-06 19:53:01 +02:00
parent e5411d9d2d
commit f0896d775d
24 changed files with 1410 additions and 28 deletions
+30
View File
@@ -0,0 +1,30 @@
# Copia in: .gitea/workflows/ci.yml
# Trigger: push su qualsiasi branch → quality gates + build debug Android
#
# Il debug APK viene uplodato come artifact scaricabile dalla PR.
# Non richiede firma: usato per test interni su device fisico o emulatore.
name: CI
on:
push:
branches:
- main
paths-ignore:
- '**.md'
- 'docs/**'
pull_request:
branches:
- main
jobs:
quality-gates:
uses: https://gitea.pzetatouch.it/devops/shared-actions/.gitea/workflows/quality-gates-github.yml@v1
secrets: inherit
android-debug:
uses: https://gitea.pzetatouch.it/devops/shared-actions/.gitea/workflows/capacitor-android-github.yml@v1
secrets: inherit
with:
build-type: debug
output-format: apk
+49
View File
@@ -0,0 +1,49 @@
# Copia in: .gitea/workflows/release.yml
# Trigger: git tag v* → APK firmato + AAB Play Store + release Gitea
#
# Secrets richiesti nel repository consumer:
# KEYSTORE_BASE64 — keystore codificato in base64
# KEYSTORE_PASSWORD — password del keystore
# KEY_ALIAS — alias della chiave
# KEY_PASSWORD — password della chiave
# GOOGLE_SERVICES_JSON — contenuto del file google-services.json (se Firebase)
#
# Prerequisito build.gradle (android/app/build.gradle):
# signingConfigs {
# release {
# storeFile file("keystore.jks")
# storePassword System.getenv("KEYSTORE_PASSWORD")
# keyAlias System.getenv("KEY_ALIAS")
# keyPassword System.getenv("KEY_PASSWORD")
# }
# }
#
# NOTA: gitea-release attende entrambe le build Android via needs.
# Workaround Gitea bug #31900: token esplicito nel checkout di auto-release.yml.
name: Release
on:
push:
tags:
- 'v*'
jobs:
android-apk:
uses: https://gitea.pzetatouch.it/devops/shared-actions/.gitea/workflows/capacitor-android-github.yml@v1
secrets: inherit
with:
build-type: release
output-format: apk
android-aab:
uses: https://gitea.pzetatouch.it/devops/shared-actions/.gitea/workflows/capacitor-android-github.yml@v1
secrets: inherit
with:
build-type: release
output-format: aab
gitea-release:
needs: [android-apk, android-aab]
uses: https://gitea.pzetatouch.it/devops/shared-actions/.gitea/workflows/auto-release-github.yml@v1
secrets: inherit
+26
View File
@@ -0,0 +1,26 @@
# Copia in: .gitea/workflows/ci.yml
# Usato da: siti documentazione Nuxt 4 con SSR e Docker
#
# Prerequisiti:
# - package.json con script: lint:check, typecheck, format:check, build, test
# - Secrets: NPM_TOKEN (accesso registry @pzeta privato)
name: CI
on:
push:
branches:
- main
paths-ignore:
- '**.md'
- 'content/**'
pull_request:
branches:
- main
jobs:
quality-gates:
uses: https://gitea.pzetatouch.it/devops/shared-actions/.gitea/workflows/quality-gates-github.yml@v1
secrets: inherit
with:
npm-version: '11' # lockfile generato con npm@11, runner usa npm@10 di default
@@ -0,0 +1,30 @@
# Copia in: .gitea/workflows/release.yml
# Trigger: git tag v* → build Docker + crea release Gitea
#
# NOTA: auto-release attende docker-release via needs.
# Workaround Gitea bug #31900: token esplicito nel checkout di auto-release.yml.
#
# Secrets richiesti nel repository consumer:
# NPM_TOKEN — accesso registry @pzeta (npm install + Docker secret)
# G_USER — username Docker registry Gitea
name: Release
on:
push:
tags:
- 'v*'
jobs:
docker-release:
runs-on: catthehacker-latest # workaround Gitea bug #34986: runs-on non rispettato in workflow_call
uses: https://gitea.pzetatouch.it/devops/shared-actions/.gitea/workflows/docker-release-github.yml@v1
secrets: inherit
with:
runner: catthehacker-latest # runner con Docker pre-installato
npm-version: '11' # lockfile generato con npm@11, runner usa npm@10 di default
auto-release:
needs: [docker-release]
uses: https://gitea.pzetatouch.it/devops/shared-actions/.gitea/workflows/auto-release-github.yml@v1
secrets: inherit
+20
View File
@@ -0,0 +1,20 @@
# Copia in: .gitea/workflows/ci.yml
# Usato da: librerie npm pubblicate su registry @pzeta
name: CI
on:
push:
branches:
- main
paths-ignore:
- '**.md'
- 'docs/**'
pull_request:
branches:
- main
jobs:
quality-gates:
uses: https://gitea.pzetatouch.it/devops/shared-actions/.gitea/workflows/quality-gates-github.yml@v1
secrets: inherit
+22
View File
@@ -0,0 +1,22 @@
# Copia in: .gitea/workflows/release.yml
# Trigger: git tag v* → pubblica su npm + crea release Gitea
#
# NOTA: auto-release attende npm-publish via needs.
# Workaround Gitea bug #31900: token esplicito nel checkout di auto-release.yml.
name: Release
on:
push:
tags:
- 'v*'
jobs:
npm-publish:
uses: https://gitea.pzetatouch.it/devops/shared-actions/.gitea/workflows/npm-publish-github.yml@v1
secrets: inherit
auto-release:
needs: [npm-publish]
uses: https://gitea.pzetatouch.it/devops/shared-actions/.gitea/workflows/auto-release-github.yml@v1
secrets: inherit
+22
View File
@@ -0,0 +1,22 @@
# Copia in: .gitea/workflows/ci.yml
# Usato da: microservizi Node.js con deploy Docker
name: CI
on:
push:
branches:
- main
paths-ignore:
- '**.md'
- 'docs/**'
pull_request:
branches:
- main
jobs:
quality-gates:
uses: https://gitea.pzetatouch.it/devops/shared-actions/.gitea/workflows/quality-gates-github.yml@v1
secrets: inherit
# with:
# node-version: '24.16.0' # opzionale, default già impostato
+25
View File
@@ -0,0 +1,25 @@
# Copia in: .gitea/workflows/release.yml
# Trigger: git tag v* → build Docker + crea release Gitea
#
# NOTA: auto-release attende docker-release via needs.
# Workaround Gitea bug #31900: token esplicito nel checkout di auto-release.yml.
name: Release
on:
push:
tags:
- 'v*'
jobs:
docker-release:
runs-on: catthehacker-latest # workaround Gitea bug #34986: runs-on non rispettato in workflow_call
uses: https://gitea.pzetatouch.it/devops/shared-actions/.gitea/workflows/docker-release-github.yml@v1
secrets: inherit
with:
runner: catthehacker-latest # runner con Docker pre-installato
auto-release:
needs: [docker-release]
uses: https://gitea.pzetatouch.it/devops/shared-actions/.gitea/workflows/auto-release-github.yml@v1
secrets: inherit
+31
View File
@@ -0,0 +1,31 @@
# Copia in: .gitea/workflows/ci.yml
# Usato da: microservizi Python con FastAPI / pyproject.toml
#
# Requisiti pyproject.toml:
# [project.optional-dependencies]
# dev = ["ruff", "mypy", "pytest", ...]
#
# Input opzionali:
# python-version: '3.11' # default già impostato
# install-extras: 'dev' # default già impostato
name: CI
on:
push:
branches:
- main
paths-ignore:
- '**.md'
- 'docs/**'
pull_request:
branches:
- main
jobs:
quality-gates:
uses: https://gitea.pzetatouch.it/devops/shared-actions/.gitea/workflows/python-quality-gates-github.yml@v1
secrets: inherit
# with:
# python-version: '3.11' # opzionale, default già impostato
# install-extras: 'dev' # opzionale, default già impostato
+32
View File
@@ -0,0 +1,32 @@
# Copia in: .gitea/workflows/release.yml
# Trigger: git tag v* → build Docker + crea release Gitea
#
# NOTA: auto-release attende docker-release via needs.
# Workaround Gitea bug #31900: token esplicito nel checkout di python-auto-release.yml.
#
# Prerequisiti:
# - Dockerfile presente nella root del progetto
# - pyproject.toml con [project] name e version
# - Secrets: G_USER (docker login), NPM_TOKEN (usato come password registry)
name: Release
on:
push:
tags:
- 'v*'
jobs:
docker-release:
runs-on: catthehacker-latest # workaround Gitea bug #34986: runs-on non rispettato in workflow_call
uses: https://gitea.pzetatouch.it/devops/shared-actions/.gitea/workflows/python-docker-release-github.yml@v1
secrets: inherit
with:
runner: catthehacker-latest # runner con Docker pre-installato
# python-version: '3.11' # opzionale
# install-extras: 'dev' # opzionale
auto-release:
needs: [docker-release]
uses: https://gitea.pzetatouch.it/devops/shared-actions/.gitea/workflows/python-auto-release-github.yml@v1
secrets: inherit