name: Windows Build on: push: 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.2.5 - 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 - name: Building the game run: | haxelib run lime build windows - name: Uploading artifact (entire build) uses: actions/upload-artifact@v2 with: name: Codename Engine path: export/release/windows/bin - name: Uploading artifact (executable) uses: actions/upload-artifact@v2 with: name: Update-Windows path: export/release/windows/bin/CodenameEngine.exe - 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