ci: l'icona della pagina wordpress.org si aggiorna da sola, senza spacciarla per un rilascio
All checks were successful
Immagini della pagina wordpress.org / immagini (push) Successful in 21s
All checks were successful
Immagini della pagina wordpress.org / immagini (push) Successful in 21s
This commit is contained in:
parent
633a65faed
commit
4c643ef5ac
3 changed files with 79 additions and 0 deletions
79
.forgejo/workflows/assets.yml
Normal file
79
.forgejo/workflows/assets.yml
Normal file
|
|
@ -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
|
||||
BIN
.wordpress-org/icon-128x128.png
Normal file
BIN
.wordpress-org/icon-128x128.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 3.7 KiB |
BIN
.wordpress-org/icon-256x256.png
Normal file
BIN
.wordpress-org/icon-256x256.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 7.5 KiB |
Loading…
Add table
Add a link
Reference in a new issue