Merge branch 'FunkinCrew:funkin-rebase' into funkin-rebase #5
This file contains 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: CI | |
on: [push, pull_request] | |
jobs: | |
unit-test-neko-haxe3: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- uses: krdlab/setup-haxe@v1 | |
with: | |
haxe-version: 3.4.7 | |
- name: Set HAXEPATH | |
run: | | |
echo "HAXEPATH=$HAXE_STD_PATH/.." >> $GITHUB_ENV | |
- name: Install Haxe dependencies | |
run: | | |
haxelib install hxcpp --quiet | |
haxelib install format --quiet | |
haxelib install hxp --quiet | |
haxelib install lime 8.1.3 --quiet | |
haxelib install utest --quiet | |
- name: Setup environment | |
run: | | |
haxelib dev openfl ${{ github.workspace }} | |
- name: Install command aliases | |
run: | | |
haxelib run lime setup -alias -y | |
haxelib run openfl setup -alias -y | |
- name: Run tests on Neko | |
run: | | |
haxelib run hxp test -Dtarget=neko -verbose --install-hxp-alias | |
unit-test-neko: | |
strategy: | |
matrix: | |
haxe-version: [4.0.5, 4.1.5, 4.2.5, 4.3.6] | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- uses: krdlab/setup-haxe@v1 | |
with: | |
haxe-version: ${{ matrix.haxe-version }} | |
- name: Set HAXEPATH | |
run: | | |
echo "HAXEPATH=$HAXE_STD_PATH/.." >> $GITHUB_ENV | |
- name: Install Haxe dependencies | |
run: | | |
haxelib install hxcpp --quiet | |
haxelib install format --quiet | |
haxelib install hxp --quiet | |
haxelib install lime 8.1.3 --quiet | |
haxelib install utest --quiet | |
- name: Setup environment | |
run: | | |
haxelib dev openfl ${{ github.workspace }} | |
- name: Install command aliases | |
run: | | |
haxelib run lime setup -alias -y | |
haxelib run openfl setup -alias -y | |
- name: Run tests on Neko | |
run: | | |
haxelib run hxp test -Dtarget=neko -Duse-lime-tools -verbose --install-hxp-alias | |
unit-test-hashlink: | |
strategy: | |
matrix: | |
# Lime doesn't support Haxe 3 with HashLink | |
haxe-version: [4.0.5, 4.1.5, 4.2.5] | |
# AL init fails on both windows and ubuntu | |
# macos-14 is arm64, which setup-haxe doesn't support yet | |
runs-on: macos-13 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- uses: krdlab/setup-haxe@v1 | |
with: | |
haxe-version: ${{ matrix.haxe-version }} | |
- name: Set HAXEPATH | |
run: | | |
echo "HAXEPATH=$HAXE_STD_PATH/.." >> $GITHUB_ENV | |
- name: Install Haxe dependencies | |
run: | | |
haxelib install hxcpp --quiet | |
haxelib install format --quiet | |
haxelib install hxp --quiet | |
haxelib install lime --quiet | |
haxelib install utest --quiet | |
- name: Setup environment | |
run: | | |
haxelib dev openfl ${{ github.workspace }} | |
- name: Install command aliases | |
run: | | |
haxelib run lime setup -alias -y | |
haxelib run openfl setup -alias -y | |
- name: Run tests on HashLink | |
run: | | |
haxelib run hxp test -Dtarget=hl -Duse-lime-tools -verbose --install-hxp-alias | |
unit-test-lime-develop: | |
runs-on: macos-12 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- uses: krdlab/setup-haxe@master | |
with: | |
haxe-version: 4.3.6 | |
- uses: joshtynjala/setup-adobe-air-action@v2 | |
with: | |
air-version: "33.1" | |
accept-license: true | |
- name: Set HAXEPATH | |
run: | | |
echo "HAXEPATH=$HAXE_STD_PATH/.." >> $GITHUB_ENV | |
- name: Install Haxe dependencies | |
run: | | |
haxelib install hxcpp --quiet | |
haxelib install format --quiet | |
haxelib install hxp --quiet | |
haxelib install utest --quiet | |
- name: Print Haxe Version | |
run: haxe -version | |
- name: Install dependencies with Homebrew | |
run: | | |
brew update | |
rm /usr/local/bin/2to3* | |
rm /usr/local/bin/idle3* | |
rm /usr/local/bin/pydoc3* | |
rm /usr/local/bin/python3* | |
brew install mbedtls | |
- name: Setup environment | |
run: | | |
haxelib dev openfl ${{ github.workspace }} | |
- name: Setup Lime dev | |
run: | | |
haxelib git lime https://github.com/openfl/lime | |
haxelib run lime rebuild tools | |
haxelib run lime rebuild hl | |
haxelib run lime config AIR_SDK ${{ env.AIR_HOME }} | |
- name: Install command aliases | |
run: | | |
haxelib run lime setup -alias -y | |
haxelib run openfl setup -alias -y | |
- name: Run tests on Neko | |
run: | | |
haxelib run hxp test -Dtarget=neko -Duse-lime-tools -verbose --install-hxp-alias | |
- name: Run tests on Hashlink | |
run: | | |
haxelib run hxp test -Dtarget=hl -Duse-lime-tools -verbose --install-hxp-alias | |
- name: Run tests on Adobe AIR | |
run: | | |
haxelib run hxp test -Dtarget=air -Duse-lime-tools -verbose --install-hxp-alias | |
unit-test-air: | |
strategy: | |
matrix: | |
haxe-version: [3.4.7, 4.0.5, 4.1.5, 4.2.5, 4.3.6] | |
runs-on: windows-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- uses: krdlab/setup-haxe@v1 | |
with: | |
haxe-version: ${{ matrix.haxe-version }} | |
- uses: joshtynjala/setup-adobe-air-action@v2 | |
with: | |
air-version: "33.1" | |
accept-license: true | |
- name: Set HAXEPATH | |
run: | | |
echo "HAXEPATH=$Env:HAXE_STD_PATH\.." >> $Env:GITHUB_ENV | |
- name: Install Haxe dependencies | |
run: | | |
haxelib install hxcpp --quiet | |
haxelib install format --quiet | |
haxelib install hxp --quiet | |
haxelib install lime --quiet | |
haxelib install utest --quiet | |
haxelib run lime config AIR_SDK ${{ env.AIR_HOME }} | |
- name: Setup environment | |
run: | | |
haxelib dev openfl ${{ github.workspace }} | |
- name: Install command aliases | |
run: | | |
haxelib run lime setup -alias -y | |
haxelib run openfl setup -alias -y | |
- name: Run tests on Adobe AIR | |
run: | | |
haxelib run hxp test -Dtarget=air -Duse-lime-tools -verbose --install-hxp-alias | |
package-haxelib: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- uses: krdlab/setup-haxe@v1 | |
with: | |
haxe-version: 4.2.5 | |
- name: Set HAXEPATH | |
run: | | |
echo "HAXEPATH=$HAXE_STD_PATH/.." >> $GITHUB_ENV | |
- name: Install Haxe dependencies | |
run: | | |
haxelib install hxp --quiet | |
- name: Rebuild OpenFL run.n | |
working-directory: scripts | |
run: | | |
haxe run.hxml | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: openfl-haxelib | |
path: | | |
./ | |
!tests/ | |
!haxe-*-*/ | |
!neko-*-*/ | |
!.git/ | |
if-no-files-found: error | |
docs: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- uses: krdlab/setup-haxe@v1 | |
with: | |
haxe-version: 4.2.5 | |
- name: Set HAXEPATH | |
run: | | |
echo "HAXEPATH=$HAXE_STD_PATH/.." >> $GITHUB_ENV | |
- name: Install Haxe dependencies | |
run: | | |
haxelib install hxcpp --quiet | |
haxelib install format --quiet | |
haxelib install hxp --quiet | |
haxelib install lime --quiet | |
haxelib git dox https://github.com/HaxeFoundation/dox --quiet --never | |
haxelib dev openfl ${{ github.workspace }} | |
- name: Build docs | |
working-directory: scripts | |
run: | | |
haxe docs.hxml | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: openfl-docs | |
path: docs | |
if-no-files-found: error | |
neko-samples: | |
needs: package-haxelib | |
strategy: | |
matrix: | |
haxe-version: [3.4.7, 4.0.5, 4.1.5, 4.2.5, 4.3.6] | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: krdlab/setup-haxe@v1 | |
with: | |
haxe-version: ${{ matrix.haxe-version }} | |
- name: Set HAXEPATH | |
run: | | |
echo "HAXEPATH=$HAXE_STD_PATH/.." >> $GITHUB_ENV | |
- name: Install Haxe dependencies | |
run: | | |
haxelib install lime --quiet | |
haxelib install actuate --quiet | |
haxelib git openfl-samples https://github.com/openfl/openfl-samples --quiet | |
- uses: actions/download-artifact@v4 | |
with: | |
name: openfl-haxelib | |
path: openfl-haxelib | |
- name: Prepare openfl | |
run: | | |
haxelib dev openfl openfl-haxelib | |
haxelib run lime setup -alias -y | |
haxelib run openfl setup -alias -y | |
- name: Create OpenFL samples | |
run: | | |
openfl create DisplayingABitmap -verbose -nocolor | |
openfl create SimpleTilemap -verbose -nocolor | |
openfl create PlayingSound -verbose -nocolor | |
openfl create BunnyMark -verbose -nocolor | |
openfl create PiratePig -verbose -nocolor | |
- name: Build OpenFL samples | |
run: | | |
lime build DisplayingABitmap neko -release -verbose -nocolor | |
lime build SimpleTilemap neko -release -verbose -nocolor | |
lime build PlayingSound neko -release -verbose -nocolor | |
lime build BunnyMark neko -release -verbose -nocolor | |
lime build PiratePig neko -release -verbose -nocolor | |
html5-samples: | |
needs: package-haxelib | |
runs-on: windows-latest | |
steps: | |
- uses: krdlab/setup-haxe@v1 | |
with: | |
haxe-version: 4.1.5 | |
- name: Set HAXEPATH | |
run: | | |
echo "HAXEPATH=$Env:HAXE_STD_PATH\.." >> $Env:GITHUB_ENV | |
- name: Install Haxe dependencies | |
run: | | |
haxelib install lime --quiet | |
haxelib install actuate --quiet | |
haxelib install genes --quiet | |
haxelib git openfl-samples https://github.com/openfl/openfl-samples --quiet | |
- uses: actions/download-artifact@v4 | |
with: | |
name: openfl-haxelib | |
path: openfl-haxelib | |
- name: Prepare openfl | |
run: | | |
haxelib dev openfl openfl-haxelib | |
haxelib run lime setup -alias -y | |
haxelib run openfl setup -alias -y | |
- name: Create OpenFL samples | |
run: | | |
openfl create DisplayingABitmap -verbose -nocolor | |
openfl create SimpleTilemap -verbose -nocolor | |
openfl create PlayingSound -verbose -nocolor | |
openfl create BunnyMark -verbose -nocolor | |
openfl create PiratePig -verbose -nocolor | |
- name: Build OpenFL samples | |
run: | | |
lime build DisplayingABitmap html5 -release -verbose -nocolor | |
lime build SimpleTilemap html5 -release -verbose -nocolor | |
lime build PlayingSound html5 -release -verbose -nocolor | |
lime build BunnyMark html5 -release -verbose -nocolor | |
lime build PiratePig html5 -release -verbose -nocolor | |
- name: Build OpenFL samples with Genes | |
run: | | |
lime build DisplayingABitmap html5 -clean -release -verbose -nocolor --haxelib=genes | |
lime build SimpleTilemap html5 -clean -release -verbose -nocolor --haxelib=genes | |
lime build PlayingSound html5 -clean -release -verbose -nocolor --haxelib=genes | |
lime build BunnyMark html5 -clean -release -verbose -nocolor --haxelib=genes | |
lime build PiratePig html5 -clean -release -verbose -nocolor --haxelib=genes | |
flash-samples: | |
needs: package-haxelib | |
runs-on: ubuntu-latest | |
steps: | |
- uses: krdlab/setup-haxe@v1 | |
with: | |
haxe-version: 4.2.5 | |
- name: Set HAXEPATH | |
run: | | |
echo "HAXEPATH=$HAXE_STD_PATH/.." >> $GITHUB_ENV | |
- name: Install Haxe dependencies | |
run: | | |
haxelib install lime --quiet | |
haxelib install actuate --quiet | |
haxelib git openfl-samples https://github.com/openfl/openfl-samples --quiet | |
- uses: actions/download-artifact@v4 | |
with: | |
name: openfl-haxelib | |
path: openfl-haxelib | |
- name: Prepare openfl | |
run: | | |
haxelib dev openfl openfl-haxelib | |
haxelib run lime setup -alias -y | |
haxelib run openfl setup -alias -y | |
- name: Create OpenFL samples | |
run: | | |
openfl create DisplayingABitmap -verbose -nocolor | |
openfl create SimpleTilemap -verbose -nocolor | |
openfl create PlayingSound -verbose -nocolor | |
openfl create BunnyMark -verbose -nocolor | |
openfl create PiratePig -verbose -nocolor | |
- name: Build OpenFL samples | |
run: | | |
lime build DisplayingABitmap flash -release -verbose -nocolor | |
lime build SimpleTilemap flash -release -verbose -nocolor | |
lime build PlayingSound flash -release -verbose -nocolor | |
lime build BunnyMark flash -release -verbose -nocolor | |
lime build PiratePig flash -release -verbose -nocolor | |
hashlink-samples: | |
needs: package-haxelib | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: krdlab/setup-haxe@v1 | |
with: | |
haxe-version: 4.2.5 | |
- name: Set HAXEPATH | |
run: | | |
echo "HAXEPATH=$HAXE_STD_PATH/.." >> $GITHUB_ENV | |
- name: Install Haxe dependencies | |
run: | | |
haxelib install lime --quiet | |
haxelib install actuate --quiet | |
haxelib git openfl-samples https://github.com/openfl/openfl-samples --quiet | |
- uses: actions/download-artifact@v4 | |
with: | |
name: openfl-haxelib | |
path: openfl-haxelib | |
- name: Prepare openfl | |
run: | | |
haxelib dev openfl openfl-haxelib | |
haxelib run lime setup -alias -y | |
haxelib run openfl setup -alias -y | |
- name: Create OpenFL samples | |
run: | | |
openfl create DisplayingABitmap -verbose -nocolor | |
openfl create SimpleTilemap -verbose -nocolor | |
openfl create PlayingSound -verbose -nocolor | |
openfl create BunnyMark -verbose -nocolor | |
openfl create PiratePig -verbose -nocolor | |
- name: Build OpenFL samples | |
run: | | |
lime build DisplayingABitmap hl -release -verbose -nocolor | |
lime build SimpleTilemap hl -release -verbose -nocolor | |
lime build PlayingSound hl -release -verbose -nocolor | |
lime build BunnyMark hl -release -verbose -nocolor | |
lime build PiratePig hl -release -verbose -nocolor | |
notify: | |
runs-on: ubuntu-latest | |
needs: [package-haxelib, docs, unit-test-neko-haxe3, unit-test-neko, unit-test-hashlink, unit-test-air, html5-samples, flash-samples, neko-samples, hashlink-samples] | |
if: ${{ github.repository == 'openfl/openfl' && github.event_name != 'pull_request' }} | |
steps: | |
- name: Notify Discord | |
uses: nobrayner/discord-webhook@v1 | |
with: | |
github-token: ${{ secrets.github_token }} | |
discord-webhook: ${{ secrets.DISCORD_WEBHOOK }} | |
include-details: 'false' |