generated from upptime/upptime
-
Notifications
You must be signed in to change notification settings - Fork 0
116 lines (108 loc) · 4.25 KB
/
setup.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
#
# ===============================
# Do not edit this file directly!
# ===============================
#
# Your changes will be overwritten when the Upptime template updates (by default, weekly)
# Instead, change .upptimerc.yml configuration and the workflows will be generated accordingly.
#
# 🔼 Upptime @v1.36.2
# GitHub-powered open-source uptime monitor and status page by Anand Chowdhary
# * Source: https://github.com/upptime/upptime
# * Docs and more: https://upptime.js.org
# * More by Anand Chowdhary: https://anandchowdhary.com
name: Setup CI
on:
push:
paths:
- ".upptimerc.yml"
repository_dispatch:
types: [setup]
workflow_dispatch:
jobs:
release:
name: Setup Upptime
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
with:
ref: ${{ github.head_ref }}
token: ${{ secrets.GH_PAT || github.token }}
- name: Update template
uses: upptime/[email protected]
with:
command: "update-template"
env:
GH_PAT: ${{ secrets.GH_PAT || github.token }}
- name: Install WARP to support IPv6
run: |
if [ "${{ inputs.mode }}" == 'client' ]; then
echo "WARP mode: client warp+doh."
sudo apt-get -y update
curl -fsSL https://pkg.cloudflareclient.com/pubkey.gpg | sudo gpg --yes --dearmor --output /usr/share/keyrings/cloudflare-warp-archive-keyring.gpg
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/cloudflare-warp-archive-keyring.gpg] https://pkg.cloudflareclient.com/ $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/cloudflare-client.list
sudo apt-get update
sudo apt-get install -y cloudflare-warp
sudo warp-cli --accept-tos register
sudo warp-cli --accept-tos set-mode warp+doh
sudo warp-cli --accept-tos connect
elif [ "${{ inputs.mode }}" == 'wireguard' ]; then
echo "WARP mode: wireguard."
sudo apt-get -y update
sudo apt-get -y install --no-install-recommends net-tools iproute2 openresolv dnsutils iptables wireguard-tools
LAN=$(ip route get 192.168.193.10 | grep -oP 'src KS+')
echo "[Interface]
PrivateKey = cKE7LmCF61IhqqABGhvJ44jWXp8fKymcMAEVAzbDF2k=
Address = 172.16.0.2/32
Address = fd01:5ca1:ab1e:823e:e094:eb1c:ff87:1fab/128
PostUp = ip -4 rule add from $LAN lookup main
PostDown = ip -4 rule delete from $LAN lookup main
DNS = 8.8.8.8,8.8.4.4
MTU = 1280
[Peer]
PublicKey = bmXOC+F1FxEMF9dyiK2H5/1SUtzH0JuVo51h2wPfgyo=
AllowedIPs = 0.0.0.0/0
AllowedIPs = ::/0
Endpoint = 162.159.193.10:2408" | sed "s/^[ ]+//g" | sudo tee /etc/wireguard/warp.conf
sudo wg-quick up warp
else
echo -e "WARP mode: ${{ inputs.mode }}.
You can choose client or wireguard."
exit 1
fi
sleep 1
sudo curl -s4m8 --retry 3 -A Mozilla https://api.ip.sb/geoip
shell: bash
- name: Update response time
uses: upptime/[email protected]
with:
command: "response-time"
env:
GH_PAT: ${{ secrets.GH_PAT || github.token }}
SECRETS_CONTEXT: ${{ toJson(secrets) }}
- name: Update summary in README
uses: upptime/[email protected]
with:
command: "readme"
env:
GH_PAT: ${{ secrets.GH_PAT || github.token }}
- name: Generate graphs
uses: benc-uk/workflow-dispatch@v1
with:
workflow: Graphs CI
token: ${{ secrets.GH_PAT || github.token }}
- name: Generate site
uses: upptime/[email protected]
with:
command: "site"
env:
GH_PAT: ${{ secrets.GH_PAT || github.token }}
- uses: peaceiris/[email protected]
name: GitHub Pages Deploy
with:
github_token: ${{ secrets.GH_PAT || github.token }}
publish_dir: "site/status-page/__sapper__/export/"
force_orphan: "false"
user_name: "Upptime Bot"
user_email: "[email protected]"