75 lines
2.5 KiB
YAML
75 lines
2.5 KiB
YAML
|
|
name: Windows Build
|
|
on:
|
|
push:
|
|
workflow_dispatch:
|
|
jobs:
|
|
build:
|
|
name: Windows Build
|
|
permissions: write-all
|
|
runs-on: windows-latest
|
|
steps:
|
|
- name: Pulling the new commit
|
|
uses: actions/checkout@v2
|
|
- name: Setting up Haxe
|
|
uses: krdlab/setup-haxe@v1
|
|
with:
|
|
haxe-version: 4.3.7
|
|
- name: Restore existing build cache for faster compilation
|
|
uses: actions/cache@v3
|
|
with:
|
|
# not caching the bin folder to prevent asset duplication and stuff like that
|
|
key: cache-build-windows
|
|
path: |
|
|
.haxelib/
|
|
export/release/windows/haxe/
|
|
export/release/windows/obj/
|
|
restore-keys: |
|
|
cache-build-windows
|
|
- name: Installing/Updating libraries
|
|
run: |
|
|
haxe -cp commandline -D analyzer-optimize --run Main setup -s --no-vscheck
|
|
- name: Building the game
|
|
run: |
|
|
haxelib run lime build windows
|
|
- name: Uploading artifact (executable)
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: Codename Engine (Executable Only)
|
|
path: export/release/windows/bin/CodenameEngine.exe
|
|
- name: Uploading artifact (entire build)
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: Codename Engine
|
|
path: export/release/windows/bin
|
|
- name: Clearing already existing cache
|
|
uses: actions/github-script@v6
|
|
with:
|
|
script: |
|
|
const caches = await github.rest.actions.getActionsCacheList({
|
|
owner: context.repo.owner,
|
|
repo: context.repo.repo,
|
|
})
|
|
for (const cache of caches.data.actions_caches) {
|
|
if (cache.key == "cache-build-windows") {
|
|
console.log('Clearing ' + cache.key + '...')
|
|
await github.rest.actions.deleteActionsCacheById({
|
|
owner: context.repo.owner,
|
|
repo: context.repo.repo,
|
|
cache_id: cache.id,
|
|
})
|
|
console.log("Cache cleared.")
|
|
}
|
|
}
|
|
- name: Uploading new cache
|
|
uses: actions/cache@v3
|
|
with:
|
|
# caching again since for some reason it doesnt work with the first post cache shit
|
|
key: cache-build-windows
|
|
path: |
|
|
.haxelib/
|
|
export/release/windows/haxe/
|
|
export/release/windows/obj/
|
|
restore-keys: |
|
|
cache-build-windows
|