online multiplayer chess game (note server currently down)
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
137
138
|
name: "export"
on:
workflow_dispatch:
push:
paths:
- "**.gd"
- "**.tscn"
- "**.import"
branches:
- main
env:
GODOT_VERSION: 3.4.4
EXPORT_NAME: chess
ITCH_PATH: bendn/chess
jobs:
export-windows:
name: Windows Export
runs-on: ubuntu-20.04
container:
image: docker://barichello/godot-ci:3.4.4
steps:
- name: Checkout
uses: actions/checkout@v2
with:
lfs: true
- name: Setup
run: |
mkdir -v -p ~/.local/share/godot/templates
mv /root/.local/share/godot/templates/${GODOT_VERSION}.stable ~/.local/share/godot/templates/${GODOT_VERSION}.stable
- name: Windows Build
run: |
mkdir -v -p build/windows
godot -v --export "Windows" ./build/windows/$EXPORT_NAME.exe
- name: Upload Artifact
uses: actions/upload-artifact@v1
with:
name: windows
path: build/windows
export-linux:
name: Linux Export
runs-on: ubuntu-20.04
container:
image: docker://barichello/godot-ci:3.4.4
steps:
- name: Checkout
uses: actions/checkout@v2
with:
lfs: true
- name: Setup
run: |
mkdir -v -p ~/.local/share/godot/templates
mv /root/.local/share/godot/templates/${GODOT_VERSION}.stable ~/.local/share/godot/templates/${GODOT_VERSION}.stable
- name: Linux Build
run: |
mkdir -v -p build/linux
godot -v --export "Linux" ./build/linux/$EXPORT_NAME.x86_64
- name: Upload Artifact
uses: actions/upload-artifact@v1
with:
name: linux
path: build/linux
export-web:
name: Web Export
runs-on: ubuntu-20.04
container:
image: docker://barichello/godot-ci:3.4.4
steps:
- name: Checkout
uses: actions/checkout@v2
with:
lfs: true
- name: Setup
run: |
mkdir -v -p ~/.local/share/godot/templates
mv /root/.local/share/godot/templates/${GODOT_VERSION}.stable ~/.local/share/godot/templates/${GODOT_VERSION}.stable
- name: Web Build
run: |
mkdir -v -p build/web
godot -v --export "HTML" ./build/web/index.html
- name: Upload Artifact
uses: actions/upload-artifact@v1
with:
name: web
path: build/web
- name: Install rsync 📚
run: |
apt-get update && apt-get install -y rsync
- name: Deploy to GitHub Pages 🚀
uses: JamesIves/github-pages-deploy-action@releases/v4
with:
branch: gh-pages # The branch the action should deploy to.
folder: build/web # The folder the action should deploy.
export-mac:
name: Mac Export
runs-on: ubuntu-20.04
container:
image: docker://barichello/godot-ci:3.4.4
steps:
- name: Checkout
uses: actions/checkout@v2
with:
lfs: true
- name: Setup
run: |
mkdir -v -p ~/.local/share/godot/templates
mv /root/.local/share/godot/templates/${GODOT_VERSION}.stable ~/.local/share/godot/templates/${GODOT_VERSION}.stable
- name: Mac Build
run: |
mkdir -v -p build/mac
godot -v --export "Mac" ./build/mac/$EXPORT_NAME.zip
- name: Upload Artifact
uses: actions/upload-artifact@v1
with:
name: mac
path: build/mac
push-itch:
needs: [export-windows, export-linux, export-web, export-mac]
name: Push to itch.io
runs-on: ubuntu-20.04
steps:
- name: Download
uses: actions/download-artifact@v3
- name: Get butler
uses: jdno/setup-butler@v1
- name: Push
run: |
function push(){ channel=$1;[[ $channel == mac ]]&&echo '#!/bin/bash
cd "$(dirname "$0")"||exit;xattr -cr "$(pwd)/chess.app";open -n -a "$(pwd)/chess.app"'>./mac/run.sh;chmod +x ./*/**;if [[ $channel != mac&&$channel != web ]];then to_push="$channel.7z";zip='7z a -mtm=off -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on';if [[ -d $channel ]];then(cd "$channel"&&$zip "../$channel.7z" ".");else $zip "$channel.7z" "$channel";fi;butler push "$to_push" "$ITCH_PATH:$channel";else to_push="$channel.zip";(cd "$channel"&&zip -r "../$channel.zip" -9 ".");butler push "$to_push" "$ITCH_PATH:$channel";fi;rm -r "$to_push" "${channel:?}";};push "web";push "linux";push "windows";unzip mac/chess.zip -d mac/&&rm mac/chess.zip;push "mac"
env:
BUTLER_API_KEY: ${{ secrets.BUTLER_CREDENTIALS }}
|