All checks were successful
Immagini della pagina wordpress.org / immagini (push) Successful in 21s
79 lines
2.7 KiB
YAML
79 lines
2.7 KiB
YAML
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
|