Skip to content

Family friendly

Family friendly #61

Workflow file for this run

# This is a basic workflow to help you get started with Actions
name: Build
# Controls when the action will run.
on:
# Triggers the workflow on push or pull request events but only for the master branch
push:
branches: [ main ]
pull_request:
branches: [ main ]
# For release builds
workflow_call:
inputs:
buildFlags:
required: false
type: string
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a single job called "build"
buildLinux:
runs-on: ubuntu-latest
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@main
- uses: krdlab/setup-haxe@master
with:
haxe-version: 4.3.4
- name: Restore Previous Cache
id: cache-build-linux-restore
uses: actions/cache/restore@main
with:
path: |
.haxelib/
export/release/linux/haxe/
export/release/linux/obj/
key: cache-linux-build
# Runs a set of commands using the runners shell
- name: Install Haxelib
run: |
sudo apt-get install libvlc-dev
sudo apt-get install libvlccore-dev
haxelib setup ~/haxelib
haxelib install hxcpp > /dev/null --quiet
chmod +x ./setup/unix.sh
sh ./setup/unix.sh
- name: Compile hxcpp
run: |
cd ~/haxelib/hxcpp/git/tools/run
haxe compile.hxml
cd ..
cd ./hxcpp
haxe compile.hxml
cd ../..
- name: Compile
run: haxelib run lime build linux -D ${{ inputs.buildFlags }}
- name: Clear Previous Cache
uses: actions/github-script@main
with:
script: |
try {
const caches = await github.rest.actions.getActionsCacheList({
owner: context.repo.owner,
repo: context.repo.repo,
})
if (typeof caches.data.actions_caches != null && caches.data.actions_caches.length > 0) {
for (const cache of caches.data.actions_caches) {
if (cache.key == "cache-linux-build") {
console.log('Clearing ' + cache.key + '...')
await github.rest.actions.deleteActionsCacheById({
owner: context.repo.owner,
repo: context.repo.repo,
cache_id: cache.id,
})
console.log("Previous Cache Cleared!")
}
}
}
} catch (error) {
console.log(error.message);
}
- name: Save Current Cache
id: cache-build-linux-save
uses: actions/cache/save@main
with:
path: |
.haxelib/
export/release/linux/haxe/
export/release/linux/obj/
key: cache-linux-build
- name: Publish Artifact
uses: actions/upload-artifact@main
with:
name: linuxBuild
path: export/release/linux/bin
buildWindows:
runs-on: windows-latest
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@main
- uses: krdlab/setup-haxe@master
with:
haxe-version: 4.3.4
- name: Restore Previous Cache
id: cache-build-windows-restore
uses: actions/cache/restore@main
with:
path: |
.haxelib/
export/release/windows/haxe/
export/release/windows/obj/
key: cache-windows-build
# Runs a set of commands using the runners shell
- name: Install Haxelib
run: |
haxelib setup C:/haxelib
haxelib install hxcpp > /dev/null --quiet
.\"setup/windows.bat"
shell: cmd
- name: Compile hxcpp
run: |
cd C:/haxelib/hxcpp/git/tools/run
haxe compile.hxml
cd ..
cd ./hxcpp
haxe compile.hxml
cd ../..
- name: Compile
run: haxelib run lime build windows -D ${{ inputs.buildFlags }}
- name: Clear Previous Cache
uses: actions/github-script@main
with:
script: |
try {
const caches = await github.rest.actions.getActionsCacheList({
owner: context.repo.owner,
repo: context.repo.repo,
})
if (typeof caches.data.actions_caches != null && caches.data.actions_caches.length > 0) {
for (const cache of caches.data.actions_caches) {
if (cache.key == "cache-windows-build") {
console.log('Clearing ' + cache.key + '...')
await github.rest.actions.deleteActionsCacheById({
owner: context.repo.owner,
repo: context.repo.repo,
cache_id: cache.id,
})
console.log("Previous Cache Cleared!")
}
}
}
} catch (error) {
console.log(error.message);
}
- name: Save Current Cache
id: cache-build-windows-save
uses: actions/cache/save@main
with:
path: |
.haxelib/
export/release/windows/haxe/
export/release/windows/obj/
key: cache-windows-build
- name: Publish Artifact
uses: actions/upload-artifact@main
with:
name: windowsBuild
path: export/release/windows/bin
buildMac:
runs-on: macos-12
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@main
- uses: krdlab/setup-haxe@master
with:
haxe-version: 4.3.4
- name: Restore Previous Cache
id: cache-build-macos-restore
uses: actions/cache/restore@main
with:
path: |
.haxelib/
export/release/macos/haxe/
export/release/macos/obj/
key: cache-macos-build
# Runs a set of commands using the runners shell
- name: Install Haxelib
run: |
haxelib setup ~/haxelib
haxelib install hxcpp > /dev/null --quiet
chmod +x ./setup/unix.sh
sh ./setup/unix.sh
- name: Compile hxcpp
run: |
cd ~/haxelib/hxcpp/git/tools/run
haxe compile.hxml
cd ..
cd ./hxcpp
haxe compile.hxml
cd ../..
- name: Compile
run: haxelib run lime build mac -D ${{ inputs.buildFlags }}
- name: Clear Previous Cache
uses: actions/github-script@main
with:
script: |
try {
const caches = await github.rest.actions.getActionsCacheList({
owner: context.repo.owner,
repo: context.repo.repo,
})
if (typeof caches.data.actions_caches != null && caches.data.actions_caches.length > 0) {
for (const cache of caches.data.actions_caches) {
if (cache.key == "cache-macos-build") {
console.log('Clearing ' + cache.key + '...')
await github.rest.actions.deleteActionsCacheById({
owner: context.repo.owner,
repo: context.repo.repo,
cache_id: cache.id,
})
console.log("Previous Cache Cleared!")
}
}
}
} catch (error) {
console.log(error.message);
}
- name: Save Current Cache
id: cache-build-macos-save
uses: actions/cache/save@main
with:
path: |
.haxelib/
export/release/macos/haxe/
export/release/macos/obj/
key: cache-macos-build
- name: Publish Artifact
uses: actions/upload-artifact@main
with:
name: macBuild
path: export/release/macos/bin