Skip to content

Building addon

Building addon #25

Workflow file for this run

name: Addon build
run-name: Building addon
on:
workflow_dispatch:
inputs:
artifact_addon:
description: 'Get artifacts'
required: true
default: false
type: boolean
artifact_test_room:
description: 'Get test_room'
required: true
default: false
type: boolean
jobs:
build:
runs-on: ubuntu-latest
container:
image: archlinux:latest
steps:
- name: Installing dependencies
run: pacman -Syu --noconfirm git bash yasm python python-pip scons gcc diffutils make wget unzip tar mingw-w64 ffmpeg
- name: Checkout submodules
uses: actions/checkout@v4
with:
submodules: recursive
- name: Restore cached linux_debug
id: cache-linux-debug-restore
uses: actions/cache/restore@v4
with:
path: .scons-cache/
key: linux_debug_addon
- name: Build Linux debug
run: scons -j4 target=template_debug platform=linux arch=x86_64 use_system=yes dev_build=yes
- name: Save cache linux_debug
id: cache-linux-debug-save
uses: actions/cache/save@v4
with:
path: .scons-cache/
key: ${{ steps.cache-linux-debug-restore.outputs.cache-primary-key }}
- name: Restore cached linux_full_debug
id: cache-linux-full-debug-restore
uses: actions/cache/restore@v4
with:
path: .scons-cache/
key: linux_full_debug_addon
- name: Build Linux full debug
run: scons -j4 target=template_debug platform=linux arch=x86_64 use_system=no dev_build=yes
- name: Save cache linux_full_debug
id: cache-linux-full-debug-save
uses: actions/cache/save@v4
with:
path: .scons-cache/
key: ${{ steps.cache-linux-full-debug-restore.outputs.cache-primary-key }}
- name: Restore cached linux_release
id: cache-linux-release-restore
uses: actions/cache/restore@v4
with:
path: .scons-cache/
key: linux_release_addon
- name: Build Linux release
run: scons -j4 target=template_release platform=linux arch=x86_64 use_system=yes
- name: Save cache linux_release
id: cache-linux-release-save
uses: actions/cache/save@v4
with:
path: .scons-cache/
key: ${{ steps.cache-linux-release-restore.outputs.cache-primary-key }}
- name: Restore cached linux_full_release
id: cache-linux-full-release-restore
uses: actions/cache/restore@v4
with:
path: .scons-cache/
key: linux_full_release_addon
- name: Build Linux full release
run: scons -j4 target=template_release platform=linux arch=x86_64 use_system=no recompile_ffmpeg=no
- name: Save cache linux_full_release
id: cache-linux-full-release-save
uses: actions/cache/save@v4
with:
path: .scons-cache/
key: ${{ steps.cache-linux-full-release-restore.outputs.cache-primary-key }}
- name: Restore cached windows_debug
id: cache-windows-debug-restore
uses: actions/cache/restore@v4
with:
path: .scons-cache/
key: windows_debug_addon
- name: Build Windows debug
run: scons -j4 target=template_debug platform=windows arch=x86_64 dev_build=yes recompile_ffmpeg=yes
- name: Save cache windows_debug
id: cache-windows-debug-save
uses: actions/cache/save@v4
with:
path: .scons-cache/
key: ${{ steps.cache-windows-debug-restore.outputs.cache-primary-key }}
- name: Restore cached windows_release
id: cache-windows-release-restore
uses: actions/cache/restore@v4
with:
path: .scons-cache/
key: windows_release_addon
- name: Build Windows release
run: scons -j4 target=template_release platform=windows arch=x86_64 recompile_ffmpeg=no
- name: Save cache windows_release
id: cache-windows-release-save
uses: actions/cache/save@v4
with:
path: .scons-cache/
key: ${{ steps.cache-windows-release-restore.outputs.cache-primary-key }}
- name: Copying libs
run: |
cp -r bin/* test_room/addons/gde_gozen/bin/
cp LICENSE test_room/addons/gde_gozen/
- name: Uploading addon build
if: ${{ github.event.inputs.artifact_addon == 'true' }}
uses: actions/upload-artifact@v4
with:
name: Addon_GDE_GoZen
path: test_room/addons/
retention-days: 1
- name: Uploading test room build
if: ${{ github.event.inputs.artifact_test_room == 'true' }}
uses: actions/upload-artifact@v4
with:
name: test_room
path: test_room/
retention-days: 1