-
Notifications
You must be signed in to change notification settings - Fork 189
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* test github ci * pass through haxe version * Use macos-13 * better matrix config * fancier test matrix * revert fancier matrix change * Basic hxcpp setup * First haxe test attempt * cffi tests attempt * Fix debug flag for build.xml based compile * Fix all defines for build.xml based compile * Remove bash specific command * Try excluding macos from 32bits * More tests * Fix std tests * Fix differing output folder for std tests * haxe unit test * Use git switch * Try removing the escaping * Use checkout action * try sub jobs * comment out unimplemented jobs * Fully qualify working directory * try actual relative paths * try explicit working directory for all steps * try composite action * try hopefully correct composite action * cant have checkout in the setup action * Fix wrong path * Fix wrong path (again...) * Specify shell * Fix some old copy paths * explicit hxcpp path to composite action * Install gcc on linux * custom names * lets try pwsh * Do bring back the native lib stage though * More custom names * Do cffi copy on 32bit as well * build neko on 32bit as well * try a matrix telemetry * Remember setup guff * Add more test jobs * flip around cppia file name * add haxe tests suite job * Restore other ci jobs * Goodbye azure pipelines * Try splitting up into OS specific jobs * change naming again * Remove now un-needed intermediate workflow * add arch define to cffi hxml calls * Don't fail fast * Add pull request trigger * unmask mysql service * Move packaging stuff into independent yml file * limit packaging to master instead of tags * relax packaging requirements as a test * specify prs as well for the test * restrict packaging to master * Use setup-haxe fork and try macos-latest
- Loading branch information
Showing
8 changed files
with
486 additions
and
414 deletions.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,148 +1,73 @@ | ||
name: CI | ||
on: [push] | ||
|
||
jobs: | ||
build_matrix: | ||
strategy: | ||
matrix: | ||
os: [ubuntu-latest, windows-latest, macos-latest] | ||
runs-on: ${{ matrix.os }} | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v3 | ||
|
||
- uses: krdlab/setup-haxe@v1 | ||
with: | ||
haxe-version: 4.3.0 | ||
|
||
- name: Set Haxelib | ||
run: | | ||
haxe -version | ||
haxelib dev hxcpp . | ||
- name: Set Version | ||
run: haxe -cp tools/version --run Write ${{github.run_number}} > version.env | ||
|
||
|
||
- name: Build Tool | ||
run: | | ||
cd tools/hxcpp | ||
haxe compile.hxml | ||
- name: Check XCode | ||
if: startsWith(matrix.os,'macos') | ||
run: xcode-select -p | ||
|
||
- name: Build Cppia | ||
run: | | ||
cd project | ||
haxe compile-cppia.hxml -D HXCPP_M64 | ||
- name: Clean Project | ||
if: startsWith(matrix.os,'ubuntu') | ||
run: | | ||
rm -rf project/cppia_bin | ||
- name: Archive Linux Results | ||
if: startsWith(matrix.os,'ubuntu') | ||
uses: actions/upload-artifact@v3 | ||
with: | ||
name: linux-64 | ||
path: | | ||
bin/Linux64/Cppia | ||
tools | ||
toolchain | ||
version.env | ||
src | ||
run.n | ||
include | ||
hxcpp.n | ||
haxelib.json | ||
Changes.md | ||
hxcpp | ||
test | ||
docs | ||
project | ||
README.md | ||
build-tool | ||
java | ||
haxelib.xml | ||
LICENSE.txt | ||
- name: Archive Windows Results | ||
if: startsWith(matrix.os,'windows') | ||
uses: actions/upload-artifact@v3 | ||
with: | ||
name: windows-64 | ||
path: | | ||
bin/Windows64/Cppia.exe | ||
- name: Archive Mac Results | ||
if: startsWith(matrix.os,'macos') | ||
uses: actions/upload-artifact@v3 | ||
with: | ||
name: mac-64 | ||
path: | | ||
bin/Mac64/Cppia | ||
release: | ||
name: Release | ||
needs: build_matrix | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Download Linux | ||
uses: actions/download-artifact@v3 | ||
with: | ||
name: linux-64 | ||
path: hxcpp | ||
|
||
- name: Download Mac | ||
uses: actions/download-artifact@v3 | ||
with: | ||
name: mac-64 | ||
path: hxcpp/bin/Mac64/ | ||
|
||
- name: Download Windows | ||
uses: actions/download-artifact@v3 | ||
with: | ||
name: windows-64 | ||
path: hxcpp/bin/Windows64/ | ||
|
||
- name: List Files | ||
run: ls -R | ||
|
||
- name: Get Version | ||
run: | | ||
cat hxcpp/version.env | ||
cat hxcpp/version.env >> $GITHUB_ENV | ||
rm hxcpp/version.env | ||
- name: Zip release | ||
run: | | ||
mv hxcpp hxcpp-${{ env.hxcpp_release }} | ||
zip -r hxcpp-${{ env.hxcpp_release }}.zip hxcpp-${{ env.hxcpp_release }} | ||
- name: Create Release | ||
id: create_release | ||
uses: actions/create-release@v1 | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
with: | ||
tag_name: v${{ env.hxcpp_release }} | ||
release_name: Release ${{ env.hxcpp_release }} | ||
draft: false | ||
prerelease: false | ||
|
||
- name: Upload Release Asset | ||
id: upload-release-asset | ||
uses: actions/upload-release-asset@v1 | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
with: | ||
upload_url: ${{ steps.create_release.outputs.upload_url }} # This pulls from the CREATE RELEASE step above, referencing it's ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps | ||
asset_path: ./hxcpp-${{ env.hxcpp_release }}.zip | ||
asset_name: hxcpp-${{ env.hxcpp_release }}.zip | ||
asset_content_type: application/zip | ||
|
||
|
||
|
||
name: main | ||
on: [push, pull_request] | ||
|
||
jobs: | ||
Windows32: | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
haxe: [ 4.3.4, latest ] | ||
uses: ./.github/workflows/test.yml | ||
name: Test Windows (32bit) | ||
with: | ||
haxe: ${{ matrix.haxe }} | ||
arch: 32 | ||
sep: \ | ||
ext: .dll | ||
os: windows-latest | ||
|
||
Windows64: | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
haxe: [ 4.3.4, latest ] | ||
uses: ./.github/workflows/test.yml | ||
name: Test Windows (64bit) | ||
with: | ||
haxe: ${{ matrix.haxe }} | ||
arch: 64 | ||
sep: \ | ||
ext: .dll | ||
os: windows-latest | ||
|
||
MacOS: | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
haxe: [ 4.3.4, latest ] | ||
uses: ./.github/workflows/test.yml | ||
name: Test MacOS | ||
with: | ||
haxe: ${{ matrix.haxe }} | ||
arch: 64 | ||
sep: / | ||
ext: .dylib | ||
os: macos-latest | ||
|
||
Linux32: | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
haxe: [ 4.3.4, latest ] | ||
uses: ./.github/workflows/test.yml | ||
name: Test Linux (32bit) | ||
with: | ||
haxe: ${{ matrix.haxe }} | ||
arch: 32 | ||
sep: / | ||
ext: .dso | ||
os: ubuntu-latest | ||
|
||
Linux64: | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
haxe: [ 4.3.4, latest ] | ||
uses: ./.github/workflows/test.yml | ||
name: Test Linux (64bit) | ||
with: | ||
haxe: ${{ matrix.haxe }} | ||
arch: 64 | ||
sep: / | ||
ext: .dso | ||
os: ubuntu-latest |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,148 @@ | ||
name: package | ||
on: | ||
push: | ||
branches: [master] | ||
|
||
jobs: | ||
Package: | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
os: [ubuntu-latest, windows-latest, macos-latest] | ||
runs-on: ${{ matrix.os }} | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v3 | ||
|
||
- uses: Aidan63/setup-haxe@e4b347bc45596200a68804b232be9d73f80868a6 | ||
with: | ||
haxe-version: 4.3.4 | ||
|
||
- name: Set Haxelib | ||
run: | | ||
haxe -version | ||
haxelib dev hxcpp . | ||
- name: Set Version | ||
run: haxe -cp tools/version --run Write ${{github.run_number}} > version.env | ||
|
||
|
||
- name: Build Tool | ||
run: | | ||
cd tools/hxcpp | ||
haxe compile.hxml | ||
- name: Check XCode | ||
if: startsWith(matrix.os,'macos') | ||
run: xcode-select -p | ||
|
||
- name: Build Cppia | ||
run: | | ||
cd project | ||
haxe compile-cppia.hxml -D HXCPP_M64 | ||
- name: Clean Project | ||
if: startsWith(matrix.os,'ubuntu') | ||
run: | | ||
rm -rf project/cppia_bin | ||
- name: Archive Linux Results | ||
if: startsWith(matrix.os,'ubuntu') | ||
uses: actions/upload-artifact@v3 | ||
with: | ||
name: linux-64 | ||
path: | | ||
bin/Linux64/Cppia | ||
tools | ||
toolchain | ||
version.env | ||
src | ||
run.n | ||
include | ||
hxcpp.n | ||
haxelib.json | ||
Changes.md | ||
hxcpp | ||
test | ||
docs | ||
project | ||
README.md | ||
build-tool | ||
java | ||
haxelib.xml | ||
LICENSE.txt | ||
- name: Archive Windows Results | ||
if: startsWith(matrix.os,'windows') | ||
uses: actions/upload-artifact@v3 | ||
with: | ||
name: windows-64 | ||
path: | | ||
bin/Windows64/Cppia.exe | ||
- name: Archive Mac Results | ||
if: startsWith(matrix.os,'macos') | ||
uses: actions/upload-artifact@v3 | ||
with: | ||
name: mac-64 | ||
path: | | ||
bin/Mac64/Cppia | ||
Release: | ||
needs: Package | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Download Linux | ||
uses: actions/download-artifact@v3 | ||
with: | ||
name: linux-64 | ||
path: hxcpp | ||
|
||
- name: Download Mac | ||
uses: actions/download-artifact@v3 | ||
with: | ||
name: mac-64 | ||
path: hxcpp/bin/Mac64/ | ||
|
||
- name: Download Windows | ||
uses: actions/download-artifact@v3 | ||
with: | ||
name: windows-64 | ||
path: hxcpp/bin/Windows64/ | ||
|
||
- name: List Files | ||
run: ls -R | ||
|
||
- name: Get Version | ||
run: | | ||
cat hxcpp/version.env | ||
cat hxcpp/version.env >> $GITHUB_ENV | ||
rm hxcpp/version.env | ||
- name: Zip release | ||
run: | | ||
mv hxcpp hxcpp-${{ env.hxcpp_release }} | ||
zip -r hxcpp-${{ env.hxcpp_release }}.zip hxcpp-${{ env.hxcpp_release }} | ||
- name: Create Release | ||
id: create_release | ||
uses: actions/create-release@v1 | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
with: | ||
tag_name: v${{ env.hxcpp_release }} | ||
release_name: Release ${{ env.hxcpp_release }} | ||
draft: false | ||
prerelease: false | ||
|
||
- name: Upload Release Asset | ||
id: upload-release-asset | ||
uses: actions/upload-release-asset@v1 | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
with: | ||
upload_url: ${{ steps.create_release.outputs.upload_url }} # This pulls from the CREATE RELEASE step above, referencing it's ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps | ||
asset_path: ./hxcpp-${{ env.hxcpp_release }}.zip | ||
asset_name: hxcpp-${{ env.hxcpp_release }}.zip | ||
asset_content_type: application/zip |
Oops, something went wrong.