Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update automation #649

Merged
merged 1 commit into from
Apr 15, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions .github/actions/godot-export/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
name: Export Godot project
runs:
using: composite
steps:
- name: Export
shell: bash
run: |
mkdir -v -p ~/build/${BUILD_NAME}
godot --headless --export-release "${PLATFORM}" ~/build/${BUILD_NAME}/${PROJECT_NAME}.${EXTENSION}
39 changes: 39 additions & 0 deletions .github/actions/set-up-godot/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
name: Set up Godot
runs:
using: composite
steps:
- name: Make folders
shell: bash
run: |
# Set up folders for Godot editor and export templates.
# This is done before the download step because this uses caching and doesn't always need to download.
# The ~/godot directory is for the editor, so it can be added to PATH.
mkdir -v -p ~/.local/share/godot/export_templates/${GODOT_VERSION}.${GODOT_RELEASE}
mkdir -v -p ~/godot
- name: Use cache
id: godot-cache
uses:
actions/cache@v4
with:
key: ${{ env.GODOT_VERSION }}-${{ env.GODOT_RELEASE }}
path: |
~/.local/share/godot/export_templates/${{ env.GODOT_VERSION }}.${{ env.GODOT_RELEASE }}
~/godot
- name: Download Godot
if: ${{ steps.godot-cache.outputs.cache-hit != 'true' }}
shell: bash
run: |
# Download Godot editor and export templates from godot-builds repo.
wget -q https://github.com/godotengine/godot-builds/releases/download/${GODOT_VERSION}-${GODOT_RELEASE}/Godot_v${GODOT_VERSION}-${GODOT_RELEASE}_export_templates.tpz &
wget -q https://github.com/godotengine/godot-builds/releases/download/${GODOT_VERSION}-${GODOT_RELEASE}/Godot_v${GODOT_VERSION}-${GODOT_RELEASE}_linux.x86_64.zip &
wait
# Unpack the files.
unzip Godot_v${GODOT_VERSION}-${GODOT_RELEASE}_linux.x86_64.zip -d ~ &
unzip Godot_v${GODOT_VERSION}-${GODOT_RELEASE}_export_templates.tpz -d ~ &
wait
# Move to correct places.
mv ~/templates/* ~/.local/share/godot/export_templates/${GODOT_VERSION}.${GODOT_RELEASE}
mv ~/Godot_v${GODOT_VERSION}-${GODOT_RELEASE}_linux.x86_64 ~/godot/godot
- name: Add Godot to path
shell: bash
run: echo "~/godot" >> $GITHUB_PATH
59 changes: 0 additions & 59 deletions .github/workflows/dev-build.yml

This file was deleted.

81 changes: 81 additions & 0 deletions .github/workflows/dev-desktop.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
name: dev-desktop

on:
workflow_dispatch:
push:
branches: [ main ]
pull_request:
branches: [ main ]


env:
GODOT_VERSION: 4.2.2
GODOT_RELEASE: rc3
PROJECT_NAME: GodSVG


jobs:
export-windows:
name: Export GodSVG for Windows
runs-on: ubuntu-latest
env:
PLATFORM: "Windows Desktop"
EXTENSION: "exe"
BUILD_NAME: "windows-64bit"
steps:
- name: Checkout repo
uses: actions/checkout@v4
- name: Set up Godot
uses: ./.github/actions/set-up-godot
- name: Set up WINE and rcedit for Windows export
run: |
# Download rcedit and intall wine.
wget -q https://github.com/electron/rcedit/releases/download/v1.1.1/rcedit-x64.exe
sudo apt install wine64
# Move rcedit to different place.
mkdir -v -p ~/.local/share/rcedit
mv rcedit-x64.exe ~/.local/share/rcedit
# CD out of project directory so Godot doesn't load it.
cd ~
# Run Godot to generate editor config file.
godot --headless --quit
# Add wine and rcedit paths to Godot config.
echo 'export/windows/wine = "/usr/bin/wine64"' >> ~/.config/godot/editor_settings-4.tres
echo 'export/windows/rcedit = "/home/runner/.local/share/rcedit/rcedit-x64.exe"' >> ~/.config/godot/editor_settings-4.tres
- name: Export project
uses: ./.github/actions/godot-export
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: ${{ env.BUILD_NAME }}
path: ~/build/${{ env.BUILD_NAME }}/
if-no-files-found: error
retention-days: 14

export-linux:
name: Export GodSVG for Linux
runs-on: ubuntu-latest
env:
PLATFORM: "Linux/X11"
EXTENSION: "x86_64"
BUILD_NAME: "linux-64bit"
steps:
- name: Checkout repo
uses: actions/checkout@v4
- name: Set up Godot
uses: ./.github/actions/set-up-godot
- name: Export project
uses: ./.github/actions/godot-export
- name: Make Linux export runnable
run: |
# Set run permission.
chmod +x ~/build/${BUILD_NAME}/${PROJECT_NAME}.x86_64
cd ~/build
tar zcvf ${BUILD_NAME}.tar.gz ${BUILD_NAME}
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: ${{ env.BUILD_NAME }}
path: ~/build/${{ env.BUILD_NAME }}.tar.gz
if-no-files-found: error
retention-days: 14
4 changes: 2 additions & 2 deletions export_presets.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -217,7 +217,7 @@ export_filter="exclude"
export_files=PackedStringArray()
include_filter=""
exclude_filter="web-build/*, *.md, *.ico, visual/editor_only/*"
export_path="../GodSVG meta/GodSVG exports/GodSVG.html"
export_path=""
encryption_include_filters=""
encryption_exclude_filters=""
encrypt_pck=false
Expand All @@ -226,7 +226,7 @@ encrypt_directory=false
[preset.3.options]

custom_template/debug=""
custom_template/release="/home/volter/Desktop/godot/bin/web_release.zip"
custom_template/release=""
variant/extensions_support=false
vram_texture_compression/for_desktop=true
vram_texture_compression/for_mobile=false
Expand Down