diff --git a/.forgejo/workflows/assets.yml b/.forgejo/workflows/assets.yml new file mode 100644 index 0000000..ee3e6dd --- /dev/null +++ b/.forgejo/workflows/assets.yml @@ -0,0 +1,79 @@ +name: Immagini della pagina wordpress.org + +# Le immagini della pagina pubblica (icona, banner, screenshot) NON stanno +# dentro al plugin: stanno in `assets/` del repository SVN, che wordpress.org +# tratta a parte e senza versioni. Per questo hanno un giro loro: cambiare +# l'icona non deve costringere a inventare un rilascio. +# +# Cosa mettere in .wordpress-org/ (i nomi sono obbligatori): +# icon-256x256.png icona nella directory e nel pannello di WordPress +# icon-128x128.png stessa icona per gli schermi normali +# banner-1544x500.png testata della pagina, retina +# banner-772x250.png testata della pagina, schermi normali +# screenshot-1.png ... numerate, con le didascalie in `== Screenshots ==` +# del readme.txt, nello stesso ordine +# +# Secrets: gli stessi del rilascio (WPORG_SVN_PASSWORD). + +on: + push: + branches: [main] + paths: ['.wordpress-org/**'] + workflow_dispatch: + +env: + SVN_URL: https://plugins.svn.wordpress.org/piazza-in-festa + +jobs: + immagini: + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Strumenti (svn, rsync) + run: | + set -e + apt-get update -qq + apt-get install -y --no-install-recommends subversion rsync ca-certificates + + - name: Copia di lavoro SVN (solo assets) + run: | + set -e + svn co --depth immediates "$SVN_URL" svn + svn up --set-depth infinity svn/assets + + - name: Allinea le immagini + run: | + set -e + if [ -z "$(ls -A .wordpress-org 2>/dev/null)" ]; then + echo "Non c'e' niente in .wordpress-org/, non tocco la pagina." >&2 + exit 1 + fi + rsync -a --delete --exclude '.svn' .wordpress-org/ svn/assets/ + cd svn + svn status | sed -n 's/^![[:space:]]*//p' | while IFS= read -r morto; do + svn rm --force "$morto" + done + svn add --force assets + svn status + + - name: Pubblica + env: + SVN_USER: ${{ vars.WPORG_SVN_USERNAME || 'thisloke' }} + SVN_PASS: ${{ secrets.WPORG_SVN_PASSWORD }} + run: | + set -e + cd svn + # Senza modifiche non si commita: un `svn ci` a vuoto non fa danni ma + # sporca la cronologia della directory con revisioni inutili. + if [ -z "$(svn status)" ]; then + echo "Le immagini su wordpress.org sono gia' queste, niente da fare." + exit 0 + fi + svn ci \ + -m "Aggiorna le immagini della pagina" \ + --username "$SVN_USER" \ + --password "$SVN_PASS" \ + --non-interactive --no-auth-cache --trust-server-cert diff --git a/.wordpress-org/icon-128x128.png b/.wordpress-org/icon-128x128.png new file mode 100644 index 0000000..259e716 Binary files /dev/null and b/.wordpress-org/icon-128x128.png differ diff --git a/.wordpress-org/icon-256x256.png b/.wordpress-org/icon-256x256.png new file mode 100644 index 0000000..c438cd7 Binary files /dev/null and b/.wordpress-org/icon-256x256.png differ