60 lines
2.4 KiB
YAML
60 lines
2.4 KiB
YAML
name: "godot-ci export"
|
|
on: push
|
|
|
|
jobs:
|
|
export_game:
|
|
runs-on: ubuntu-latest
|
|
name: Export Game Job
|
|
steps:
|
|
- name: checkout
|
|
uses: https://github.com/actions/checkout@v3.3.0
|
|
- name: install packages
|
|
id: wine_install
|
|
run: |
|
|
apt update -y && apt upgrade -y
|
|
apt install -y wine64 nodejs p7zip-full ca-certificates tree
|
|
echo "WINE_PATH=$(which wine64)" >> $GITHUB_OUTPUT
|
|
- name: download godot build libs
|
|
run: |
|
|
mkdir -p /root/.local/share/godot/
|
|
wget -nv https://downloads.tuxfamily.org/godotengine/4.0/Godot_v4.0-stable_linux.x86_64.zip -O "/root/.local/share/godot/godot.zip"
|
|
wget -nv https://downloads.tuxfamily.org/godotengine/4.0/Godot_v4.0-stable_export_templates.tpz -O /root/.local/share/godot/godot_templates.tpz
|
|
- name: setup godot build libs
|
|
run: |
|
|
7z x /root/.local/share/godot/godot.zip -o/root/.local/share/godot/godot_executable -y
|
|
chmod +x /root/.local/share/godot/godot_executable/Godot_v4.0-stable_linux.x86_64
|
|
unzip /root/.local/share/godot/godot_templates.tpz -d /root/.local/share/godot
|
|
mv /root/.local/share/godot/templates /root/.local/share/godot/4.0.stable
|
|
mkdir -p /root/.local/share/godot/export_templates
|
|
mv /root/.local/share/godot/4.0.stable /root/.local/share/godot/export_templates
|
|
/root/.local/share/godot/godot_executable/Godot_v4.0-stable_linux.x86_64 --version
|
|
- name: export for linux
|
|
run: |
|
|
mkdir -p ./builds/linux/
|
|
/root/.local/share/godot/godot_executable/Godot_v4.0-stable_linux.x86_64 /var/lib/actions/project.godot --headless -q --export-release Linux/X11 ./builds/linux/Game.x86_64
|
|
- name: package for linux
|
|
run: |
|
|
cd builds
|
|
tar -czvf linux.tar.gz -C linux/ .
|
|
- name: print info
|
|
run: |
|
|
ls
|
|
du -sh *
|
|
echo "---"
|
|
tree builds
|
|
- name: create release
|
|
run: |
|
|
curl -X 'POST' \
|
|
'https://git.euph.dev/api/v1/repos/gamedev/snake/releases' \
|
|
-H 'accept: application/json' \
|
|
-H 'Content-Type: application/json' \
|
|
-H 'Authorization: token ${{ secrets.RELEASE_TOKEN }}' \
|
|
-d '{
|
|
"body": "testA",
|
|
"draft": true,
|
|
"name": "testB",
|
|
"prerelease": true,
|
|
"tag_name": "testC",
|
|
"target_commitish": "testD"
|
|
}'
|
|
|