-
Notifications
You must be signed in to change notification settings - Fork 0
153 lines (133 loc) · 5.17 KB
/
push-revo-update.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
name: tuja-aktualigo
# Tiu ago aktualigas artikolojn en Revo, tuj kiam ilia fonto ŝanĝiĝis.
# Tio normale okazas per la retpoŝta redakto-servo, sed principe povas
# okazi ankaŭ se oni pere de "git" mane aktualigas fonton.
on:
push:
branches:
- master
# schedule:
# ĉiuhore
# * estas speciala signo, do nepre uzu citilojn
# ni testas pli malofte; sed ekde kiam funkcias, ni povas plioftigi
#- cron: '15 * * * *'
env:
# image tag {latest|stabila|2x}
IMAGE_TAG: 2m
jobs:
testo:
runs-on: ubuntu-latest
steps:
- name: Prenu
uses: actions/checkout@v4
- name: Instalu ilojn rxp, curl
run: |
sudo apt-get update
sudo apt-get install rxp curl
- name: Akiru vokosgn.dtd, vokoenh.dtd
run: |
mkdir dtd
curl -O --output-dir dtd https://raw.githubusercontent.com/revuloj/voko-grundo/refs/heads/master/dtd/vokosgn.dtd
curl -O --output-dir dtd https://raw.githubusercontent.com/revuloj/voko-grundo/refs/heads/master/dtd/vokoenh.dtd
- name: Kurigu test-skripton
run: |
./tst/xml-test.sh
revo-aktualigo:
# Certigu ke testo estis sukcesa antaŭ puŝi la procezujon
needs: testo
runs-on: ubuntu-latest
steps:
- uses: actions/github-script@v7
name: Eltrovu la pozicion de marko 'hora-formiko'
id: trovu_horan_formikon
with:
github-token: ${{secrets.GITHUB_TOKEN}}
debug: true
script: |
const ref = await github.rest.git.getRef({...context.repo, ref: 'tags/hora-formiko'})
const sha = ref.data.object.sha
console.log('hora-formiko estas ĉe: '+sha)
core.setOutput('sha_hf',sha)
- uses: actions/github-script@v7
name: Eltrovu la nunan pozicion (kapo)
id: trovu_kapon
with:
github-token: ${{secrets.GITHUB_TOKEN}}
debug: true
script: |
const ref = await github.rest.git.getRef({...context.repo, ref: 'heads/master'})
const sha = ref.data.object.sha
console.log('heads/master estas ĉe: '+sha)
core.setOutput('sha_hm',sha)
- name: Antaŭkontrolo por identigi eblajn problemojn
run: |
uname -a
curl --user ${{ secrets.CGI_USER }}:${{ secrets.CGI_PASSWD }} --max-time 20 https://reta-vortaro.de/cgi-bin/admin/time.pl
- name: Kreu dosierujojn por konservi la rezultojn ...
run: |
mkdir .tgz
mkdir .log
# https://git.luolix.topmunity/t5/GitHub-Actions/Use-docker-images-from-GitHub-Package-Registry/td-p/30407
# https://github.com/actions/starter-workflows/blob/master/ci/docker-push.yml
- name: Saluto al ghcr.io kaj preni voko-formiko
if: steps.trovu_horan_formikon.outputs.sha_hf != steps.trovu_kapon.outputs.sha_hm
env:
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
run: |
echo "$GITHUB_TOKEN" | docker login ghcr.io -u $GITHUB_ACTOR --password-stdin
docker pull "ghcr.io/revuloj/voko-formiko/voko-formiko:${{ env.IMAGE_TAG }}"
- name: Aktualigu la artikolojn redaktitajn de hora-formiko ĝis HEAD
if: steps.trovu_horan_formikon.outputs.sha_hf != steps.trovu_kapon.outputs.sha_hm
run: docker run -u1001
-e GIT_REPO_REVO=https://github.com/revuloj/revo-fonto.git
-e FTP_USER=${{ secrets.FTP_USER }}
-e FTP_PASSWD=${{ secrets.FTP_PASSWD }}
-e FTP_SERVER2=314802.webhosting7.1blu.de
-e FTP_USER2="${{ secrets.FTP_USER2 }}"
-e FTP_PASSWD2="${{ secrets.FTP_PASSWD2 }}"
-e CGI_SERVER=reta-vortaro.de
-e CGI_USER=${{ secrets.CGI_USER }}
-e CGI_PASSWD=${{ secrets.CGI_PASSWD }}
-e CGI_SERVER2=reta-vortaro.de
-e CGI_USER2=${{ secrets.CGI_USER }}
-e CGI_PASSWD2=${{ secrets.CGI_PASSWD }}
-v $GITHUB_WORKSPACE/.tgz:/home/formiko/tgz
-v $GITHUB_WORKSPACE/.log:/home/formiko/log
ghcr.io/revuloj/voko-formiko/voko-formiko:${{ env.IMAGE_TAG }} formiko
-Dsha1=${{ steps.trovu_horan_formikon.outputs.sha_hf }}
-Dsha2=${{ steps.trovu_kapon.outputs.sha_hm }}
srv-servo-github-hore
- name: Rigardu la rezulton
run: |
#tar -czf revo.tgz $GITHUB_WORKSPACE/revo
ls -l .tgz/ .log/
- name: Konservu rezultintajn arĥivojn
uses: actions/upload-artifact@v4
with:
name: tgz
path: .tgz
- name: Konservu protokolojn
uses: actions/upload-artifact@v4
with:
name: log
path: .log
- uses: actions/github-script@v7
if: steps.trovu_horan_formikon.outputs.sha_hf != steps.trovu_kapon.outputs.sha_hm
name: Movu antaŭen la formikon
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
debug: true
script: |
var result = {};
try {
result = await github.rest.git.updateRef({
owner: context.repo.owner,
repo: context.repo.repo,
sha: '${{ steps.trovu_kapon.outputs.sha_hm }}',
ref: 'tags/hora-formiko',
force: true })
} catch(error) {
console.log("ERROR:");
}
console.log("RESULT...")
console.log(result)