2024-09-09 19:47:32 +12:00
name : CI
2024-09-09 18:46:52 +12:00
on :
push :
branches : [ "**" ]
pull_request :
branches : [ "**" ]
jobs :
2024-09-14 16:24:00 +12:00
miqt_genbindings :
2024-10-20 19:13:19 +13:00
runs-on : ubuntu-24.04
2024-09-09 18:46:52 +12:00
steps :
- name : Checkout
uses : actions/checkout@v4
2025-01-09 13:09:26 +01:00
2024-09-09 19:47:32 +12:00
- name : Cache clang ASTs
uses : actions/cache@v4
with :
path : cmd/genbindings/cachedir
key : linux64-clang-cache
2024-09-09 18:46:52 +12:00
- name : Rebuild binding source
2025-01-09 13:09:26 +01:00
run : make
2024-09-09 18:46:52 +12:00
- name : Assert no changes
run : git update-index --really-refresh && git diff-index HEAD
2024-10-20 19:12:52 +13:00
miqt_linux64_qt5 :
2024-10-20 19:13:19 +13:00
runs-on : ubuntu-24.04
2024-09-14 16:24:00 +12:00
steps :
- name : Checkout
uses : actions/checkout@v4
- name : Linux64 docker build
2024-10-26 12:34:13 +13:00
run : docker build -t miqt/linux64:qt5 -f docker/linux64-go1.19-qt5.15-dynamic.Dockerfile .
2024-09-14 16:24:00 +12:00
- name : Cache GOCACHE
uses : actions/cache@v4
with :
path : ~/.cache/go-build
key : linux64-gocache
2024-10-19 15:53:15 +13:00
- name : Linux64 bindings compile and test
2024-10-26 12:34:13 +13:00
run : docker run -v ~/.cache/go-build:/root/.cache/go-build -v $PWD:/src -w /src miqt/linux64:qt5 /bin/bash -c 'cd qt && go build && cd ../examples/marshalling && env QT_QPA_PLATFORM=offscreen go test -v'
2024-09-09 19:47:32 +12:00
2024-10-26 12:34:13 +13:00
miqt_linux64_qt6_4 :
2024-10-20 19:13:19 +13:00
runs-on : ubuntu-24.04
2024-10-20 19:12:52 +13:00
steps :
- name : Checkout
uses : actions/checkout@v4
- name : Linux64 docker build
2024-10-26 12:34:13 +13:00
run : docker build -t miqt/linux64:qt64 -f docker/linux64-go1.19-qt6.4-dynamic.Dockerfile .
2024-10-20 19:12:52 +13:00
- name : Cache GOCACHE
uses : actions/cache@v4
with :
path : ~/.cache/go-build
2024-10-26 12:34:13 +13:00
key : linux64-qt64-gocache
2024-10-20 19:12:52 +13:00
- name : Linux64 bindings compile
2024-10-26 12:34:13 +13:00
run : docker run -v ~/.cache/go-build:/root/.cache/go-build -v $PWD:/src -w /src miqt/linux64:qt64 /bin/bash -c 'cd qt6 && go build'
2024-10-20 19:12:52 +13:00
2024-11-22 18:58:38 +13:00
miqt_linux64_qt6_8 :
2024-10-26 12:34:13 +13:00
runs-on : ubuntu-24.04
steps :
- name : Checkout
uses : actions/checkout@v4
- name : Linux64 docker build
2024-11-22 18:58:38 +13:00
run : docker build -t miqt/linux64:qt68 -f docker/linux64-go1.23-qt6.8-dynamic.Dockerfile .
2024-10-26 12:34:13 +13:00
- name : Cache GOCACHE
uses : actions/cache@v4
with :
path : ~/.cache/go-build
2024-11-22 18:58:38 +13:00
key : linux64-qt68-gocache
2024-10-26 12:34:13 +13:00
- name : Linux64 bindings compile
2024-11-22 18:58:38 +13:00
run : docker run -v ~/.cache/go-build:/root/.cache/go-build -v $PWD:/src -w /src miqt/linux64:qt68 /bin/bash -c 'cd qt6 && go build'
2024-10-26 12:34:13 +13:00
2025-01-11 16:35:01 +13:00
miqt_win32_qt5 :
runs-on : ubuntu-24.04
steps :
- name : Checkout
uses : actions/checkout@v4
- name : Cache GOCACHE
uses : actions/cache@v4
with :
path : ~/.cache/go-build
key : win32-gocache
- name : Win32 docker build
run : docker build -t miqt/win32:qt5 -f docker/win32-cross-go1.23-qt5.15-static.Dockerfile .
- name : Win32 bindings compile
run : docker run -v ~/.cache/go-build:/root/.cache/go-build -v $PWD:/src -w /src miqt/win32:qt5 /bin/bash -c 'cd qt && go build'
2024-10-26 12:34:13 +13:00
miqt_win64_qt5 :
2024-10-20 19:13:19 +13:00
runs-on : ubuntu-24.04
2024-09-09 19:47:32 +12:00
steps :
- name : Checkout
uses : actions/checkout@v4
- name : Cache GOCACHE
uses : actions/cache@v4
with :
path : ~/.cache/go-build
key : win64-gocache
2024-09-09 18:46:52 +12:00
- name : Win64 docker build
2025-01-11 16:34:28 +13:00
run : docker build -t miqt/win64:qt5 -f docker/win64-cross-go1.23-qt5.15-static.Dockerfile .
2024-09-09 18:46:52 +12:00
- name : Win64 bindings compile
2025-01-11 16:34:28 +13:00
run : docker run -v ~/.cache/go-build:/root/.cache/go-build -v $PWD:/src -w /src miqt/win64:qt5 /bin/bash -c 'cd qt && go build'
2025-01-11 17:19:50 +13:00
miqt_win64_qt68 :
runs-on : ubuntu-24.04
steps :
- name : Checkout
uses : actions/checkout@v4
- name : Cache GOCACHE
uses : actions/cache@v4
with :
path : ~/.cache/go-build
key : win64-gocache
- name : Win64 docker build
run : docker build -t miqt/win64:qt68 -f docker/win64-cross-go1.23-qt6.8-dynamic.Dockerfile .
- name : Win64 bindings compile
run : docker run -v ~/.cache/go-build:/root/.cache/go-build -v $PWD:/src -w /src miqt/win64:qt68 /bin/bash -c 'cd qt6 && go build'
2025-01-25 11:11:09 +13:00
miqt_android_qt5 :
runs-on : ubuntu-24.04
steps :
- name : Checkout
uses : actions/checkout@v4
- name : Android armv8a docker build
run : docker build -t miqt/android:qt5 -f docker/android-armv8a-go1.23-qt5.15-dynamic.Dockerfile .
- name : Cache GOCACHE
uses : actions/cache@v4
with :
path : ~/.cache/go-build
key : android-armv8a-gocache
- name : Android compile app as c-shared my_go_app.so
run : docker run -v ~/.cache/go-build:/root/.cache/go-build -v $PWD:/src -w /src/examples/android miqt/android:qt5 go build -buildmode c-shared -ldflags "-s -w -extldflags -Wl,-soname,my_go_app.so" -o android-build/libs/arm64-v8a/my_go_app.so
- name : Android generate libRealAppName.so linking stub
run : docker run -v ~/.cache/go-build:/root/.cache/go-build -v $PWD:/src -w /src/examples/android miqt/android:qt5 android-stub-gen.sh my_go_app.so AndroidMain android-build/libs/arm64-v8a/libRealAppName_arm64-v8a.so
- name : Android generate json packaging metadata
run : docker run --rm -v $(pwd):/src -w /src/examples/android miqt/android:qt5 android-mktemplate.sh RealAppName deployment-settings.json
- name : Android build APK package
run : docker run --rm -v $(pwd):/src -w /src/examples/android miqt/android:qt5 androiddeployqt --input ./deployment-settings.json --output ./android-build/
- name : Verify that package exists
run : test -f examples/android/android-build/build/outputs/apk/debug/android-build-debug.apk