Merge pull request #160 from mappu/miqt-fix-go-names-change #314
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: | |
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 |