debug builds in actions #805
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Mac OS Builds | |
| on: | |
| push: | |
| workflow_dispatch: | |
| jobs: | |
| build: | |
| name: Mac OS Build | |
| permissions: write-all | |
| runs-on: macos-14 | |
| steps: | |
| - name: Pulling the new commit | |
| uses: actions/checkout@v4 | |
| - name: Setting up Haxe | |
| uses: krdlab/setup-haxe@v2 | |
| with: | |
| haxe-version: 4.3.7 | |
| - name: Restore existing build cache for faster compilation | |
| uses: actions/cache@v4.2.3 | |
| with: | |
| # not caching the bin folder to prevent asset duplication and stuff like that | |
| key: cache-build-mac | |
| path: | | |
| .haxelib/ | |
| export/release/macos/haxe/ | |
| export/release/macos/obj/ | |
| - run: | | |
| echo "HXCPP_COMPILE_CACHE=~/.hxcpp" >> $GITHUB_ENV | |
| - name: Installing/Updating libraries | |
| run: | | |
| haxe -cp commandline -D analyzer-optimize --run Main setup -s | |
| - name: Building the game | |
| run: | | |
| arch -x86_64 haxelib run lime build mac | |
| - name: Tar files | |
| run: tar -zcvf CodenameEngine.tar.gz -C export/release/macos/bin . | |
| - name: Uploading artifact (executable) | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: Codename Engine (Executable Only) | |
| path: export/release/macos/bin/CodenameEngine.app/Contents/MacOS/CodenameEngine | |
| - name: Uploading artifact (entire build) | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: Codename Engine | |
| path: CodenameEngine.tar.gz | |
| - 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-mac") { | |
| 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@v4.2.3 | |
| with: | |
| # caching again since for some reason it doesnt work with the first post cache shit | |
| key: cache-build-mac | |
| path: | | |
| .haxelib/ | |
| export/release/macos/haxe/ | |
| export/release/macos/obj/ | |
| # didnt compile debug in the same job or github would have said that job wasn't completed until debug was done too (debug uploads are not essential) | |
| debug_build: | |
| name: Mac OS Debug Build | |
| permissions: write-all | |
| runs-on: macos-14 | |
| needs: build # since its low priority, it'll run after, so actions will concentrate first on normal builds | |
| steps: | |
| - name: Pulling the new commit | |
| uses: actions/checkout@v4 | |
| - name: Setting up Haxe | |
| uses: krdlab/setup-haxe@v2 | |
| with: | |
| haxe-version: 4.3.7 | |
| - name: Restore existing build cache for faster compilation | |
| uses: actions/cache@v4.2.3 | |
| with: | |
| # not caching the bin folder to prevent asset duplication and stuff like that | |
| key: cache-build-mac-debug | |
| path: | | |
| .haxelib/ | |
| export/debug/macos/haxe/ | |
| export/debug/macos/obj/ | |
| - run: | | |
| echo "HXCPP_COMPILE_CACHE=~/.hxcpp" >> $GITHUB_ENV | |
| - name: Installing/Updating libraries | |
| run: | | |
| haxe -cp commandline -D analyzer-optimize --run Main setup -s | |
| - name: Building the game | |
| run: | | |
| arch -x86_64 haxelib run lime build mac | |
| - name: Tar files | |
| run: tar -zcvf CodenameEngine.tar.gz -C export/debug/macos/bin . | |
| - name: Uploading artifact (entire build) | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: Codename Engine Debug | |
| path: CodenameEngine.tar.gz | |
| - 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-mac-debug") { | |
| 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@v4.2.3 | |
| with: | |
| # caching again since for some reason it doesnt work with the first post cache shit | |
| key: cache-build-mac-debug | |
| path: | | |
| .haxelib/ | |
| export/debug/macos/haxe/ | |
| export/debug/macos/obj/ |