Compare commits

...

8 Commits

Author SHA1 Message Date
Roberto Viola
f64c389df9 Update main.yml 2022-06-03 16:21:48 +02:00
Roberto Viola
5fa895e561 Update main.yml 2022-06-03 16:20:15 +02:00
Roberto Viola
9f2eff21e2 Update main.yml 2022-06-03 16:03:52 +02:00
Roberto Viola
4c0533c43f Update main.yml 2022-06-03 16:02:24 +02:00
Roberto Viola
853cb4108d Update main.yml 2022-06-03 15:57:07 +02:00
Roberto Viola
249b0bdbb4 Update main.yml 2022-06-03 15:55:58 +02:00
Roberto Viola
fd363c2558 Update main.yml 2022-06-03 15:51:03 +02:00
Roberto Viola
4535ac0cda Update main.yml 2022-06-03 15:49:10 +02:00

View File

@@ -10,7 +10,7 @@ env:
on:
workflow_dispatch:
push:
branches: [ master, github-workflow-playground ]
branches: [ master, github-workflow-playground, local-runner ]
pull_request:
branches: [ master ]
schedule:
@@ -18,199 +18,21 @@ on:
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
window-build:
runs-on: windows-latest
steps:
- uses: actions/checkout@v2
- name: Checkout submodule repo
uses: actions/checkout@v2
with:
repository: bluetiger9/SmtpClient-for-Qt
path: "src/smtpclient/"
ref: 3fa4a0fe5797070339422cf18b5e9ed8dcb91f9c
- uses: actions/checkout@v2
- name: Checkout submodule repo
uses: actions/checkout@v2
with:
repository: cagnulein/qmdnsengine
path: "src/qmdnsengine/"
ref: "zwift"
- uses: actions/checkout@v2
- name: Checkout submodule repo
uses: actions/checkout@v2
with:
repository: microsoft/MSIX-Toolkit
path: "src/MSIX-Toolkit/"
ref: b82af826d29e93e4c85d34fad8a405b6c49905e7
- uses: msys2/setup-msys2@v2
with:
install: mingw-w64-x86_64-toolchain
msystem: mingw64
release: false
- name: Setup cmake
uses: jwlawson/actions-setup-cmake@v1.9
with:
cmake-version: '3.20.x'
- name: Install Qt
uses: jurplel/install-qt-action@v2
with:
version: '5.15.2'
host: 'windows'
modules: 'qtnetworkauth qtcharts'
target: "desktop"
arch: win64_mingw81
dir: "${{github.workspace}}/qt/"
install-deps: "true"
- name: Build
run: |
cd src
qmake
echo "#define STRAVA_SECRET_KEY ${{ secrets.strava_secret_key }}" > secret.h
echo "#define SMTP_USERNAME ${{ secrets.smtp_username }}" >> secret.h
echo "#define SMTP_PASSWORD ${{ secrets.smtp_password }}" >> secret.h
echo "#define SMTP_SERVER ${{ secrets.smtp_server }}" >> secret.h
make -j8
cd release
mkdir output
mkdir appx
cp qdomyos-zwift.exe output/
cd output
windeployqt --qmldir ../../ qdomyos-zwift.exe
cp "${{github.workspace}}/qt/Qt/5.15.2/mingw81_64/bin/libwinpthread-1.dll" .
cp "${{github.workspace}}/qt/Qt/5.15.2/mingw81_64/bin/libgcc_s_seh-1.dll" .
cp "${{github.workspace}}/qt/Qt/5.15.2/mingw81_64/bin/libstdc++-6.dll" .
cp ../../../icons/iOS/iTunesArtwork@2x.png .
cp ../../AppxManifest.xml .
cd ..
cd appx
#../../MSIX-Toolkit/WindowsSDK/10/10.0.20348.0/x64/makeappx.exe pack /d ../output/ /p qz
- name: Archive windows binary
uses: actions/upload-artifact@v2
with:
name: windows-binary
path: src/release/output
# This workflow contains a single job called "build"
build:
# The type of runner that the job will run on
runs-on: ubuntu-latest
# Steps represent a sequence of tasks that will be executed as part of the job
runs-on: self-hosted
steps:
# - name: Cache Qt Linux Desktop
# id: cache-qt-linux-desktop
# uses: actions/cache@v1
# with:
# path: '${{ github.workspace }}/output/linux-desktop/'
# key: ${{ runner.os }}-QtCache-Linux-Desktop
# - name: Cache Qt Linux Android
# id: cache-qt-android
# uses: actions/cache@v1
# with:
# path: '${{ github.workspace }}/output/android/'
# key: ${{ runner.os }}-QtCache-Android
- name: Xvfb install and run
run: |
sudo apt-get install -y xvfb
Xvfb -ac ${{ env.DISPLAY }} -screen 0 1280x780x24 &
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v2
- name: Checkout submodule repo
uses: actions/checkout@v2
with:
repository: bluetiger9/SmtpClient-for-Qt
path: "src/smtpclient/"
ref: 3fa4a0fe5797070339422cf18b5e9ed8dcb91f9c
- uses: actions/checkout@v2
- name: Checkout submodule repo
uses: actions/checkout@v2
with:
repository: cagnulein/qmdnsengine
path: "src/qmdnsengine/"
ref: "zwift"
- name: Install packages required to run QZ inside workflow
run: sudo apt update -y && sudo apt-get install -y qt5-default qtquickcontrols2-5-dev libqt5bluetooth5 libqt5widgets5 libqt5positioning5 libqt5xml5 qtconnectivity5-dev qtpositioning5-dev libqt5charts5-dev libqt5charts5 qt5-default libqt5networkauth5-dev libqt5websockets5* libxcb-randr0-dev libxcb-xtest0-dev libxcb-xinerama0-dev libxcb-shape0-dev libxcb-xkb-dev
- name: Install Qt
uses: jurplel/install-qt-action@v2
with:
version: '5.15.2'
host: 'linux'
modules: 'qtnetworkauth qtcharts'
- name: Compile Linux Desktop
run: cd src; qmake; make -j8
- name: Archive linux-desktop binary
uses: actions/upload-artifact@v2
with:
name: linux-desktop-binary
path: src/qdomyos-zwift
# - name: Test Peloton API
# if: github.event_name == 'push' || github.event_name == 'schedule'
# run: cd /home/runner/work/qdomyos-zwift/qdomyos-zwift/src/; ./qdomyos-zwift -test-peloton -peloton-username ${{ secrets.peloton_username }} -peloton-password ${{ secrets.peloton_password }}
# timeout-minutes: 2
# - name: Test Home Fitness Buddy API
# run: cd /home/runner/work/qdomyos-zwift/qdomyos-zwift/src/; ./qdomyos-zwift -test-hfb
# timeout-minutes: 2
# - uses: actions/checkout@v2
# with:
# repository: nttld/setup-ndk
# path: setup-ndk
# The packages.json in nttld/setup-ndk has already been updated,
# https://github.com/nttld/setup-ndk/commit/831db5b02a0f0cab80614619efe461a3dcc140e6
# but `dist/*` has not been rebuilt yet. Build it.
# https://github.com/nttld/setup-ndk/tree/main/dist
# - name: Locally rebuilt setup-ndk
# run: |
# npm -prefix ./setup-ndk install
# npm -prefix ./setup-ndk run all
# Install using locally rebuilt setup-ndk
# - name: Setup Android NDK r21d
# uses: ./setup-ndk
#- uses: nttld/setup-ndk@v1
# with:
# ndk-version: r21d
# waiting github.com/jurplel/install-qt-action/issues/63
# - name: Install Qt Android
# uses: jurplel/install-qt-action@v2
# with:
# version: '5.12.9'
# host: 'linux'
# target: 'android'
# arch: 'android_armv7'
# modules: 'qtcharts debug_info'
# dir: '${{ github.workspace }}/output/android/'
# cached: ${{ steps.cache-qt-android.outputs.cache-hit }}
# - name: Compile Android
# run: cd src; qmake; make -j4
# - name: Install Qt MacOS
# uses: jurplel/install-qt-action@v2
# with:
# version: '5.12.9'
# host: 'mac'
# target: 'desktop'
# modules: 'qtcharts debug_info'
# dir: '${{ github.workspace }}/output/macos/'
# - name: Compile MacOS
# run: cd src; qmake; make -j4
run: |
cd ../../; rm src/secret.h; git reset --hard; git pull
echo "#define STRAVA_SECRET_KEY ${{ secrets.strava_secret_key }}" > src/secret.h
echo "#define SMTP_USERNAME ${{ secrets.smtp_username }}" >> src/secret.h
echo "#define SMTP_PASSWORD ${{ secrets.smtp_password }}" >> src/secret.h
echo "#define SMTP_SERVER ${{ secrets.smtp_server }}" >> src/secret.h
"/Users/cagnulein/Qt/5.15.0/android/bin/qmake" src/qdomyos-zwift.pro -spec android-clang CONFIG-=qtquickcompiler 'ANDROID_ABIS=armeabi-v7a arm64-v8a x86 x86_64'
"/Users/cagnulein/Library/Android/sdk/ndk/21.1.6352462/prebuilt/darwin-x86_64/bin/make" -f build-qdomyos-zwift-Android_Qt_5_15_0_android_Clang_Multi_Abi-Release/Makefile qmake_all
"/Users/cagnulein/Library/Android/sdk/ndk/21.1.6352462/prebuilt/darwin-x86_64/bin/make" -j8
"/Users/cagnulein/Library/Android/sdk/ndk/21.1.6352462/prebuilt/darwin-x86_64/bin/make" INSTALL_ROOT=build-qdomyos-zwift-Android_Qt_5_15_0_android_Clang_Multi_Abi-Release/android-build install
"/Users/cagnulein/Qt/5.15.0/android/bin/androiddeployqt" --input build-qdomyos-zwift-Android_Qt_5_15_0_android_Clang_Multi_Abi-Release/android-qdomyos-zwift-deployment-settings.json --output build-qdomyos-zwift-Android_Qt_5_15_0_android_Clang_Multi_Abi-Release/android-build --android-platform android-31 --jdk /Library/Java/JavaVirtualMachines/temurin-8.jdk/Contents/Home --gradle --sign '${{secrets.android_certificate_password}}' --storepass '${{secrets.android_certificate_password}}'