mirror of
https://github.com/mappu/miqt.git
synced 2025-01-31 02:20:22 +00:00
173 lines
5.4 KiB
YAML
173 lines
5.4 KiB
YAML
name: CI
|
|
|
|
on:
|
|
push:
|
|
branches: [ "**" ]
|
|
pull_request:
|
|
branches: [ "**" ]
|
|
|
|
jobs:
|
|
miqt_genbindings:
|
|
runs-on: ubuntu-24.04
|
|
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Cache clang ASTs
|
|
uses: actions/cache@v4
|
|
with:
|
|
path: cmd/genbindings/cachedir
|
|
key: linux64-clang-cache
|
|
|
|
- name: Rebuild binding source
|
|
run: make
|
|
|
|
- name: Assert no changes
|
|
run: git update-index --really-refresh && git diff-index HEAD
|
|
|
|
miqt_linux64_qt5:
|
|
runs-on: ubuntu-24.04
|
|
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Linux64 docker build
|
|
run: docker build -t miqt/linux64:qt5 -f docker/linux64-go1.19-qt5.15-dynamic.Dockerfile .
|
|
|
|
- name: Cache GOCACHE
|
|
uses: actions/cache@v4
|
|
with:
|
|
path: ~/.cache/go-build
|
|
key: linux64-gocache
|
|
|
|
- name: Linux64 bindings compile and test
|
|
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'
|
|
|
|
miqt_linux64_qt6_4:
|
|
runs-on: ubuntu-24.04
|
|
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Linux64 docker build
|
|
run: docker build -t miqt/linux64:qt64 -f docker/linux64-go1.19-qt6.4-dynamic.Dockerfile .
|
|
|
|
- name: Cache GOCACHE
|
|
uses: actions/cache@v4
|
|
with:
|
|
path: ~/.cache/go-build
|
|
key: linux64-qt64-gocache
|
|
|
|
- name: Linux64 bindings compile
|
|
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'
|
|
|
|
miqt_linux64_qt6_8:
|
|
runs-on: ubuntu-24.04
|
|
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Linux64 docker build
|
|
run: docker build -t miqt/linux64:qt68 -f docker/linux64-go1.23-qt6.8-dynamic.Dockerfile .
|
|
|
|
- name: Cache GOCACHE
|
|
uses: actions/cache@v4
|
|
with:
|
|
path: ~/.cache/go-build
|
|
key: linux64-qt68-gocache
|
|
|
|
- name: Linux64 bindings compile
|
|
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'
|
|
|
|
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'
|
|
|
|
miqt_win64_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: win64-gocache
|
|
|
|
- name: Win64 docker build
|
|
run: docker build -t miqt/win64:qt5 -f docker/win64-cross-go1.23-qt5.15-static.Dockerfile .
|
|
|
|
- name: Win64 bindings compile
|
|
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'
|
|
|
|
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'
|
|
|
|
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
|