-
Notifications
You must be signed in to change notification settings - Fork 2.2k
120 lines (116 loc) · 3.6 KB
/
publish_release.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
name: Publish Release
on:
workflow_dispatch:
inputs:
channel:
description: 'Release Channel'
required: true
default: 'releases'
type: choice
options:
- releases
- releases-staging
jobs:
mkdoc:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v2
-
name: Install packages
run: sudo apt -y update && sudo apt -y install libssl-dev unixodbc-dev redis-server libmysqlclient-dev libpq-dev
-
name: Install SSH key
run: |
mkdir -p ~/.ssh
echo '${{ secrets.POCOPROJECT_ORG_SSH_HOST_KEY }}' >~/.ssh/known_hosts
echo '${{ secrets.POCO_SSH_KEY }}' >~/.ssh/id_rsa
chmod go-rwx ~/.ssh/id_rsa
-
name: Build documentation
run: |
export POCO_BASE=`pwd`
export PATH=$POCO_BASE/release/script:$PATH
export LD_LIBRARY_PATH=$POCO_BASE/stage/tools/lib/Linux/x86_64
mkdoc all
-
name: Copy to web server
run: |
read VERSION <VERSION
ssh [email protected] mkdir -p staging/releases/poco-$VERSION
scp releases/poco-*-doc.tar.gz releases/poco-*-doc.zip [email protected]:staging/releases/poco-$VERSION
mkrelease_win:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v2
-
name: Install packages
run: sudo apt-get update && sudo apt-get -y install dos2unix
-
name: Install SSH key
run: |
mkdir -p ~/.ssh
echo '${{ secrets.POCOPROJECT_ORG_SSH_HOST_KEY }}' >~/.ssh/known_hosts
echo '${{ secrets.POCO_SSH_KEY }}' >~/.ssh/id_rsa
chmod go-rwx ~/.ssh/id_rsa
-
name: Build release package
run: |
export POCO_BASE=`pwd`
export PATH=$POCO_BASE/release/script:$PATH
mkrel -c unix2dos
mkrel -c unix2dos all
-
name: Copy to web server
run: |
read VERSION <VERSION
ssh [email protected] mkdir -p staging/releases/poco-$VERSION
scp releases/poco-*.zip [email protected]:staging/releases/poco-$VERSION
mkrelease:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v2
-
name: Install SSH key
run: |
mkdir -p ~/.ssh
echo '${{ secrets.POCOPROJECT_ORG_SSH_HOST_KEY }}' >~/.ssh/known_hosts
echo '${{ secrets.POCO_SSH_KEY }}' >~/.ssh/id_rsa
chmod go-rwx ~/.ssh/id_rsa
-
name: Build release package
run: |
export POCO_BASE=`pwd`
export PATH=$POCO_BASE/release/script:$PATH
mkrel
mkrel all
-
name: Copy to web server
run: |
read VERSION <VERSION
ssh [email protected] mkdir -p staging/releases/poco-$VERSION
scp releases/poco-*.tar.gz releases/poco-*.tar.bz2 [email protected]:staging/releases/poco-$VERSION
sign_and_publish:
runs-on: ubuntu-latest
needs: ["mkdoc", "mkrelease_win", "mkrelease"]
steps:
-
name: Checkout
uses: actions/checkout@v2
-
name: Install SSH key
run: |
mkdir -p ~/.ssh
echo '${{ secrets.POCOPROJECT_ORG_SSH_HOST_KEY }}' >~/.ssh/known_hosts
echo '${{ secrets.POCO_SSH_KEY }}' >~/.ssh/id_rsa
chmod go-rwx ~/.ssh/id_rsa
-
name: Sign and publish
run: |
read VERSION <VERSION
ssh [email protected] ./sign_and_publish.sh $VERSION ${{ inputs.channel }}