1+ name : Publish Versions to GitHub Pages
2+
3+ on :
4+ workflow_dispatch :
5+ push :
6+ branches :
7+ - " master"
8+ paths-ignore :
9+ - ' .gitignore'
10+ - ' LICENSE'
11+ - ' README.md'
12+ schedule :
13+ - cron : ' 0 0 * * *' # Every day at midnight UTC
14+
15+ jobs :
16+ build :
17+ runs-on : ubuntu-latest
18+
19+ steps :
20+ - name : Checkout repository
21+ uses : actions/checkout@v2
22+
23+ - name : Get latest release information for Broadcaster
24+ id : broadcaster-release
25+ 26+ with :
27+ route : GET /repos/MCXboxBroadcast/Broadcaster/releases/latest
28+ env :
29+ GITHUB_TOKEN : ${{ secrets.WORKFLOW_PAT }}
30+
31+ - name : Get commit SHA for Broadcaster tag
32+ id : broadcaster-commit
33+ 34+ with :
35+ route : GET /repos/MCXboxBroadcast/Broadcaster/git/ref/tags/${{ fromJson(steps.broadcaster-release.outputs.data).tag_name }}
36+ env :
37+ GITHUB_TOKEN : ${{ secrets.WORKFLOW_PAT }}
38+
39+ - name : Get latest release information for Manager
40+ id : manager-release
41+ 42+ with :
43+ route : GET /repos/MCXboxBroadcast/Manager/releases/latest
44+ env :
45+ GITHUB_TOKEN : ${{ secrets.WORKFLOW_PAT }}
46+
47+ - name : Get commit SHA for Manager tag
48+ id : manager-commit
49+ 50+ with :
51+ route : GET /repos/MCXboxBroadcast/Manager/git/ref/tags/${{ fromJson(steps.manager-release.outputs.data).tag_name }}
52+ env :
53+ GITHUB_TOKEN : ${{ secrets.WORKFLOW_PAT }}
54+
55+ - name : Create versions.json
56+ run : |
57+ BROADCASTER_BUILD="${{ fromJson(steps.broadcaster-release.outputs.data).tag_name }}"
58+ BROADCASTER_COMMIT="${{ fromJson(steps.broadcaster-commit.outputs.data).object.sha }}"
59+
60+ MANAGER_BUILD="${{ fromJson(steps.manager-release.outputs.data).tag_name }}"
61+ MANAGER_COMMIT="${{ fromJson(steps.manager-commit.outputs.data).object.sha }}"
62+
63+ mkdir -p out
64+
65+ echo '{
66+ "broadcaster": {
67+ "build": "'$BROADCASTER_BUILD'",
68+ "commit": "'$BROADCASTER_COMMIT'"
69+ },
70+ "manager": {
71+ "build": "'$MANAGER_BUILD'",
72+ "commit": "'$MANAGER_COMMIT'"
73+ }
74+ }' | jq -c > out/versions.json
75+
76+ - name : Upload artifact
77+ uses : actions/upload-pages-artifact@v3
78+ with :
79+ path : ./out
80+
81+ deploy :
82+ runs-on : ubuntu-latest
83+ needs : build
84+
85+ permissions :
86+ pages : write
87+ id-token : write
88+
89+ environment :
90+ name : github-pages
91+ url : ${{ steps.deployment.outputs.page_url }}
92+
93+ steps :
94+ - name : Deploy to GitHub Pages
95+ id : deployment
96+ uses : actions/deploy-pages@v4
0 commit comments