-
Notifications
You must be signed in to change notification settings - Fork 0
136 lines (114 loc) · 4.51 KB
/
Copy pathbuild.yml
File metadata and controls
136 lines (114 loc) · 4.51 KB
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
name: Docker Demo on Self-Hosted Runner
on:
push:
branches:
- staging
repository_dispatch:
types: [manual-trigger]
jobs:
run-in-oregon:
name: Run on Oregon Runner
runs-on: [self-hosted, oregon]
steps:
- name: Fix file ownership
run: sudo chown -R $USER:$USER $GITHUB_WORKSPACE
- name: Checkout repository
uses: actions/checkout@v3
with:
ref: staging
clean: true
- name: Create hoops_license.txt
run: |
echo "${{ secrets.HOOPS_LICENSE }}" | base64 --decode > hoops_license.txt
ls -l hoops_license.txt # Verify file exists
- name: Write SSL certificates to files
run: |
pwd # Print the current working directory
ls -la # List files before creating certs
mkdir -p certs
echo "${{ secrets.SSL_CERT }}" > certs/server.crt
echo "${{ secrets.SSL_KEY }}" > certs/server.key
echo "${{ secrets.CA_CERT }}" > certs/ca.crt
- name: Verify SSL Certificates
run: |
echo "🔍 Checking SSL certificate files..."
if [ ! -s certs/server.crt ] || [ ! -s certs/server.key ]; then
echo "❌ Error: SSL certificate files are missing or empty!"
exit 1
fi
ls -la certs/
- name: Set Environment Variable for Docker
run: echo "HOST_IP=${{ secrets.HOST_IP }}" >> $GITHUB_ENV
- name: Login to GitHub Packages
run: echo "${{ secrets.GHCR_PAT }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin
- name: Clean up server
run: docker system prune -af
- name: Show storage
run: df -h
- name: Pull Latest Docker Images
run: |
docker pull ghcr.io/techsoft3d/streaming-server:staging
docker pull ghcr.io/techsoft3d/node-server:staging
- name: Copy `./public-staging` into External Docker Volume (Using Temporary Container)
run: |
docker run --rm \
-v public-staging:/volume \
-v $(pwd)/public-staging:/backup \
alpine sh -c "cp -r /backup/* /volume/ && ls -la /volume/"
- name: Build and Run Docker Containers
run: |
docker compose -p staging_project pull
docker compose -p staging_project up -d --remove-orphans --force-recreate
run-in-paris:
name: Run on Paris Runner
runs-on: [self-hosted, paris]
steps:
- name: Fix file ownership
run: sudo chown -R $USER:$USER $GITHUB_WORKSPACE
- name: Checkout repository
uses: actions/checkout@v3
with:
ref: staging
clean: true
- name: Create hoops_license.txt
run: |
echo "${{ secrets.HOOPS_LICENSE }}" | base64 --decode > hoops_license.txt
ls -l hoops_license.txt # Verify file exists
- name: Write SSL certificates to files
run: |
pwd # Print the current working directory
ls -la # List files before creating certs
mkdir -p certs
echo "${{ secrets.SSL_CERT }}" > certs/server.crt
echo "${{ secrets.SSL_KEY }}" > certs/server.key
echo "${{ secrets.CA_CERT }}" > certs/ca.crt
- name: Verify SSL Certificates
run: |
echo "🔍 Checking SSL certificate files..."
if [ ! -s certs/server.crt ] || [ ! -s certs/server.key ]; then
echo "❌ Error: SSL certificate files are missing or empty!"
exit 1
fi
ls -la certs/
- name: Set Environment Variable for Docker
run: echo "HOST_IP=${{ secrets.HOST_IP }}" >> $GITHUB_ENV
- name: Login to GitHub Packages
run: echo "${{ secrets.GHCR_PAT }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin
- name: Clean up server
run: docker system prune -af
- name: Show storage
run: df -h
- name: Pull Latest Docker Images
run: |
docker pull ghcr.io/techsoft3d/streaming-server:staging
docker pull ghcr.io/techsoft3d/node-server:staging
- name: Copy `./public-staging` into External Docker Volume (Using Temporary Container)
run: |
docker run --rm \
-v public-staging:/volume \
-v $(pwd)/public-staging:/backup \
alpine sh -c "cp -r /backup/* /volume/ && ls -la /volume/"
- name: Build and Run Docker Containers
run: |
docker compose -p staging_project pull
docker compose -p staging_project up -d --remove-orphans --force-recreate