@@ -12,17 +12,20 @@ jobs:
12
12
runs-on : ubuntu-20.04
13
13
14
14
steps :
15
- # ###############################################################
15
+ # #################################################################################################################
16
+ # #################################################################################################################
17
+ # #################################################################################################################
16
18
# Git checkout
17
19
- name : Checkout repository
18
20
uses : actions/checkout@v2
19
- # The github.ref is, for example, refs/tags/v4.0.145 or refs/tags/v4.0-r8
21
+
22
+ # The github.ref is, for example, refs/tags/v5.0.145 or refs/tags/v5.0-r8
20
23
# Generate variables like:
21
- # SRS_TAG=v4 .0-r8
22
- # SRS_TAG=v4 .0.145
23
- # SRS_VERSION=4 .0.145
24
- # SRS_VERSION=4 .0-r8
25
- # SRS_MAJOR=4
24
+ # SRS_TAG=v5 .0-r8
25
+ # SRS_TAG=v5 .0.145
26
+ # SRS_VERSION=5 .0.145
27
+ # SRS_VERSION=5 .0-r8
28
+ # SRS_MAJOR=5
26
29
# @see https://docs.github.com/en/actions/reference/workflow-commands-for-github-actions#setting-an-environment-variable
27
30
- name : Generate varaiables
28
31
run : |
32
35
echo "SRS_VERSION=$SRS_VERSION" >> $GITHUB_ENV
33
36
SRS_MAJOR=$(echo $SRS_TAG| cut -c 2)
34
37
echo "SRS_MAJOR=$SRS_MAJOR" >> $GITHUB_ENV
35
- # Create source tar for release. Note that it's for OpenWRT package srs-server, so the filename MUST be
36
- # srs-server-xxx.tar.gz, because the package is named srs-server.
37
- # Generate variables like:
38
- # SRS_SOURCE_TAR=srs-server-4.0.145.tar.gz
39
- # SRS_SOURCE_MD5=83e38700a80a26e30b2df054e69956e5
40
- - name : Create source tar.gz
41
- run : |
42
- DEST_DIR=srs-server-$SRS_VERSION && mkdir -p $DEST_DIR &&
43
- cp README.md $DEST_DIR && cp LICENSE $DEST_DIR && cp -R trunk $DEST_DIR/trunk &&
44
- (cd $DEST_DIR/trunk/3rdparty && rm -rf *.zip openssl-*.gz srs-bench) &&
45
- tar zcf ${DEST_DIR}.tar.gz ${DEST_DIR} && du -sh ${DEST_DIR}* && rm -rf ${DEST_DIR} &&
46
- echo "SRS_SOURCE_TAR=${DEST_DIR}.tar.gz" >> $GITHUB_ENV &&
47
- echo "SRS_SOURCE_MD5=$(md5sum ${DEST_DIR}.tar.gz| awk '{print $1}')" >> $GITHUB_ENV
48
- # Create package tar for release
49
- # Generate variables like:
50
- # SRS_PACKAGE_ZIP=SRS-CentOS7-x86_64-4.0.145.zip
51
- # SRS_PACKAGE_MD5=3880a26e30b283edf05700a4e69956e5
52
- - name : Create package zip
53
- env :
54
- PACKAGER : ${{ secrets.SRS_PACKAGER_BINARY }}
55
- run : |
56
- docker build --tag srs:pkg --build-arg version=$SRS_VERSION --build-arg SRS_AUTO_PACKAGER=$PACKAGER -f trunk/Dockerfile.pkg . &&
57
- SRS_PACKAGE_ZIP=SRS-CentOS7-x86_64-$SRS_VERSION.zip &&
58
- docker run --rm -v $(pwd):/output srs:pkg cp objs/$SRS_PACKAGE_ZIP /output/ &&
59
- du -sh $SRS_PACKAGE_ZIP &&
60
- echo "SRS_PACKAGE_ZIP=$SRS_PACKAGE_ZIP" >> $GITHUB_ENV &&
61
- echo "SRS_PACKAGE_MD5=$(md5sum $SRS_PACKAGE_ZIP| awk '{print $1}')" >> $GITHUB_ENV
62
38
63
- # ###############################################################
64
39
# Tests
65
40
- name : Build test image
66
41
run : docker build --tag srs:test -f trunk/Dockerfile.test .
@@ -71,31 +46,39 @@ jobs:
71
46
- name : Run SRS regression-test
72
47
run : docker run --rm srs:test bash -c 'make && ./objs/srs -c conf/regression-test.conf && cd 3rdparty/srs-bench && make && ./objs/srs_test -test.v'
73
48
74
- # ###############################################################
75
- # Build
76
- # Build SRS image
49
+ # #################################################################################################################
50
+ # #################################################################################################################
51
+ # #################################################################################################################
52
+ # Build SRS docker images
77
53
- name : Build SRS docker image
78
54
env :
79
55
PACKAGER : ${{ secrets.SRS_PACKAGER_DOCKER }}
56
+ PACKAGER_DROPLET : ${{ secrets.SRS_PACKAGER_DROPLET }}
80
57
run : |
81
58
echo "Release ossrs/srs:$SRS_TAG"
82
59
docker build --tag ossrs/srs:$SRS_TAG --build-arg SRS_AUTO_PACKAGER=$PACKAGER -f trunk/Dockerfile .
60
+ echo "Release ossrs/droplet:$SRS_TAG"
61
+ docker build --tag ossrs/droplet:$SRS_TAG --build-arg SRS_AUTO_PACKAGER=$PACKAGER_DROPLET -f trunk/Dockerfile .
83
62
84
- # ###############################################################
85
- # Docker
63
+ # Docker hub
64
+ # TODO: FIXME: If stable, please set the latest from 4.0 to 5.0
86
65
- name : Login docker hub
87
66
uses : docker/login-action@v1
88
67
with :
89
68
username : " ${{ secrets.DOCKER_USERNAME }}"
90
69
password : " ${{ secrets.DOCKER_PASSWORD }}"
91
70
- name : Push to docker hub
92
71
run : |
93
- docker push ossrs/srs:$SRS_TAG
94
72
docker tag ossrs/srs:$SRS_TAG ossrs/srs:$SRS_MAJOR
95
- docker push ossrs/srs:$SRS_MAJOR
96
- docker tag ossrs/srs:$SRS_TAG ossrs/srs:latest
97
- docker push ossrs/srs:latest
98
- # Aliyun ACR
73
+ #docker tag ossrs/srs:$SRS_TAG ossrs/srs:latest
74
+ docker push --all-tags ossrs/srs
75
+ #
76
+ docker tag ossrs/droplet:$SRS_TAG ossrs/droplet:$SRS_MAJOR
77
+ #docker tag ossrs/droplet:$SRS_TAG ossrs/droplet:latest
78
+ docker push --all-tags ossrs/droplet
79
+
80
+ # Aliyun ACR hub
81
+ # TODO: FIXME: If stable, please set the latest from 4.0 to 5.0
99
82
- name : Login Aliyun docker hub
100
83
uses : aliyun/acr-login@v1
101
84
with :
@@ -105,32 +88,52 @@ jobs:
105
88
- name : Push to Aliyun docker hub
106
89
run : |
107
90
docker tag ossrs/srs:$SRS_TAG registry.cn-hangzhou.aliyuncs.com/ossrs/srs:$SRS_TAG
108
- docker push registry.cn-hangzhou.aliyuncs.com/ossrs/srs:$SRS_TAG
109
91
docker tag ossrs/srs:$SRS_TAG registry.cn-hangzhou.aliyuncs.com/ossrs/srs:$SRS_VERSION
110
- docker push registry.cn-hangzhou.aliyuncs.com/ossrs/srs:$SRS_VERSION
111
92
docker tag ossrs/srs:$SRS_TAG registry.cn-hangzhou.aliyuncs.com/ossrs/srs:v$SRS_MAJOR
112
- docker push registry.cn-hangzhou.aliyuncs.com/ossrs/srs:v$SRS_MAJOR
113
93
docker tag ossrs/srs:$SRS_TAG registry.cn-hangzhou.aliyuncs.com/ossrs/srs:$SRS_MAJOR
114
- docker push registry.cn-hangzhou.aliyuncs.com/ossrs/srs:$SRS_MAJOR
115
- docker tag ossrs/srs:$SRS_TAG registry.cn-hangzhou.aliyuncs.com/ossrs/srs:latest
116
- docker push registry.cn-hangzhou.aliyuncs.com/ossrs/srs:latest
94
+ #docker tag ossrs/srs:$SRS_TAG registry.cn-hangzhou.aliyuncs.com/ossrs/srs:latest
95
+ docker push --all-tags registry.cn-hangzhou.aliyuncs.com/ossrs/srs
96
+ #
97
+ docker tag ossrs/droplet:$SRS_TAG registry.cn-hangzhou.aliyuncs.com/ossrs/droplet:$SRS_TAG
98
+ docker tag ossrs/droplet:$SRS_TAG registry.cn-hangzhou.aliyuncs.com/ossrs/droplet:$SRS_VERSION
99
+ docker tag ossrs/droplet:$SRS_TAG registry.cn-hangzhou.aliyuncs.com/ossrs/droplet:v$SRS_MAJOR
100
+ docker tag ossrs/droplet:$SRS_TAG registry.cn-hangzhou.aliyuncs.com/ossrs/droplet:$SRS_MAJOR
101
+ #docker tag ossrs/droplet:$SRS_TAG registry.cn-hangzhou.aliyuncs.com/ossrs/droplet:latest
102
+ docker push --all-tags registry.cn-hangzhou.aliyuncs.com/ossrs/droplet
117
103
118
- # ###############################################################
119
- # K8S
120
- - name : Setup KUBCONFIG for Aliyun ACK
121
- run : |-
122
- KUBECONFIG=$RUNNER_TEMP/kubeconfig_$(date +%s)
123
- echo "${{ secrets.KUBCONFIG }}" > $KUBECONFIG
124
- echo "KUBECONFIG=$KUBECONFIG" >> $GITHUB_ENV
125
- # K8S for SRS 4.0
126
- - name : Release SRS 4.0 to Aliyun ACK
127
- if : ${{ startsWith(github.ref, 'refs/tags/v4') }}
128
- run : |-
129
- kubectl set image deploy/srs4-deploy srs4=registry.cn-hangzhou.aliyuncs.com/ossrs/srs:$SRS_TAG
130
- kubectl describe deploy/srs4-deploy
104
+ # #################################################################################################################
105
+ # #################################################################################################################
106
+ # #################################################################################################################
107
+ # Create source tar for release. Note that it's for OpenWRT package srs-server, so the filename MUST be
108
+ # srs-server-xxx.tar.gz, because the package is named srs-server.
109
+ # Generate variables like:
110
+ # SRS_SOURCE_TAR=srs-server-5.0.145.tar.gz
111
+ # SRS_SOURCE_MD5=83e38700a80a26e30b2df054e69956e5
112
+ - name : Create source tar.gz
113
+ run : |
114
+ DEST_DIR=srs-server-$SRS_VERSION && mkdir -p $DEST_DIR &&
115
+ cp README.md $DEST_DIR && cp LICENSE $DEST_DIR && cp -R trunk $DEST_DIR/trunk &&
116
+ (cd $DEST_DIR/trunk/3rdparty && rm -rf *.zip openssl-*.gz srs-bench) &&
117
+ tar zcf ${DEST_DIR}.tar.gz ${DEST_DIR} && du -sh ${DEST_DIR}* && rm -rf ${DEST_DIR} &&
118
+ echo "SRS_SOURCE_TAR=${DEST_DIR}.tar.gz" >> $GITHUB_ENV &&
119
+ echo "SRS_SOURCE_MD5=$(md5sum ${DEST_DIR}.tar.gz| awk '{print $1}')" >> $GITHUB_ENV
120
+ # Create package tar for release
121
+ # Generate variables like:
122
+ # SRS_PACKAGE_ZIP=SRS-CentOS7-x86_64-5.0.145.zip
123
+ # SRS_PACKAGE_MD5=3880a26e30b283edf05700a4e69956e5
124
+ - name : Create package zip
125
+ env :
126
+ PACKAGER : ${{ secrets.SRS_PACKAGER_BINARY }}
127
+ run : |
128
+ docker build --tag srs:pkg --build-arg version=$SRS_VERSION --build-arg SRS_AUTO_PACKAGER=$PACKAGER -f trunk/Dockerfile.pkg . &&
129
+ SRS_PACKAGE_ZIP=SRS-CentOS7-x86_64-$SRS_VERSION.zip &&
130
+ docker run --rm -v $(pwd):/output srs:pkg cp objs/$SRS_PACKAGE_ZIP /output/ &&
131
+ du -sh $SRS_PACKAGE_ZIP &&
132
+ echo "SRS_PACKAGE_ZIP=$SRS_PACKAGE_ZIP" >> $GITHUB_ENV &&
133
+ echo "SRS_PACKAGE_MD5=$(md5sum $SRS_PACKAGE_ZIP| awk '{print $1}')" >> $GITHUB_ENV
131
134
132
- # ###############################################################
133
135
# Create release.
136
+ # TODO: FIXME: Refine the release when 5.0 releoased
134
137
- name : Create release
135
138
id : create_release
136
139
uses : actions/create-release@v1
@@ -145,18 +148,15 @@ jobs:
145
148
* Source: ${{ env.SRS_SOURCE_MD5 }} [${{ env.SRS_SOURCE_TAR }}](https://github.com/ossrs/srs/releases/download/${{ env.SRS_TAG }}/${{ env.SRS_SOURCE_TAR }})
146
149
* Binary: ${{ env.SRS_PACKAGE_MD5 }} [${{ env.SRS_PACKAGE_ZIP }}](https://github.com/ossrs/srs/releases/download/${{ env.SRS_TAG }}/${{ env.SRS_PACKAGE_ZIP }})
147
150
## Docker
148
- * China: [docker pull registry.cn-hangzhou.aliyuncs.com/ossrs/srs:latest](https://github.com/ossrs/srs/wiki/v4_CN_Home#docker)
149
- * China: [docker pull registry.cn-hangzhou.aliyuncs.com/ossrs/srs:${{ env.SRS_MAJOR }}](https://github.com/ossrs/srs/wiki/v4_CN_Home#docker)
150
- * China: [docker pull registry.cn-hangzhou.aliyuncs.com/ossrs/srs:${{ env.SRS_TAG }}](https://github.com/ossrs/srs/wiki/v4_CN_Home#docker)
151
- * Global: [docker pull ossrs/srs:latest](https://github.com/ossrs/srs/wiki/v4_EN_Home#docker)
152
- * Global: [docker pull ossrs/srs:${{ env.SRS_MAJOR }}](https://github.com/ossrs/srs/wiki/v4_EN_Home#docker)
153
- * Global: [docker pull ossrs/srs:${{ env.SRS_TAG }}](https://github.com/ossrs/srs/wiki/v4_EN_Home#docker)
151
+ * China: docker pull registry.cn-hangzhou.aliyuncs.com/ossrs/srs:${{ env.SRS_MAJOR }}
152
+ * China: docker pull registry.cn-hangzhou.aliyuncs.com/ossrs/srs:${{ env.SRS_TAG }}
153
+ * Global: docker pull ossrs/srs:${{ env.SRS_MAJOR }}
154
+ * Global: docker pull ossrs/srs:${{ env.SRS_TAG }}
154
155
## Doc
155
- * [快速入门](https://github.com/ossrs/srs/wiki/v4_CN_Home#getting-started) or [Getting Started](https://github.com/ossrs/srs/wiki/v4_EN_Home#getting-started)
156
- * [中文Wiki首页](https://github.com/ossrs/srs/wiki/v4_CN_Home) or [Wiki home](https://github.com/ossrs/srs/wiki/v4_EN_Home)
157
156
* [FAQ](https://github.com/ossrs/srs/issues/2716), [Features](https://github.com/ossrs/srs/blob/${{ github.sha }}/trunk/doc/Features.md#features) or [ChangeLogs](https://github.com/ossrs/srs/blob/${{ github.sha }}/trunk/doc/CHANGELOG.md#changelog)
158
157
draft : false
159
- prerelease : false
158
+ prerelease : true
159
+
160
160
# Upload release source files
161
161
- name : Upload Release Assets Source
162
162
id : upload-release-assets-source
@@ -166,6 +166,7 @@ jobs:
166
166
with :
167
167
release_id : ${{ steps.create_release.outputs.id }}
168
168
assets_path : ${{ env.SRS_SOURCE_TAR }}
169
+
169
170
# Upload release package files
170
171
- name : Upload Release Assets Package
171
172
id : upload-release-assets-package
@@ -176,3 +177,19 @@ jobs:
176
177
release_id : ${{ steps.create_release.outputs.id }}
177
178
assets_path : ${{ env.SRS_PACKAGE_ZIP }}
178
179
180
+ # #################################################################################################################
181
+ # #################################################################################################################
182
+ # #################################################################################################################
183
+ # K8S release to official website
184
+ - name : Setup KUBCONFIG for Aliyun ACK
185
+ run : |-
186
+ KUBECONFIG=$RUNNER_TEMP/kubeconfig_$(date +%s)
187
+ echo "${{ secrets.KUBCONFIG }}" > $KUBECONFIG
188
+ echo "KUBECONFIG=$KUBECONFIG" >> $GITHUB_ENV
189
+ # K8S for SRS 5.0
190
+ - name : Release SRS 5.0 to Aliyun ACK
191
+ if : ${{ startsWith(github.ref, 'refs/tags/v5') }}
192
+ run : |-
193
+ kubectl set image deploy/srs5-deploy srs=registry.cn-hangzhou.aliyuncs.com/ossrs/srs:$SRS_TAG
194
+ kubectl describe deploy/srs5-deploy
195
+
0 commit comments