From def516758a8468c2df847df4abe8e4fa2082b851 Mon Sep 17 00:00:00 2001 From: Tal Regev Date: Fri, 3 Jun 2022 11:31:09 +0300 Subject: [PATCH] Add wxwidegts manifest mode for test --- .github/workflows/android.yml | 129 ---------------- .github/workflows/coverity.yml | 43 ------ .github/workflows/flutter-macos.yml | 65 -------- .github/workflows/flutter-ubuntu.yml | 125 --------------- .github/workflows/flutter-windows.yml | 113 -------------- .github/workflows/linux.yml | 4 +- .github/workflows/mingw.yml | 98 ------------ .github/workflows/osx.yml | 46 ------ .github/workflows/source-code-check.yml | 25 --- .github/workflows/test-report.yml | 18 --- .github/workflows/windows.yml | 142 ------------------ .../vcpkg_ports/configs/manager/vcpkg.json | 14 ++ 3rdParty/vcpkg_ports/vcpkg_link.sh | 2 +- linux/update_vcpkg_manager.sh | 3 +- m4/boinc_wxwidgets.m4 | 30 ++-- set-version.py | 1 + 16 files changed, 40 insertions(+), 818 deletions(-) delete mode 100644 .github/workflows/android.yml delete mode 100644 .github/workflows/coverity.yml delete mode 100644 .github/workflows/flutter-macos.yml delete mode 100644 .github/workflows/flutter-ubuntu.yml delete mode 100644 .github/workflows/flutter-windows.yml delete mode 100644 .github/workflows/mingw.yml delete mode 100644 .github/workflows/osx.yml delete mode 100644 .github/workflows/source-code-check.yml delete mode 100644 .github/workflows/test-report.yml delete mode 100644 .github/workflows/windows.yml create mode 100644 3rdParty/vcpkg_ports/configs/manager/vcpkg.json diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml deleted file mode 100644 index 3da1840ad3d..00000000000 --- a/.github/workflows/android.yml +++ /dev/null @@ -1,129 +0,0 @@ -name: Android -on: - push: - branches: [ master ] - pull_request: - branches: [ master ] - schedule: - - cron: '5 12 * * 0' - -env: - AWS_ACCESS_KEY_ID: ${{ secrets.S3_ACCESS_KEY }} - AWS_SECRET_ACCESS_KEY: ${{ secrets.S3_SECRET_KEY }} - AWS_DEFAULT_REGION: us-west-2 - -jobs: - build: - name: ${{ matrix.type }}-build - runs-on: ubuntu-latest - strategy: - matrix: - type: [manager, libs, apps, manager-vcpkg, libs-vcpkg, apps-vcpkg, libs-cmake] - fail-fast: false - steps: - - uses: actions/checkout@v2 - with: - fetch-depth: 2 - - - name: Setup Java - uses: actions/setup-java@v1 - with: - java-version: "17" - - - name: Setup Android SDK - uses: android-actions/setup-android@v2 - - - name: Cache dependencies - uses: actions/cache@v2 - with: - path: | - 3rdParty/buildCache - !3rdParty/buildCache/android/vcpkgcache/ - key: android-${{ matrix.type }}-${{ hashFiles('android/*.sh', '.github/workflows/android.yml') }} - - - name: Check if build is running from origin repo - if: ${{ success() && env.AWS_ACCESS_KEY_ID != 0 && env.AWS_SECRET_ACCESS_KEY != 0 }} - run: | - echo "VCPKG_BINARY_SOURCES=clear;x-aws,s3://vcpkg.cache.boinc/,readwrite" >> $GITHUB_ENV - - - name: Check if build is running from fork - if: ${{ success() && (env.AWS_ACCESS_KEY_ID == 0 || env.AWS_SECRET_ACCESS_KEY == 0) }} - run: | - echo "VCPKG_BINARY_SOURCES=clear;x-aws-config,no-sign-request;x-aws,s3://vcpkg.cache.boinc/,read" >> $GITHUB_ENV - - - name: Build manager - if: ${{ success() && matrix.type == 'manager' }} - run: | - ./android/ci_build_manager.sh - - - name: Build libs - if: ${{ success() && matrix.type == 'libs' }} - run: ./android/ci_build_libraries.sh - - - name: Build apps - if: ${{ success() && matrix.type == 'apps' }} - run: ./android/ci_build_apps.sh - - - name: Build manager with vcpkg - if: ${{ success() && matrix.type == 'manager-vcpkg' }} - run: ./android/ci_build_vcpkg_manager.sh - - - name: Build libs with vcpkg - if: ${{ success() && matrix.type == 'libs-vcpkg' }} - run: ./android/ci_build_vcpkg_libraries.sh - - - name: Build apps with vcpkg - if: ${{ success() && matrix.type == 'apps-vcpkg' }} - run: ./android/ci_build_vcpkg_apps.sh - - - name: Build libs with cmake - if: ${{ success() && matrix.type == 'libs-cmake' }} - run: ./android/ci_build_libs_cmake.sh - - - name: Prepare logs on failure - if: ${{ failure() }} - run: 7z a -t7z -mx=9 deploy/logs.7z config.log android/BOINC/app/build/reports/ -r0 3rdParty/android/vcpkg/buildtrees/*.log - - - name: Upload logs on failure - if: ${{ failure() }} - uses: actions/upload-artifact@v2 - with: - name: android_logs_${{ matrix.type }}_${{ github.event.pull_request.head.sha }} - path: deploy/logs.7z - - - name: Prepare artifacts for deploy - if: ${{ success() && ! contains(matrix.type, 'libs') }} - run: python ./deploy/prepare_deployment.py android_${{ matrix.type }} - - - name: Upload generic artifacts - uses: actions/upload-artifact@v2 - if: ${{ ! contains(matrix.type, 'libs') }} - with: - name: android_${{ matrix.type }}_${{ github.event.pull_request.head.sha }} - path: deploy/android_${{ matrix.type }}.7z - - name: Upload xiaomi manager - uses: actions/upload-artifact@v2 - if: ${{ contains(matrix.type, 'manager') }} - with: - name: android_xiaomi_${{ matrix.type }}_${{ github.event.pull_request.head.sha }} - path: deploy/android_${{ matrix.type }}_xiaomi.7z - - name: Upload armv6 only manager - uses: actions/upload-artifact@v2 - if: ${{ contains(matrix.type, 'manager') }} - with: - name: android_armv6_${{ matrix.type }}_${{ github.event.pull_request.head.sha }} - path: deploy/android_${{ matrix.type }}_armv6.7z - - - name: Upload JUnit Tests Results - uses: actions/upload-artifact@v2 - if: always() && matrix.type == 'manager' # run this step even if previous step failed - with: - name: Android_tests_results - path: android/BOINC/app/build/test-results/testDebugUnitTest/TEST-*.xml - - - name: Upload coverage report - uses: codecov/codecov-action@v3 - if: ${{ success() && matrix.type == 'manager' }} - with: - fail_ci_if_error: true - verbose: false diff --git a/.github/workflows/coverity.yml b/.github/workflows/coverity.yml deleted file mode 100644 index 0cf60f9fe5e..00000000000 --- a/.github/workflows/coverity.yml +++ /dev/null @@ -1,43 +0,0 @@ -name: Coverity -on: - schedule: - - cron: '30 12 * * 0' - -jobs: - coverity: - runs-on: ubuntu-latest - strategy: - fail-fast: false - steps: - - uses: actions/checkout@v2 - with: - fetch-depth: 2 - - - name: Install dependencies - run: | - sudo add-apt-repository 'deb http://archive.ubuntu.com/ubuntu bionic main universe' - sudo apt-get -qq update - sudo apt-get install -y libftgl-dev freeglut3-dev libcurl4-openssl-dev libxmu-dev libxi-dev libfcgi-dev libxss-dev libnotify-dev libxcb-util0-dev libgtk2.0-dev libwebkitgtk-dev p7zip-full libxxf86vm-dev ocl-icd-opencl-dev zip - - - name: Cache dependencies - uses: actions/cache@v2 - with: - path: | - 3rdParty/buildCache - !3rdParty/buildCache/linux/vcpkgcache/ - key: linux-coverity-${{ hashFiles('3rdParty/*Linux*.sh', 'linux/*.sh', '.github/workflows/coverity.yml') }} - - - name: Automake - if: success() - run: ./_autosetup - - - name: Prepare for scan - if: success() - run: ./3rdParty/buildLinuxDependencies.sh && ./configure --enable-apps --with-wx-prefix=${GITHUB_WORKSPACE}/3rdParty/buildCache/linux - - - name: Coverity Scan - uses: vapier/coverity-scan-action@v0 - with: - project: 'BOINC/boinc' - token: ${{ secrets.COVERITY_SCAN_TOKEN }} - email: 'boinc_cvs@ssl.berkeley.edu' diff --git a/.github/workflows/flutter-macos.yml b/.github/workflows/flutter-macos.yml deleted file mode 100644 index e8785b96b2f..00000000000 --- a/.github/workflows/flutter-macos.yml +++ /dev/null @@ -1,65 +0,0 @@ -name: Flutter-macOS -on: - push: - branches: [ master ] - pull_request: - branches: [ master ] - schedule: - - cron: '25 12 * * 0' - -jobs: - build: - name: ${{ matrix.type }}-flutter-build - runs-on: macos-latest - strategy: - matrix: - type: [macos, ios] - fail-fast: false - steps: - - uses: actions/checkout@v2 - with: - fetch-depth: 2 - - - name: Setup xcode - uses: maxim-lobanov/setup-xcode@v1 - with: - xcode-version: '12.5.1' - - - name: Setup flutter - uses: subosito/flutter-action@v1 - with: - channel: 'beta' - - - name: Setup macos desktop - if: matrix.type == 'macos' - run: flutter config --enable-macos-desktop - - - name: Cache dependencies - uses: actions/cache@v2 - if: matrix.type == 'macos' - with: - path: 3rdParty/buildCache - key: osx-flutter-${{ hashFiles('3rdParty/*Mac*.sh', 'mac_build/setupForBOINC.sh', 'mac_build/dependencyNames.sh', 'mac_build/[bB]uild*.sh', '.github/workflows/flutter-macos.yml') }} - - - name: Build macos client - if: matrix.type == 'macos' - run: samples/flutter/ci_build_macos.sh - - - name: Install flutter dependencies - run: cd samples/flutter/boinc/ && flutter pub get - - - name: Build macos - if: matrix.type == 'macos' - run: | - cd samples/flutter/ - flutter create boinc - cd boinc/ - flutter build macos - - - name: Build ios - if: matrix.type == 'ios' - run: | - cd samples/flutter/ - flutter create boinc - cd boinc/ - flutter build ios --release --no-codesign diff --git a/.github/workflows/flutter-ubuntu.yml b/.github/workflows/flutter-ubuntu.yml deleted file mode 100644 index c2bc54c7562..00000000000 --- a/.github/workflows/flutter-ubuntu.yml +++ /dev/null @@ -1,125 +0,0 @@ -name: Flutter-Ubuntu -on: - push: - branches: [ master ] - pull_request: - branches: [ master ] - schedule: - - cron: '25 12 * * 0' - -env: - AWS_ACCESS_KEY_ID: ${{ secrets.S3_ACCESS_KEY }} - AWS_SECRET_ACCESS_KEY: ${{ secrets.S3_SECRET_KEY }} - AWS_DEFAULT_REGION: us-west-2 - -jobs: - build: - name: ${{ matrix.type }}-flutter-build - runs-on: ubuntu-latest - strategy: - matrix: - type: [linux, android] - fail-fast: false - steps: - - uses: actions/checkout@v2 - with: - fetch-depth: 1 - - - name: Setup Java - if: matrix.type == 'android' - uses: actions/setup-java@v1 - with: - java-version: '11' - - - name: Setup android SDK - if: matrix.type == 'android' - uses: android-actions/setup-android@v2 - - - name: Setup flutter - uses: subosito/flutter-action@v1 - with: - channel: 'beta' - - - name: Setup linux desktop - if: matrix.type == 'linux' - run: flutter config --enable-linux-desktop - - - name: Install linux dependencies - if: matrix.type == 'linux' - run: | - sudo apt update - sudo apt install -y clang cmake ninja-build pkg-config libgtk-3-dev - - - name: Cache dependencies - uses: actions/cache@v2 - if: matrix.type == 'linux' - with: - path: | - 3rdParty/buildCache - !3rdParty/buildCache/linux/vcpkgcache/ - key: linux-flutter-client-vcpkg-${{ hashFiles('3rdParty/*Linux*.sh', 'linux/*.sh', '.github/workflows/flutter-ubuntu.yml') }} - - - name: Check if build is running from origin repo - if: ${{ success() && env.AWS_ACCESS_KEY_ID != 0 && env.AWS_SECRET_ACCESS_KEY != 0 }} - run: | - echo "VCPKG_BINARY_SOURCES=clear;x-aws,s3://vcpkg.cache.boinc/,readwrite" >> $GITHUB_ENV - - - name: Check if build is running from fork - if: ${{ success() && (env.AWS_ACCESS_KEY_ID == 0 || env.AWS_SECRET_ACCESS_KEY == 0) }} - run: | - echo "VCPKG_BINARY_SOURCES=clear;x-aws-config,no-sign-request;x-aws,s3://vcpkg.cache.boinc/,read" >> $GITHUB_ENV - - - name: Build linux client - if: matrix.type == 'linux' - run: samples/flutter/ci_build_linux.sh - - - name: Cache dependencies - uses: actions/cache@v2 - if: matrix.type == 'android' - with: - path: | - 3rdParty/buildCache - !3rdParty/buildCache/android/vcpkgcache/ - key: android-manager-vcpkg-${{ hashFiles('android/*.sh') }} - - - name: Build android client - if: matrix.type == 'android' - run: samples/flutter/ci_build_android.sh - - - name: Install flutter dependencies - run: cd samples/flutter/boinc/ && flutter pub get - - - name: Build linux - if: matrix.type == 'linux' - run: | - cd samples/flutter/ - flutter create boinc - cd boinc/ - flutter build linux - - - name: Build android - if: matrix.type == 'android' - run: | - cd samples/flutter/ - flutter create boinc --org edu.berkeley - cd boinc/ - flutter build apk - - - name: Prepare android - if: success() && matrix.type == 'android' - uses: edgarrc/action-7z@v1.0.4 - with: - args: 7z a -t7z -mx=9 deploy/flutter_${{ matrix.type }}.7z -r0 samples/flutter/boinc/build/app/outputs/flutter-apk/app-release.apk - - - name: Prepare linux - if: success() && matrix.type == 'linux' - uses: edgarrc/action-7z@v1.0.4 - with: - args: 7z a -t7z -mx=9 deploy/flutter_${{ matrix.type }}.7z -r0 samples/flutter/boinc/build/linux/x64/release/bundle/* - - - name: Upload ${{ matrix.type }} - if: success() - uses: actions/upload-artifact@v2 - with: - name: ${{ matrix.type }}_flutter_${{ github.event.pull_request.head.sha }} - path: deploy/flutter_${{ matrix.type }}.7z diff --git a/.github/workflows/flutter-windows.yml b/.github/workflows/flutter-windows.yml deleted file mode 100644 index e96ae057c2e..00000000000 --- a/.github/workflows/flutter-windows.yml +++ /dev/null @@ -1,113 +0,0 @@ -name: Flutter-Windows -on: - push: - branches: [ master ] - pull_request: - branches: [ master ] - schedule: - - cron: '25 12 * * 0' - -env: - AWS_ACCESS_KEY_ID: ${{ secrets.S3_ACCESS_KEY }} - AWS_SECRET_ACCESS_KEY: ${{ secrets.S3_SECRET_KEY }} - AWS_DEFAULT_REGION: us-west-2 - -jobs: - build: - name: ${{ matrix.type }}-flutter-build - runs-on: windows-2019 - strategy: - matrix: - type: [windows, web, winuwp] - fail-fast: false - steps: - - uses: actions/checkout@v2 - with: - fetch-depth: 2 - - - name: Setup msbuild - uses: microsoft/setup-msbuild@v1.0.2 - - - name: Setup flutter - uses: subosito/flutter-action@v1 - with: - channel: 'dev' - - - name: Setup winuwp Desktop - if: matrix.type == 'winuwp' - run: flutter config --enable-windows-uwp-desktop - - - name: Setup windows Desktop - if: matrix.type == 'windows' - run: flutter config --enable-windows-desktop - - - name: Cache dependencies - uses: actions/cache@v2 - if: matrix.type == 'windows' - with: - path: | - ${{ github.workspace }}\3rdParty\Windows\cuda\ - key: windows-flutter-x64-Release-${{ hashFiles('win_build/vcpkg_3rdparty_dependencies_vs2019.vcxproj', '.github/workflows/flutter-windows.yml') }} - - - name: Check if build is running from origin repo - if: ${{ success() && env.AWS_ACCESS_KEY_ID != 0 && env.AWS_SECRET_ACCESS_KEY != 0 }} - run: | - echo "VCPKG_BINARY_SOURCES=clear;x-aws,s3://vcpkg.cache.boinc/,readwrite" >> $GITHUB_ENV - - - name: Check if build is running from fork - if: ${{ success() && (env.AWS_ACCESS_KEY_ID == 0 || env.AWS_SECRET_ACCESS_KEY == 0) }} - run: | - echo "VCPKG_BINARY_SOURCES=clear;x-aws-config,no-sign-request;x-aws,s3://vcpkg.cache.boinc/,read" >> $GITHUB_ENV - - - name: Build windows client - if: matrix.type == 'windows' - run: samples\flutter\ci_build_windows.bat - - - name: Install flutter dependencies - run: cd samples/flutter/boinc/ && flutter pub get - - - name: Build winuwp - if: matrix.type == 'winuwp' - run: | - cd samples/flutter/ - flutter create boinc - cd boinc/ - flutter build winuwp - - - name: Build windows - if: matrix.type == 'windows' - run: | - cd samples/flutter/ - flutter create boinc - cd boinc/ - flutter build windows - - - name: Build web - if: matrix.type == 'web' - run: | - cd samples/flutter/ - flutter create boinc - cd boinc/ - flutter build web - - - name: Prepare windows - if: success() && matrix.type == 'windows' - run: | - 7z.exe a -t7z -mx=9 deploy/flutter_${{ matrix.type }}.7z -r0 samples/flutter/boinc/build/windows/runner/Release/* - - - name: Prepare web - if: success() && matrix.type == 'web' - run: | - 7z.exe a -t7z -mx=9 deploy/flutter_${{ matrix.type }}.7z -r0 samples/flutter/boinc/build/web/* - - - name: Prepare winuwp - if: success() && matrix.type == 'winuwp' - run: | - 7z.exe a -t7z -mx=9 deploy/flutter_${{ matrix.type }}.7z -r0 samples/flutter/boinc/build/winuwp/runner_uwp/Release/* - - - name: Upload ${{ matrix.type }} - if: success() - uses: actions/upload-artifact@v2 - with: - name: ${{ matrix.type }}_flutter_${{ github.event.pull_request.head.sha }} - path: deploy/flutter_${{ matrix.type }}.7z diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index d5b46485d3e..3193a54ba7c 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -18,7 +18,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - type: [libs, client, apps, libs-vcpkg, client-vcpkg, apps-vcpkg, libs-cmake, manager-with-webview-vcpkg, server, manager-with-webview, manager-without-webview, unit-test, integration-test] + type: [manager-with-webview-vcpkg] fail-fast: false steps: - uses: actions/checkout@v2 @@ -28,7 +28,7 @@ jobs: - name: Install dependencies run: | sudo apt-get -qq update - sudo apt-get install -y libftgl-dev freeglut3-dev libcurl4-openssl-dev libxmu-dev libxi-dev libfcgi-dev libxss-dev libnotify-dev libxcb-util0-dev libgtk-3-dev libsecret-1-dev libgcrypt20-dev libsystemd-dev libwebkit2gtk-4.0-dev p7zip-full libxxf86vm-dev ocl-icd-opencl-dev zip + sudo apt-get install -y libftgl-dev freeglut3-dev libcurl4-openssl-dev libxmu-dev libxi-dev libfcgi-dev libxss-dev libnotify-dev libxcb-util0-dev libgtk-3-dev libsecret-1-dev libgcrypt20-dev libsystemd-dev p7zip-full libxxf86vm-dev ocl-icd-opencl-dev zip - name: Install dependencies for integration testing if: matrix.type == 'integration-test' diff --git a/.github/workflows/mingw.yml b/.github/workflows/mingw.yml deleted file mode 100644 index 86c59198dd3..00000000000 --- a/.github/workflows/mingw.yml +++ /dev/null @@ -1,98 +0,0 @@ -name: Linux-MinGW -on: - push: - branches: [ master ] - pull_request: - branches: [ master ] - schedule: - - cron: '0 12 * * 0' - -env: - AWS_ACCESS_KEY_ID: ${{ secrets.S3_ACCESS_KEY }} - AWS_SECRET_ACCESS_KEY: ${{ secrets.S3_SECRET_KEY }} - AWS_DEFAULT_REGION: us-west-2 - -jobs: - build: - name: ${{ matrix.type }}-build - runs-on: ubuntu-latest - strategy: - matrix: - type: [libs-mingw, apps-mingw, apps-mingw-vcpkg, libs-mingw-cmake] - fail-fast: false - steps: - - uses: actions/checkout@v2 - - - name: Check if build is running from origin repo - if: ${{ success() && env.AWS_ACCESS_KEY_ID != 0 && env.AWS_SECRET_ACCESS_KEY != 0 }} - run: | - echo "VCPKG_BINARY_SOURCES=clear;x-aws,s3://vcpkg.cache.boinc/,readwrite" >> $GITHUB_ENV - - - name: Check if build is running from fork - if: ${{ success() && (env.AWS_ACCESS_KEY_ID == 0 || env.AWS_SECRET_ACCESS_KEY == 0) }} - run: | - echo "VCPKG_BINARY_SOURCES=clear;x-aws-config,no-sign-request;x-aws,s3://vcpkg.cache.boinc/,read" >> $GITHUB_ENV - - - name: Install dependencies - run: | - sudo apt-get -qq update - sudo apt-get install -y mingw-w64 mingw-w64-tools mingw-w64-x86-64-dev mingw-w64-i686-dev tar curl zip unzip p7zip-full - - - name: Make libs with mingw - if: success() && matrix.type == 'libs-mingw' - run: cd lib && MINGW=x86_64-w64-mingw32 make -f Makefile.mingw - - - name: Make apps with mingw - if: success() && matrix.type == 'apps-mingw' - run: cd lib && MINGW=x86_64-w64-mingw32 make -f Makefile.mingw wrapper - - - name: Install Powershell for vcpkg - if: success() && matrix.type == 'apps-mingw-vcpkg' - run: | - POWERSHELL_DEPS="wget apt-transport-https software-properties-common" - # Install pre-requisite packages of PowerShell - sudo apt install -y $POWERSHELL_DEPS doxygen - # Download the Microsoft repository GPG keys - VERSION=$(lsb_release -r -s) - wget -q https://packages.microsoft.com/config/ubuntu/$VERSION/packages-microsoft-prod.deb - # Register the Microsoft repository GPG keys - sudo dpkg -i packages-microsoft-prod.deb - # Update the list of packages after we added packages.microsoft.com - sudo apt update - # Install PowerShell - sudo apt install -y powershell - - - name: Automake vcpkg and cmake - if: success() && (contains(matrix.type, 'vcpkg') || contains(matrix.type, 'cmake')) - run: ./_autosetup - - - name: Configure mingw vcpkg apps - if: success() && matrix.type == 'apps-mingw-vcpkg' - run: | - mingw/ci_configure_apps.sh - - - name: Configure libs with cmake vcpkg - if: success() && matrix.type == 'libs-mingw-cmake' - run: | - mingw/ci_configure_libs_cmake.sh - - - name: Make mingw vcpkg apps - if: success() && matrix.type == 'apps-mingw-vcpkg' - run: | - mingw/ci_make_apps.sh - - - name: Make for cmake - if: success() && endsWith(matrix.type, 'cmake') - run: - cmake --build build - - - name: Prepare artifacts for deploy - if: success() && ! contains(matrix.type, 'libs') - run: python ./deploy/prepare_deployment.py win_${{ matrix.type }} - - - name: Upload artifacts - uses: actions/upload-artifact@v2 - if: ${{! contains(matrix.type, 'libs')}} - with: - name: win_${{ matrix.type }}_${{ github.event.pull_request.head.sha }} - path: deploy/win_${{ matrix.type }}.7z diff --git a/.github/workflows/osx.yml b/.github/workflows/osx.yml deleted file mode 100644 index ced13479bf1..00000000000 --- a/.github/workflows/osx.yml +++ /dev/null @@ -1,46 +0,0 @@ -name: OSX -on: - push: - branches: [ master ] - pull_request: - branches: [ master ] - schedule: - - cron: '20 12 * * 0' - -jobs: - build: - name: ${{matrix.type}}-build - runs-on: macos-latest - strategy: - matrix: - type: [manager, libs-cmake] - fail-fast: false - steps: - - uses: maxim-lobanov/setup-xcode@v1 - with: - xcode-version: '12.5.1' - - - uses: actions/checkout@v2 - - - name: Cache dependencies - uses: actions/cache@v2 - with: - path: 3rdParty/buildCache - key: osx-${{ matrix.type }}-${{ hashFiles('3rdParty/*Mac*.sh', 'mac_build/setupForBOINC.sh', 'mac_build/dependencyNames.sh', 'mac_build/[bB]uild*.sh', '.github/workflows/osx.yml') }} - - - name: install dependencies - if: ${{! contains(matrix.type, 'cmake')}} - run: ./3rdParty/buildMacDependencies.sh -q - - - name: make - if: success() && ! contains(matrix.type, 'cmake') - run: ./mac_build/buildMacBOINC-CI.sh --no_shared_headers - - - name: libs cmake - if: matrix.type == 'libs-cmake' - run: osx/ci_build_libs_cmake.sh - - - name: deploy - if: success() && ! contains(matrix.type, 'libs') - run: echo "Would start deployment now" - #run: ./deploy/prepare_deployment.sh osx_${BOINC_TYPE} deploy/osx_${BOINC_TYPE}/ && ./deploy/deploy_to_bintray.sh deploy/osx_${BOINC_TYPE}/ diff --git a/.github/workflows/source-code-check.yml b/.github/workflows/source-code-check.yml deleted file mode 100644 index dee2f09ae39..00000000000 --- a/.github/workflows/source-code-check.yml +++ /dev/null @@ -1,25 +0,0 @@ -name: Source Code Check -on: - push: - branches: [ master ] - pull_request: - branches: [ master ] - schedule: - - cron: '25 12 * * 0' - -jobs: - build: - name: ${{ matrix.type }} - runs-on: ubuntu-latest - strategy: - matrix: - type: [source-code-check] - fail-fast: false - steps: - - uses: actions/checkout@v2 - with: - fetch-depth: 2 - - name: Check source code for illegal symbols - if: ${{ success() }} - run: | - python ./ci_tools/source_code_check.py . diff --git a/.github/workflows/test-report.yml b/.github/workflows/test-report.yml deleted file mode 100644 index 6af7d198432..00000000000 --- a/.github/workflows/test-report.yml +++ /dev/null @@ -1,18 +0,0 @@ -name: 'Test Report' -on: - workflow_run: - workflows: [Linux, Android, Windows] # runs after these workflow - types: - - completed - -jobs: - report: - runs-on: ubuntu-latest - steps: - - uses: dorny/test-reporter@v1 - with: - artifact: /(.*)_tests_results/ # artifact name - name: $1 Tests Report # Name of the check run which will be created - path: '*.xml' # Path to test results (inside artifact .zip) - reporter: java-junit - fail-on-error: false diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml deleted file mode 100644 index b0fc49c802f..00000000000 --- a/.github/workflows/windows.yml +++ /dev/null @@ -1,142 +0,0 @@ -name: Windows -on: - push: - branches: [ master ] - pull_request: - branches: [ master ] - schedule: - - cron: '15 12 * * 0' - -env: - AWS_ACCESS_KEY_ID: ${{secrets.S3_ACCESS_KEY}} - AWS_SECRET_ACCESS_KEY: ${{secrets.S3_SECRET_KEY}} - AWS_DEFAULT_REGION: us-west-2 - -jobs: - build: - name: ${{matrix.configuration}}-${{matrix.platform}}-${{matrix.type}} - runs-on: windows-2019 - strategy: - matrix: - type: [libs-cmake, msbuild] - platform: [x64, ARM64] - configuration: [Release] - fail-fast: false - steps: - # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - - uses: actions/checkout@v2 - with: - fetch-depth: 2 - - - name: Download OpenCppCoverage - uses: suisei-cn/actions-download-file@v1 - if: success() && matrix.platform == 'x64' - id: DownloadOpenCppCoverage - with: - url: "https://opencppcoverage.gallerycdn.vsassets.io/extensions/opencppcoverage/opencppcoverageplugin/0.9.7.1/1581265346391/OpenCppCoverage-0.9.7.1.vsix" - target: ${{github.workspace}}\temp\ - - - name: Unzip OpenCppCoverage - if: success() && matrix.platform == 'x64' - uses: DuckSoft/extract-7z-action@v1.0 - with: - pathSource: ${{github.workspace}}\temp\OpenCppCoverage-0.9.7.1.vsix - pathTarget: ${{github.workspace}}\temp\OpenCppCoverage - - - name: Setup msbuild - uses: microsoft/setup-msbuild@v1 - - - name: Check if build is running from origin repo - if: ${{success() && env.AWS_ACCESS_KEY_ID != 0 && env.AWS_SECRET_ACCESS_KEY != 0}} - run: | - echo "VCPKG_BINARY_SOURCES=clear;x-aws,s3://vcpkg.cache.boinc/,readwrite" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf-8 -Append - - - name: Check if build is running from fork - if: ${{success() && (env.AWS_ACCESS_KEY_ID == 0 || env.AWS_SECRET_ACCESS_KEY == 0)}} - run: | - echo "VCPKG_BINARY_SOURCES=clear;x-aws-config,no-sign-request;x-aws,s3://vcpkg.cache.boinc/,read" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf-8 -Append - - - name: Fix vcpkg - run: vcpkg.exe integrate remove - - - name: Cache dependencies - uses: actions/cache@v2 - with: - path: | - ${{github.workspace}}\3rdParty\Windows\cuda\ - key: windows-${{matrix.platform}}-${{matrix.configuration}}-${{hashFiles('win_build/vcpkg_3rdparty_dependencies_vs2019.vcxproj', '.github/workflows/windows.yml')}} - - - name: Build - if: success() && matrix.type == 'msbuild' - run: msbuild win_build\boinc_vs2019.sln -p:Configuration=${{matrix.configuration}} -p:Platform=${{matrix.platform}} -p:VcpkgTripletConfig=ci -p:BuildConfig=ci -m - - - name: Build CMake - if: success() && matrix.type == 'libs-cmake' - run: windows\ci_build_libs_cmake.bat ${{matrix.platform}} ${{matrix.configuration}} - - - name: Run tests - if: success() && matrix.platform == 'x64' && matrix.type == 'msbuild' - working-directory: win_build\Build\${{matrix.platform}}\${{matrix.configuration}} - run: ${{github.workspace}}\temp\OpenCppCoverage\OpenCppCoverage-x64\OpenCppCoverage.exe --cover_children --optimized_build --sources ${{github.workspace}} --export_type=cobertura:cobertura.xml -- unittests.exe --gtest_output=xml:gtest.xml - - - name: Prepare logs on failure - if: ${{failure()}} - run: | - 7z.exe a -t7z -mx=9 deploy/logs.7z -r0 3rdParty/Windows/vcpkg/buildtrees/*.log - - - name: Upload logs on failure - if: ${{failure()}} - uses: actions/upload-artifact@v2 - with: - name: windows_logs_${{matrix.type}}_${{github.event.pull_request.head.sha}} - path: deploy/logs.7z - - - name: Prepare artifacts for deploy - if: success() && matrix.type == 'msbuild' - shell: cmd - run: | - python deploy\prepare_deployment.py win_apps - python deploy\prepare_deployment.py win_client - python deploy\prepare_deployment.py win_manager - - - name: Upload apps - if: success() && matrix.type == 'msbuild' - uses: actions/upload-artifact@v2 - with: - name: win_apps_${{matrix.platform}}_${{github.event.pull_request.head.sha}} - path: deploy/win_apps.7z - - - name: Upload client - if: success() && matrix.type == 'msbuild' - uses: actions/upload-artifact@v2 - with: - name: win_client_${{matrix.platform}}_${{github.event.pull_request.head.sha}} - path: deploy/win_client.7z - - - name: Upload manager - if: success() && matrix.type == 'msbuild' - uses: actions/upload-artifact@v2 - with: - name: win_manager_${{matrix.platform}}_${{github.event.pull_request.head.sha}} - path: deploy/win_manager.7z - - - name: Upload symbol files - if: success() && matrix.type == 'msbuild' - uses: actions/upload-artifact@v2 - with: - name: win_pdb_${{matrix.platform}}_${{github.event.pull_request.head.sha}} - path: win_build/Build/${{matrix.platform}}/${{matrix.configuration}}/*.pdb - - - name: Upload Google Tests Results - if: always() && matrix.platform == 'x64' && matrix.type == 'msbuild' - uses: actions/upload-artifact@v2 - with: - name: Windows_tests_results - path: "win_build/Build/${{matrix.platform}}/${{matrix.configuration}}/**/gtest.xml" - - - name: Upload coverage report - if: success() && matrix.platform == 'x64' && matrix.type == 'msbuild' - uses: codecov/codecov-action@v3 - with: - fail_ci_if_error: true - verbose: false diff --git a/3rdParty/vcpkg_ports/configs/manager/vcpkg.json b/3rdParty/vcpkg_ports/configs/manager/vcpkg.json new file mode 100644 index 00000000000..14958864f01 --- /dev/null +++ b/3rdParty/vcpkg_ports/configs/manager/vcpkg.json @@ -0,0 +1,14 @@ +{ + "name": "boinc-manager", + "version-string": "7.19.0", + "dependencies": + [ + { + "name": "curl", + "features": ["openssl"], + "default-features": false + }, + "wxwidgets", + "ftgl" + ] +} diff --git a/3rdParty/vcpkg_ports/vcpkg_link.sh b/3rdParty/vcpkg_ports/vcpkg_link.sh index ff549af4831..5857de75b14 100644 --- a/3rdParty/vcpkg_ports/vcpkg_link.sh +++ b/3rdParty/vcpkg_ports/vcpkg_link.sh @@ -1,3 +1,3 @@ #!/bin/sh -export VCPKG_LINK=https://github.com/microsoft/vcpkg +export VCPKG_LINK="https://github.com/talregev/vcpkg -b TalR/wxwidgets_with_gtk3_port_test" diff --git a/linux/update_vcpkg_manager.sh b/linux/update_vcpkg_manager.sh index dbd4cf89c58..fcf6b57bd8f 100755 --- a/linux/update_vcpkg_manager.sh +++ b/linux/update_vcpkg_manager.sh @@ -19,5 +19,4 @@ fi git -C $VCPKG_ROOT pull $VCPKG_ROOT/bootstrap-vcpkg.sh -$VCPKG_ROOT/vcpkg install curl[core,openssl] wxwidgets --clean-after-build --overlay-triplets=$VCPKG_PORTS/triplets/ci -$VCPKG_ROOT/vcpkg install freetype[core,bzip2,png] freeglut ftgl --clean-after-build --overlay-triplets=$VCPKG_PORTS/triplets/ci +$VCPKG_ROOT/vcpkg install --x-manifest-root=3rdParty/vcpkg_ports/configs/manager/ --x-install-root=$VCPKG_ROOT/installed/ --overlay-ports=$VCPKG_PORTS/ports --overlay-triplets=$VCPKG_PORTS/triplets/ci --triplet=x64-linux --clean-after-build diff --git a/m4/boinc_wxwidgets.m4 b/m4/boinc_wxwidgets.m4 index 86d66fdd073..8e72c6ed29b 100644 --- a/m4/boinc_wxwidgets.m4 +++ b/m4/boinc_wxwidgets.m4 @@ -75,16 +75,28 @@ WARNING: No ${uprf} libraries for wxWidgets are installed. gtkver=none AM_CONDITIONAL([GUI_GTK], echo $wx_default_config | grep -i ^gtk 2>&1 >/dev/null) if echo $wx_default_config | grep -i gtk 2>&1 >/dev/null ; then - case ${wx_default_config} in - gtk3-*|*-gtk3-*) gtkver=gtk+-3.0 - ;; - gtk2-*|*-gtk2-*) gtkver=gtk+-2.0 - ;; - gtk-*|*-gtk-*) gtkver=gtk+ - ;; - esac + is_vcpkg=`if echo "$WX_CONFIG" | grep -q "vcpkg"; then echo true; else echo false; fi` + if test $is_vcpkg = true ; then + wxpath="`dirname $WX_CONFIG`" + case ${wx_default_config} in + gtk3-*|*-gtk3-*) gtkver=$wxpath/../../lib/pkgconfig/gtk+-3.0.pc + ;; + gtk4-*|*-gtk4-*) gtkver=$wxpath/../../lib/pkgconfig/gtk+-4.0.pc + ;; + esac + else + case ${wx_default_config} in + gtk3-*|*-gtk3-*) gtkver=gtk+-3.0 + ;; + gtk2-*|*-gtk2-*) gtkver=gtk+-2.0 + ;; + gtk-*|*-gtk-*) gtkver=gtk+ + ;; + esac + fi GTK_CFLAGS="`pkg-config --cflags $gtkver`" - GTK_LIBS="`pkg-config --libs $gtkver`" + GTK_LIBS="$WX_LIBS" + fi AC_SUBST([GTK_CFLAGS]) AC_SUBST([GTK_LIBS]) diff --git a/set-version.py b/set-version.py index 14cc75290c9..307d313d171 100644 --- a/set-version.py +++ b/set-version.py @@ -83,6 +83,7 @@ def set_vcpkg_json(version): for json in ['3rdParty/vcpkg_ports/configs/libs/vcpkg.json', '3rdParty/vcpkg_ports/configs/libs/windows/vcpkg.json', '3rdParty/vcpkg_ports/configs/client/vcpkg.json', + '3rdParty/vcpkg_ports/configs/manager/vcpkg.json', '3rdParty/vcpkg_ports/configs/apps/android/vcpkg.json', '3rdParty/vcpkg_ports/configs/apps/linux/vcpkg.json', '3rdParty/vcpkg_ports/configs/apps/mingw/vcpkg.json',