Skip to content

Commit a3b8303

Browse files
authored
Add GitHub actions support for Debian and CentOS packages
1 parent 1a31b18 commit a3b8303

File tree

2 files changed

+152
-41
lines changed

2 files changed

+152
-41
lines changed

.github/workflows/all.yml

Lines changed: 152 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,152 @@
1+
name: Build and Distribute Sofia-Sip
2+
3+
on:
4+
push:
5+
branches: [ master ]
6+
paths:
7+
- "**"
8+
- "!debian/changelog"
9+
workflow_dispatch:
10+
11+
concurrency:
12+
group: ${{ github.head_ref || github.ref }}
13+
14+
jobs:
15+
16+
sofia_build_rpm:
17+
name: 'Build Rpm'
18+
uses: signalwire/actions-template/.github/workflows/ci-rpm-packages.yml@main
19+
with:
20+
PROJECT_NAME: sofia-sip
21+
RUNNER: ubuntu-latest
22+
PACKAGER: 'packager Andrey Volk <[email protected]>'
23+
PLATFORM: amd64
24+
secrets: inherit
25+
26+
sofia_build_deb:
27+
name: 'Build Deb'
28+
uses: signalwire/actions-template/.github/workflows/ci-deb-packages-v2.yml@main
29+
strategy:
30+
fail-fast: false
31+
matrix:
32+
BASE_IMAGE:
33+
- signalwire/build-deb-action:bullseye
34+
- signalwire/build-deb-action:buster
35+
- signalwire/build-deb-action:stretch
36+
PLATFORM:
37+
- amd64
38+
- arm
39+
with:
40+
PROJECT_NAME: sofia-sip
41+
RUNNER: ubuntu-latest
42+
BASE_IMAGE: ${{matrix.BASE_IMAGE}}
43+
PLATFORM: ${{matrix.PLATFORM}}
44+
45+
generate_meta:
46+
name: 'Meta'
47+
needs: [sofia_build_rpm, sofia_build_deb]
48+
strategy:
49+
matrix:
50+
platform:
51+
- deb-amd64
52+
- deb-arm
53+
- rpm-amd64
54+
55+
uses: signalwire/actions-template/.github/workflows/ci-libs-metadata-v2.yml@main
56+
with:
57+
ARTIFACT_NAME: ${{ matrix.platform }}-artifact
58+
OS_PLATFORM: ${{ matrix.platform }}
59+
RUNNER: ubuntu-latest
60+
FILE_PATH_PREFIX: /var/www/sofia-${{ matrix.platform }}/${{github.run_id}}-${{github.run_number}}
61+
62+
distribute_matrix:
63+
permissions: write-all
64+
name: 'Copy to remote'
65+
needs: [sofia_build_rpm, sofia_build_deb]
66+
strategy:
67+
matrix:
68+
os_platform:
69+
- deb-amd64
70+
- deb-arm
71+
- rpm-amd64
72+
73+
uses: signalwire/actions-template/.github/workflows/cd-scp.yml@main
74+
with:
75+
ARTIFACT_NAME: ${{ matrix.os_platform }}-artifact
76+
TARGET_FOLDER: /var/www/sofia-${{ matrix.os_platform }}/${{github.run_id}}-${{github.run_number}}
77+
RUNNER: ubuntu-latest
78+
FILES: '*.tar.gz'
79+
CREATE_DESTINATION_FOLDERS: true
80+
secrets:
81+
# Explicit define secrets for better understanding but it could be just inherit
82+
PROXY_URL: ${{ secrets.PROXY_URL }}
83+
USERNAME: ${{ secrets.USERNAME }}
84+
HOSTNAME: ${{ secrets.HOSTNAME }}
85+
TELEPORT_TOKEN: ${{ secrets.TELEPORT_TOKEN }}
86+
87+
distribute_meta_deb:
88+
permissions: write-all
89+
name: 'Copy meta to remote'
90+
needs: generate_meta
91+
strategy:
92+
matrix:
93+
os:
94+
- deb
95+
platform:
96+
- amd64
97+
- arm
98+
99+
uses: signalwire/actions-template/.github/workflows/cd-libs-metadata.yml@main
100+
with:
101+
ARTIFACT_NAME: ${{ matrix.os }}-${{matrix.platform}}-meta
102+
LIB_NAME: sofia-sip
103+
TARGET_OS: ${{ matrix.os }}
104+
TARGET_PLATFORM: ${{ matrix.platform }}
105+
RUNNER: ubuntu-latest
106+
TARGET_REPO: signalwire/bamboo_gha_trigger
107+
secrets:
108+
GH_BOT_DEPLOY_TOKEN: ${{ secrets.PAT }}
109+
110+
distribute_meta_rpm:
111+
permissions: write-all
112+
name: 'Copy meta to remote'
113+
needs: generate_meta
114+
strategy:
115+
matrix:
116+
os:
117+
- rpm
118+
platform:
119+
- amd64
120+
121+
uses: signalwire/actions-template/.github/workflows/cd-libs-metadata.yml@main
122+
with:
123+
ARTIFACT_NAME: ${{ matrix.os }}-${{matrix.platform}}-meta
124+
LIB_NAME: sofia-sip
125+
TARGET_OS: ${{ matrix.os }}
126+
TARGET_PLATFORM: ${{ matrix.platform }}
127+
RUNNER: ubuntu-latest
128+
TARGET_REPO: signalwire/bamboo_gha_trigger
129+
secrets:
130+
GH_BOT_DEPLOY_TOKEN: ${{ secrets.PAT }}
131+
132+
distribute_hash:
133+
permissions: write-all
134+
name: 'Copy hash to remote'
135+
needs: [distribute_meta_deb, distribute_meta_rpm]
136+
uses: signalwire/actions-template/.github/workflows/cd-scp.yml@main
137+
strategy:
138+
matrix:
139+
os_platform:
140+
- deb-amd64
141+
- deb-arm
142+
- rpm-amd64
143+
with:
144+
RUNNER: ubuntu-latest
145+
CREATE_DESTINATION_FOLDERS: false
146+
EXEC_COMMANDS: 'echo "${{github.sha}}" > /var/www/sofia-${{ matrix.os_platform }}/${{github.run_id}}-${{github.run_number}}/hash.txt'
147+
secrets:
148+
PROXY_URL: ${{ secrets.PROXY_URL }}
149+
USERNAME: ${{ secrets.USERNAME }}
150+
HOSTNAME: ${{ secrets.HOSTNAME }}
151+
TELEPORT_TOKEN: ${{ secrets.TELEPORT_TOKEN }}
152+

.github/workflows/e2e.yml

Lines changed: 0 additions & 41 deletions
This file was deleted.

0 commit comments

Comments
 (0)