mirror of https://github.com/BOINC/boinc.git
[CI] replace Travis and AppVeyor with Github Actions
This consolidates the different CI builds on one platform that provides support for the major three operating systems we build on (Linux, Windows, MacOS). The nomenclature and syntax is a bit different but it has the same functionality. This commit introduces the Linux and Windows based workflows. All the build artifacts can now be downloaded from [bintray](https://bintray.com/beta/#/boinc/boinc-ci?tab=files). The CI workflows run for every pull request, every merge into the master branch and every Sunday around 12:00 (GMT). Every first Sunday in a month a cleanup Script is run to delete old artifacts from Bintray. Artifacts from closed/merged pull requests get deleted then. Artifacts from weekly builds and merges into the master branch older than 6 months get deleted too. Co-authored-by: Vitalii Koshura <lestat.de.lionkur@gmail.com>
This commit is contained in:
parent
89fa2cf080
commit
ebc507e082
|
@ -0,0 +1,47 @@
|
|||
name: Android
|
||||
on:
|
||||
push:
|
||||
branches: [ master ]
|
||||
pull_request:
|
||||
branches: [ master ]
|
||||
schedule:
|
||||
- cron: '5 12 * * 0'
|
||||
|
||||
jobs:
|
||||
build:
|
||||
name: ${{ matrix.type }}-build
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
type: [manager]
|
||||
fail-fast: false
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Set up JDK 1.9
|
||||
uses: actions/setup-java@v1
|
||||
with:
|
||||
java-version: 1.9
|
||||
|
||||
- name: Setup Android SDK
|
||||
uses: android-actions/setup-android@v2
|
||||
|
||||
- name: Cache dependencies
|
||||
uses: actions/cache@v2.1.3
|
||||
with:
|
||||
path: 3rdParty/buildCache
|
||||
key: android-${{ matrix.type }}-${{ hashFiles('android/*.sh') }}
|
||||
restore-keys: android-${{ matrix.type }}-
|
||||
|
||||
- name: Build
|
||||
run: |
|
||||
./android/ci_build_all.sh
|
||||
bash <(curl -s https://codecov.io/bash)
|
||||
|
||||
- name: Deploy to BinTray
|
||||
if: ${{ success() }}
|
||||
env:
|
||||
BINTRAY_API_KEY: ${{ secrets.BINTRAY_API_KEY }}
|
||||
PULL_REQUEST: ${{ github.event.number }}
|
||||
PULL_REQUEST_SHA: ${{ github.event.pull_request.head.sha }}
|
||||
run: ./deploy/prepare_deployment.sh android_${{ matrix.type }} && ./deploy/deploy_to_bintray.sh deploy/android_${{ matrix.type }}/
|
|
@ -0,0 +1,90 @@
|
|||
name: Linux
|
||||
on:
|
||||
push:
|
||||
branches: [ master ]
|
||||
pull_request:
|
||||
branches: [ master ]
|
||||
schedule:
|
||||
- cron: '10 12 * * 0'
|
||||
|
||||
jobs:
|
||||
build:
|
||||
name: ${{ matrix.type }}-build
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
type: [libs, server, client, apps, manager-with-webview, manager-without-webview, unit-test, integration-test]
|
||||
fail-fast: false
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
sudo apt-get -qq update
|
||||
sudo apt-get install -y 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
|
||||
|
||||
- name: Install dependencies for integration testing
|
||||
if: matrix.type == 'integration-test'
|
||||
run: |
|
||||
sudo apt-get install ansible
|
||||
sudo service mysql stop
|
||||
./integration_test/installTestSuite.sh
|
||||
|
||||
- name: Cache dependencies
|
||||
uses: actions/cache@v2.1.3
|
||||
with:
|
||||
path: 3rdParty/buildCache
|
||||
key: linux-${{ matrix.type }}-${{ hashFiles('3rdParty/*Linux*.sh') }}
|
||||
restore-keys: linux-${{ matrix.type }}-
|
||||
|
||||
- name: Automake
|
||||
if: ${{ success() }}
|
||||
run: ./_autosetup
|
||||
|
||||
- name: Configure libs
|
||||
if: ${{ success() && matrix.type == 'libs' }}
|
||||
run: ./configure --disable-server --disable-client --disable-manager
|
||||
|
||||
- name: Configure server
|
||||
if: ${{ success() && matrix.type == 'server' }}
|
||||
run: ./configure --enable-server --disable-client --disable-manager
|
||||
|
||||
- name: Configure client
|
||||
if: ${{ success() && matrix.type == 'client' }}
|
||||
run: ./configure --disable-server --enable-client --disable-manager
|
||||
|
||||
- name: Configure apps
|
||||
if: success() && matrix.type == 'apps'
|
||||
run: ./configure --enable-apps --disable-server --disable-client --disable-manager
|
||||
|
||||
- name: Configure manager with webview
|
||||
if: success() && matrix.type == 'manager-with-webview'
|
||||
run: ./3rdParty/buildLinuxDependencies.sh && ./configure --disable-server --disable-client --with-wx-prefix=${GITHUB_WORKSPACE}/3rdParty/buildCache/linux
|
||||
|
||||
- name: Configure manager without webview
|
||||
if: success() && matrix.type == 'manager-without-webview'
|
||||
run: ./3rdParty/buildLinuxDependencies.sh --disable-webview && ./configure --disable-server --disable-client --with-wx-prefix=${GITHUB_WORKSPACE}/3rdParty/buildCache/linux
|
||||
|
||||
- name: Configure server for unit testing
|
||||
if: success() && matrix.type == 'unit-test'
|
||||
run: ./3rdParty/buildLinuxDependencies.sh --gtest-only && ./configure --disable-client --disable-manager --enable-unit-tests CFLAGS="-g -O0" CXXFLAGS="-g -O0"
|
||||
|
||||
- name: Make
|
||||
if: success() && ! contains(matrix.type, 'integration-test')
|
||||
run: make
|
||||
|
||||
- name: Execute unit-test and report coverage
|
||||
if: success() && matrix.type == 'unit-test'
|
||||
run: ./tests/executeUnitTests.sh --report-coverage
|
||||
|
||||
- name: Execute integration-test
|
||||
if: success() && matrix.type == 'integration-test'
|
||||
run: ./integration_test/executeTestSuite.sh
|
||||
|
||||
- name: Deploy to BinTray
|
||||
if: ${{ success() && ! contains(matrix.type, 'libs') && ! contains(matrix.type, 'server') && ! contains(matrix.type, 'test') }}
|
||||
env:
|
||||
BINTRAY_API_KEY: ${{ secrets.BINTRAY_API_KEY }}
|
||||
PULL_REQUEST: ${{ github.event.number }}
|
||||
PULL_REQUEST_SHA: ${{ github.event.pull_request.head.sha }}
|
||||
run: ./deploy/prepare_deployment.sh linux_${{ matrix.type }} && ./deploy/deploy_to_bintray.sh deploy/linux_${{ matrix.type }}/
|
|
@ -0,0 +1,40 @@
|
|||
name: Linux-MinGW
|
||||
on:
|
||||
push:
|
||||
branches: [ master ]
|
||||
pull_request:
|
||||
branches: [ master ]
|
||||
schedule:
|
||||
- cron: '0 12 * * 0'
|
||||
|
||||
jobs:
|
||||
build:
|
||||
name: ${{ matrix.type }}-build
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
type: [libs-mingw, apps-mingw]
|
||||
fail-fast: false
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
sudo apt-get -qq update
|
||||
sudo apt-get install -y mingw-w64 binutils-mingw-w64-i686 binutils-mingw-w64-x86-64 gcc-mingw-w64 gcc-mingw-w64-i686 gcc-mingw-w64-x86-64 g++-mingw-w64 g++-mingw-w64-i686 g++-mingw-w64-x86-64 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: Deploy to BinTray
|
||||
if: ${{ success() && ! contains(matrix.type, 'libs-mingw') }}
|
||||
env:
|
||||
BINTRAY_API_KEY: ${{ secrets.BINTRAY_API_KEY }}
|
||||
PULL_REQUEST: ${{ github.event.number }}
|
||||
PULL_REQUEST_SHA: ${{ github.event.pull_request.head.sha }}
|
||||
run: ./deploy/prepare_deployment.sh win_${{ matrix.type }} && ./deploy/deploy_to_bintray.sh deploy/win_${{ matrix.type }}/
|
|
@ -0,0 +1,72 @@
|
|||
name: Windows
|
||||
on:
|
||||
push:
|
||||
branches: [ master ]
|
||||
pull_request:
|
||||
branches: [ master ]
|
||||
schedule:
|
||||
- cron: '15 12 * * 0'
|
||||
|
||||
jobs:
|
||||
build:
|
||||
name: ${{ matrix.configuration }}-${{ matrix.platform }}-build
|
||||
runs-on: windows-latest
|
||||
strategy:
|
||||
matrix:
|
||||
platform: [x64]
|
||||
configuration: [Release]
|
||||
env:
|
||||
VCPKG_BINARY_SOURCES: 'clear;files,${{ github.workspace }}\3rdParty\buildCache\windows\vcpkgcache\,readwrite'
|
||||
steps:
|
||||
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Download GoogleTestAdapter
|
||||
uses: suisei-cn/actions-download-file@v1
|
||||
id: DownloadGoogleTestAdapter
|
||||
with:
|
||||
url: "https://github.com/csoltenborn/GoogleTestAdapter/releases/download/v0.18.0/GoogleTestAdapter-0.18.0.vsix"
|
||||
target: ${{ github.workspace }}\temp\
|
||||
|
||||
- name: Unzip GoogleTestAdapter
|
||||
uses: DuckSoft/extract-7z-action@v1.0
|
||||
with:
|
||||
pathSource: ${{ github.workspace }}\temp\GoogleTestAdapter-0.18.0.vsix
|
||||
pathTarget: ${{ github.workspace }}\temp\GoogleTestAdapter
|
||||
|
||||
- name: Setup msbuild
|
||||
uses: microsoft/setup-msbuild@v1
|
||||
|
||||
- name: Setup vstest
|
||||
uses: darenm/Setup-VSTest@v1
|
||||
|
||||
- name: Fix vcpkg
|
||||
run: vcpkg.exe integrate remove
|
||||
|
||||
- name: Cache dependencies
|
||||
uses: actions/cache@v2.1.3
|
||||
with:
|
||||
path: |
|
||||
${{ github.workspace }}\3rdParty\buildCache\windows\vcpkgcache\
|
||||
${{ github.workspace }}\3rdParty\Windows\cuda\
|
||||
key: windows-${{ matrix.platform }}-${{ matrix.configuration }}-${{ hashFiles('win_build/vcpkg_3rdparty_dependencies_vs2019.vcxproj') }}
|
||||
restore-keys: windows-${{ matrix.platform }}-${{ matrix.configuration }}-
|
||||
|
||||
- name: Build
|
||||
run: msbuild win_build\boinc_vs2019.sln -p:Configuration=${{ matrix.configuration }} -p:Platform=${{ matrix.platform }} -p:VcpkgTripletConfig=ci -m
|
||||
|
||||
- name: Run tests
|
||||
run: vstest.console.exe win_build\Build\${{ matrix.platform }}\${{ matrix.configuration }}\unittests.exe /TestAdapterPath:${{ github.workspace }}\temp\GoogleTestAdapter
|
||||
|
||||
- name: Deploy to BinTray
|
||||
if: ${{ success() }}
|
||||
env:
|
||||
BINTRAY_API_KEY: ${{ secrets.BINTRAY_API_KEY }}
|
||||
PULL_REQUEST: ${{ github.event.number }}
|
||||
PULL_REQUEST_SHA: ${{ github.event.pull_request.head.sha }}
|
||||
platform: ${{ matrix.platform }}
|
||||
configuration: ${{ matrix.configuration }}
|
||||
shell: cmd
|
||||
run: |
|
||||
call deploy\prepare_deployment.bat
|
||||
call deploy\deploy_to_bintray.bat
|
89
.travis.yml
89
.travis.yml
|
@ -1,89 +0,0 @@
|
|||
language: cpp
|
||||
os: linux
|
||||
compiler:
|
||||
- gcc
|
||||
|
||||
branches:
|
||||
only:
|
||||
- master
|
||||
- coverity_scan
|
||||
|
||||
dist: xenial
|
||||
jdk:
|
||||
- oraclejdk9
|
||||
|
||||
cache:
|
||||
timeout: 600
|
||||
directories:
|
||||
- 3rdParty/buildCache
|
||||
|
||||
addons:
|
||||
coverity_scan:
|
||||
project:
|
||||
name: "BOINC/boinc"
|
||||
description: "Build submitted via Travis CI"
|
||||
notification_email: christian.beer@posteo.de
|
||||
build_command_prepend: "./configure --enable-apps"
|
||||
build_command: "make -j 4"
|
||||
branch_pattern: coverity_scan
|
||||
|
||||
env:
|
||||
global:
|
||||
# secret API keys for Coverity and bintray
|
||||
- secure: "Rd++Hyurnwd/tvjH0PX2seO3QUZ6WOf8bSB2ZkKPfZCU6+tXVMvloyog6Mlc7vl0m3WFAzw24MDtNLFBUktRsVXOkqDup1s6PdkwwcwG+5wAnydN+kXF9PcqKyOi0xJvl48Wji+r92Y9SCLzPnQGjZg70xHET22bDZHt2FsjP80="
|
||||
- secure: dYJhIQi9mB00HsyjNEbyyeh7ChHxbg9o6dkBvub/4dRwJKN+KAReU7yHshUTpHI+Nn4TdCjpwHcDMDOklRTSeUFz79jGEmCVqvnz0DynZFroryX3rdAnc/kW4QkupgLZk4JKCN0JRPOM/j9RS2zLxkqrDc7gibF7BNgIhu1jUXk=
|
||||
jobs:
|
||||
- BOINC_TYPE=libs
|
||||
- BOINC_TYPE=server
|
||||
- BOINC_TYPE=client
|
||||
- BOINC_TYPE=apps
|
||||
- BOINC_TYPE=manager
|
||||
- BOINC_TYPE=libs-mingw
|
||||
- BOINC_TYPE=apps-mingw
|
||||
- BOINC_TYPE=unit-test
|
||||
|
||||
jobs:
|
||||
fast_finish: true
|
||||
include:
|
||||
- language: php
|
||||
os: linux
|
||||
php: 7.0
|
||||
env:
|
||||
- BOINC_TYPE=integration-test
|
||||
- language: cpp
|
||||
os: osx
|
||||
env: BOINC_TYPE=manager-osx
|
||||
- language: android
|
||||
android:
|
||||
components:
|
||||
- build-tools-29.0.3
|
||||
- android-29
|
||||
- extra-google-m2repository
|
||||
- extra-android-m2repository
|
||||
env: BOINC_TYPE=manager-android
|
||||
|
||||
before_install:
|
||||
- if [[ "${TRAVIS_OS_NAME}" == "linux" ]]; then ( sudo apt-get -qq update ) fi
|
||||
- if [[ "${TRAVIS_OS_NAME}" == "linux" ]]; then ( sudo apt-get install -y freeglut3-dev libxmu-dev libxi-dev libfcgi-dev libxss-dev libnotify-dev libxcb-util0-dev libgtk2.0-dev libwebkitgtk-dev mingw-w64 binutils-mingw-w64-i686 binutils-mingw-w64-x86-64 gcc-mingw-w64 gcc-mingw-w64-i686 gcc-mingw-w64-x86-64 g++-mingw-w64 g++-mingw-w64-i686 g++-mingw-w64-x86-64 realpath p7zip-full ) fi
|
||||
- if [[ "${BOINC_TYPE}" == "integration-test" ]]; then ( sudo apt-get install ansible/xenial-backports; sudo service mysql stop; ) fi
|
||||
|
||||
before_script:
|
||||
- if [[ "${TRAVIS_OS_NAME}" == "linux" ]]; then ( ./_autosetup ) fi
|
||||
- if [[ "${BOINC_TYPE}" == "integration-test" ]]; then ( ./integration_test/installTestSuite.sh ) fi
|
||||
|
||||
script:
|
||||
- if [[ "${BOINC_TYPE}" == "libs" ]]; then ( ./configure --disable-server --disable-client --disable-manager && make ) fi
|
||||
- if [[ "${BOINC_TYPE}" == "server" ]]; then ( ./configure --disable-client --disable-manager && make ) fi
|
||||
- if [[ "${BOINC_TYPE}" == "client" ]]; then ( ./configure --disable-server --disable-manager && make ) fi
|
||||
- if [[ "${BOINC_TYPE}" == "apps" ]]; then ( ./configure --enable-apps --disable-server --disable-client --disable-manager && make ) fi
|
||||
- if [[ "${BOINC_TYPE}" == "manager" && "${TRAVIS_OS_NAME}" == "linux" ]]; then ( ./3rdParty/buildLinuxDependencies.sh && ./configure --disable-server --disable-client --with-wx-prefix=${TRAVIS_BUILD_DIR}/3rdParty/buildCache/linux && make ) fi
|
||||
- if [[ "${BOINC_TYPE}" == "manager" && "${TRAVIS_OS_NAME}" == "linux" ]]; then ( make distclean && ./3rdParty/buildLinuxDependencies.sh --disable-webview --cache_dir ${TRAVIS_BUILD_DIR}/3rdParty/buildCache/linux2 && ./configure --disable-server --disable-client --with-wx-prefix=${TRAVIS_BUILD_DIR}/3rdParty/buildCache/linux2 && make ) fi
|
||||
- if [[ "${BOINC_TYPE}" == "libs-mingw" ]]; then ( cd lib && MINGW=x86_64-w64-mingw32 make -f Makefile.mingw ) fi
|
||||
- if [[ "${BOINC_TYPE}" == "apps-mingw" ]]; then ( cd lib && MINGW=x86_64-w64-mingw32 make -f Makefile.mingw wrapper ) fi
|
||||
- if [[ "${BOINC_TYPE}" == "manager-osx" ]]; then ( ./3rdParty/buildMacDependencies.sh -q && ./mac_build/buildMacBOINC-CI.sh --no_shared_headers ) fi
|
||||
- if [[ "${BOINC_TYPE}" == "manager-android" ]]; then ( cd android && ./travis_build_all.sh && cd BOINC && ./gradlew clean assemble jacocoTestReportDebug && bash <(curl -s https://codecov.io/bash) && cd ../../ ) fi
|
||||
- if [[ "${BOINC_TYPE}" == "unit-test" ]]; then ( ./3rdParty/buildLinuxDependencies.sh --gtest-only && ./configure --disable-client --disable-manager --enable-unit-tests CFLAGS="-g -O0" CXXFLAGS="-g -O0" && make && ./tests/executeUnitTests.sh --report-coverage ) fi
|
||||
- if [[ "${BOINC_TYPE}" == "integration-test" ]]; then ( ./integration_test/executeTestSuite.sh ) fi
|
||||
|
||||
after_success:
|
||||
- ./deploy/prepare_deployment.sh ${BOINC_TYPE} deploy/${BOINC_TYPE}/ && ./deploy/deploy_to_bintray.sh deploy/${BOINC_TYPE}/
|
|
@ -1,6 +1,6 @@
|
|||
# Status
|
||||
|
||||
[![Build Status](https://travis-ci.org/BOINC/boinc.svg?branch=master)](https://travis-ci.org/BOINC/boinc) [![Build status](https://ci.appveyor.com/api/projects/status/9dgoc9h5ppos8vcy/branch/master?svg=true)](https://ci.appveyor.com/project/BOINC/boinc/branch/master) [![Coverity Scan Build Status](https://scan.coverity.com/projects/4226/badge.svg)](https://scan.coverity.com/projects/boinc-boinc) [![codecov](https://codecov.io/gh/BOINC/boinc/branch/master/graph/badge.svg)](https://codecov.io/gh/BOINC/boinc) [![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/BOINC/boinc/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/BOINC/boinc/?branch=master)
|
||||
![Build Status](https://github.com/BOINC/boinc/workflows/Linux/badge.svg) ![Build Status](https://github.com/BOINC/boinc/workflows/Windows/badge.svg) ![Build Status](https://github.com/BOINC/boinc/workflows/Android/badge.svg) ![Build Status](https://github.com/BOINC/boinc/workflows/Linux-MinGW/badge.svg) [![Coverity Scan Build Status](https://scan.coverity.com/projects/4226/badge.svg)](https://scan.coverity.com/projects/boinc-boinc) [![codecov](https://codecov.io/gh/BOINC/boinc/branch/master/graph/badge.svg)](https://codecov.io/gh/BOINC/boinc) [![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/BOINC/boinc/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/BOINC/boinc/?branch=master)
|
||||
|
||||
# Social
|
||||
|
||||
|
|
|
@ -7,9 +7,27 @@ set -e
|
|||
|
||||
# Script to compile everything BOINC needs for Android
|
||||
|
||||
# check working directory because the script needs to be called like: ./android/ci_build_all.sh
|
||||
if [ ! -d "android" ]; then
|
||||
echo "start this script in the source root directory"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
cd android
|
||||
|
||||
echo '===== BOINC Client for all platforms build start ====='
|
||||
|
||||
./buildAndroidBOINC-CI.sh --cache_dir "$ANDROID_TC" --build_dir "$BUILD_DIR" --silent --ci --arch arm
|
||||
./buildAndroidBOINC-CI.sh --cache_dir "$ANDROID_TC" --build_dir "$BUILD_DIR" --silent --ci --arch arm64
|
||||
./buildAndroidBOINC-CI.sh --cache_dir "$ANDROID_TC" --build_dir "$BUILD_DIR" --silent --ci --arch x86
|
||||
./buildAndroidBOINC-CI.sh --cache_dir "$ANDROID_TC" --build_dir "$BUILD_DIR" --silent --ci --arch x86_64
|
||||
|
||||
echo '===== BOINC for all platforms build done ====='
|
||||
echo '===== BOINC Client for all platforms build done ====='
|
||||
|
||||
cd BOINC
|
||||
|
||||
echo '===== BOINC Manager build start ====='
|
||||
|
||||
./gradlew clean assemble jacocoTestReportDebug
|
||||
|
||||
echo '===== BOINC Manager build done ====='
|
129
appveyor.yml
129
appveyor.yml
|
@ -1,129 +0,0 @@
|
|||
# NOTE: settings in this file have precedence over settings on the website
|
||||
image:
|
||||
- Visual Studio 2013
|
||||
- Visual Studio 2019
|
||||
|
||||
matrix:
|
||||
fast_finish: true
|
||||
exclude:
|
||||
- platform: x64
|
||||
TOOLCHAIN_VERSION: 10.0
|
||||
- platform: Win32
|
||||
TOOLCHAIN_VERSION: 10.0
|
||||
image: Visual Studio 2019
|
||||
- TOOLCHAIN_VERSION: 12.0
|
||||
image: Visual Studio 2019
|
||||
- platform: Win32
|
||||
TOOLCHAIN_VERSION: 16.0
|
||||
- platform: x64
|
||||
TOOLCHAIN_VERSION: 16.0
|
||||
image: Visual Studio 2013
|
||||
|
||||
platform:
|
||||
- Win32
|
||||
- x64
|
||||
|
||||
pull_requests:
|
||||
do_not_increment_build_number: true
|
||||
|
||||
notifications:
|
||||
- provider: Email
|
||||
to:
|
||||
- boinc_cvs@ssl.berkeley.edu
|
||||
on_build_success: false
|
||||
on_build_failure: true
|
||||
on_build_status_changed: true
|
||||
|
||||
branches:
|
||||
only:
|
||||
- master
|
||||
|
||||
skip_tags: true
|
||||
|
||||
skip_commits:
|
||||
files:
|
||||
- .github/
|
||||
- 3rdParty/*.sh
|
||||
- android/
|
||||
- client/android/
|
||||
- client/os2/
|
||||
- client/scripts/
|
||||
- clientgui/gtk/
|
||||
- clientgui/mac/
|
||||
- clientgui/skins/
|
||||
- db/
|
||||
- doc/
|
||||
- drupal/
|
||||
- html/
|
||||
- integration_test
|
||||
- lib/mac/
|
||||
- locale/
|
||||
- m4/
|
||||
- mac_build/
|
||||
- mac_installer/
|
||||
- packages/
|
||||
- py/
|
||||
- stripchart/
|
||||
- tests/
|
||||
- tools/
|
||||
- vda/
|
||||
- xcompile/
|
||||
|
||||
configuration:
|
||||
- Release
|
||||
|
||||
environment:
|
||||
matrix:
|
||||
- TOOLCHAIN_VERSION: 10.0
|
||||
solution_name: win_build\boinc_vs2010.sln
|
||||
depends_zip_path: https://boinc.berkeley.edu/dl/boinc_depends/boinc_depends_win_vs2010.zip
|
||||
depends_path: C:\projects\boinc_depends_win_vs2010
|
||||
- TOOLCHAIN_VERSION: 12.0
|
||||
solution_name: win_build\boinc_vs2013.sln
|
||||
depends_zip_path: https://boinc.berkeley.edu/dl/boinc_depends/boinc_depends_win_vs2013.zip
|
||||
depends_path: C:\projects\boinc_depends_win_vs2013
|
||||
- TOOLCHAIN_VERSION: 16.0
|
||||
solution_name: win_build\boinc_vs2019.sln
|
||||
BINTRAY_API_KEY:
|
||||
secure: kZI9k0Kh2bFSCbXfkz+J16fGNAee1ToRMl10D8QPQsKpC2PqhF/uVMpd6gRC+OSI
|
||||
APPVEYOR_CACHE_ENTRY_ZIP_ARGS: "-t7z -m0=lzma2 -mx=9 -ms=on"
|
||||
|
||||
cache:
|
||||
- C:\projects\boinc_depends_win_vs2010 -> appveyor.yml, win_build\load_dependencies.bat
|
||||
- C:\projects\boinc_depends_win_vs2013 -> appveyor.yml, win_build\load_dependencies.bat
|
||||
- '%LOCALAPPDATA%\vcpkg\archives -> appveyor.yml'
|
||||
|
||||
before_build:
|
||||
- if %TOOLCHAIN_VERSION%==10.0 call win_build\load_dependencies.bat %depends_zip_path% %depends_path% %platform% %configuration%
|
||||
- if %TOOLCHAIN_VERSION%==12.0 call win_build\load_dependencies.bat %depends_zip_path% %depends_path% %platform% %configuration%
|
||||
- if %TOOLCHAIN_VERSION%==10.0 call "%VS100COMNTOOLS%\vsvars32.bat"
|
||||
- if %TOOLCHAIN_VERSION%==10.0 call git apply boinc_vs2010.sln.ci.patch
|
||||
- if %TOOLCHAIN_VERSION%==12.0 call "%VS120COMNTOOLS%\vsvars32.bat"
|
||||
- if %TOOLCHAIN_VERSION%==12.0 call rmdir /S /Q %localappdata%\Microsoft\VisualStudio\%TOOLCHAIN_VERSION%\ComponentModelCache
|
||||
- if %TOOLCHAIN_VERSION%==16.0 call "C:\Tools\vcpkg\vcpkg.exe" integrate remove
|
||||
- if %TOOLCHAIN_VERSION%==16.0 call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\Tools\vsdevcmd.bat"
|
||||
|
||||
build_script:
|
||||
- msbuild %solution_name% /p:Configuration=%configuration%;Platform=%platform%;VcpkgTripletConfig=ci -m
|
||||
|
||||
after_build:
|
||||
- if %TOOLCHAIN_VERSION%==12.0 call deploy\prepare_deployment.bat
|
||||
- if %TOOLCHAIN_VERSION%==12.0 call deploy\deploy_to_bintray.bat
|
||||
|
||||
artifacts:
|
||||
- path: deploy\win-apps\*.7z
|
||||
name: win-apps
|
||||
- path: deploy\win-client\*.7z
|
||||
name: win-client
|
||||
- path: deploy\win-manager\*.7z
|
||||
name: win-manager
|
||||
|
||||
before_test:
|
||||
- if %TOOLCHAIN_VERSION%==16.0 curl -fsSL https://github.com/csoltenborn/GoogleTestAdapter/releases/download/v0.18.0/GoogleTestAdapter-0.18.0.vsix -o C:\projects\GoogleTestAdapter.zip
|
||||
- if %TOOLCHAIN_VERSION%==16.0 call 7z.exe x C:\projects\GoogleTestAdapter.zip -oC:\projects\GoogleTestAdapter -aoa
|
||||
|
||||
test_script:
|
||||
- if %TOOLCHAIN_VERSION%==16.0 call vstest.console.exe win_build\Build\%platform%\%configuration%\unittests.exe /TestAdapterPath:C:\projects\GoogleTestAdapter /logger:Appveyor
|
||||
|
||||
# on_finish:
|
||||
# - ps: $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))
|
|
@ -1,11 +1,38 @@
|
|||
setlocal EnableDelayedExpansion
|
||||
rem @echo off
|
||||
|
||||
if not defined bintray_deploy (
|
||||
set bintray_deploy=False
|
||||
for /f "tokens=2-4 delims=/ " %%a in ("%date%") do (set MM=%%a& set DD=%%b& set YYYY=%%c)
|
||||
set build_date=%YYYY%-%MM%-%DD%
|
||||
|
||||
set pkg_name=custom
|
||||
rem GITHUB_SHA might not be available here, better use "git rev-parse --short=8 HEAD" instead
|
||||
set git_rev=%GITHUB_SHA:~0,8%
|
||||
set pkg_version=custom_%build_date%_!git_rev!
|
||||
set pkg_version_desc=Custom build created on %build_date%
|
||||
if not defined GITHUB_ACTIONS (
|
||||
set GITHUB_ACTIONS=False
|
||||
)
|
||||
set CI_RUN=%GITHUB_ACTIONS%
|
||||
|
||||
if "%CI_RUN%" == "True" (
|
||||
if "%GITHUB_EVENT_NAME%" == "pull_request" (
|
||||
set pkg_name=pull-requests
|
||||
set git_rev=%PULL_REQUEST_SHA:~0,8%
|
||||
set pkg_version=PR%PULL_REQUEST%_%build_date%_!git_rev!
|
||||
set pkg_version_desc=CI build created from PR #%PULL_REQUEST% on %build_date%
|
||||
)
|
||||
if "%GITHUB_EVENT_NAME%" == "schedule" (
|
||||
set pkg_name=weekly
|
||||
set git_rev=%GITHUB_SHA:~0,8%
|
||||
set pkg_version=weekly_%build_date%_!git_rev!
|
||||
set pkg_version_desc=Weekly CI build created on %build_date%
|
||||
)
|
||||
if "%GITHUB_EVENT_NAME%" == "push" (
|
||||
set pkg_name=master
|
||||
set git_rev=%GITHUB_SHA:~0,8%
|
||||
set pkg_version=master_%build_date%_!git_rev!
|
||||
set pkg_version_desc=Custom build created on %build_date%
|
||||
)
|
||||
if !bintray_deploy! == False (
|
||||
goto :EOF
|
||||
)
|
||||
|
||||
if not defined BINTRAY_API_KEY (
|
||||
|
@ -40,9 +67,6 @@ set CURL=curl -u%BINTRAY_USER%:%BINTRAY_API_KEY% -H Accept:application/json -w \
|
|||
rem use this for local debugging
|
||||
rem set CURL=echo
|
||||
|
||||
if not defined pkg_name (
|
||||
set pkg_name=custom
|
||||
)
|
||||
if not defined pkg_desc (
|
||||
set pkg_desc=Automated CI build of BOINC components
|
||||
)
|
||||
|
@ -51,37 +75,23 @@ echo Creating package %pkg_name%...
|
|||
set data={\"name\": \"!pkg_name!\", \"desc\": \"!pkg_desc!\", \"desc_url\": \"auto\", \"website_url\": [\"%WEBSITE_URL%\"], \"vcs_url\": [\"%VCS_URL%\"], \"issue_tracker_url\": [\"%ISSUE_TRACKER_URL%\"], \"licenses\": [\"LGPL-3.0\"]}
|
||||
%CURL% -H Content-Type:application/json -X POST -d "%data%" "%API%/packages/%BINTRAY_REPO_OWNER%/%BINTRAY_REPO%"
|
||||
|
||||
for /f "tokens=2-4 delims=/ " %%a in ("%date%") do (set MM=%%a& set DD=%%b& set YYYY=%%c)
|
||||
if not defined build_date (
|
||||
set build_date=%YYYY%-%MM%-%DD%
|
||||
)
|
||||
if not defined git_rev (
|
||||
set git_rev=%APPVEYOR_REPO_COMMIT:~0,8%
|
||||
)
|
||||
if not defined pkg_version (
|
||||
set pkg_version=custom_%build_date%_!git_rev!
|
||||
)
|
||||
if not defined pkg_version_desc (
|
||||
set pkg_version_desc=Custom build created on %build_date%
|
||||
)
|
||||
|
||||
echo Creating version !pkg_version!...
|
||||
set data={\"name\": \"!pkg_version!\", \"desc\": \"!pkg_version_desc!\"}
|
||||
%CURL% -H Content-Type:application/json -X POST -d "%data%" "%API%/packages/%BINTRAY_REPO_OWNER%/%BINTRAY_REPO%/!pkg_name!/versions"
|
||||
|
||||
if exist "deploy\win-apps\win-apps_!pkg_version!_%platform%.7z" (
|
||||
echo Uploading and publishing "deploy\win-apps\win-apps_!pkg_version!_%platform%.7z"
|
||||
%CURL% -H Content-Type:application/octet-stream -T "deploy\win-apps\win-apps_!pkg_version!_%platform%.7z" "%API%/content/%BINTRAY_REPO_OWNER%/%BINTRAY_REPO%/!pkg_name!/!pkg_version!/win-apps_!pkg_version!_%platform%.7z?publish=1&override=1"
|
||||
if exist "deploy\win_apps\win_apps.7z" (
|
||||
echo Uploading and publishing "deploy\win_apps\win_apps.7z"
|
||||
%CURL% -H Content-Type:application/octet-stream -T "deploy\win_apps\win_apps.7z" "%API%/content/%BINTRAY_REPO_OWNER%/%BINTRAY_REPO%/!pkg_name!/!pkg_version!/win_apps_!pkg_version!.7z?publish=1&override=1"
|
||||
)
|
||||
|
||||
if exist "deploy\win-client\win-client_!pkg_version!_%platform%.7z" (
|
||||
echo Uploading and publishing "deploy\win-client\win-client_!pkg_version!_%platform%.7z"
|
||||
%CURL% -H Content-Type:application/octet-stream -T "deploy\win-client\win-client_!pkg_version!_%platform%.7z" "%API%/content/%BINTRAY_REPO_OWNER%/%BINTRAY_REPO%/!pkg_name!/!pkg_version!/win-client_!pkg_version!_%platform%.7z?publish=1&override=1"
|
||||
if exist "deploy\win_client\win_client.7z" (
|
||||
echo Uploading and publishing "deploy\win_client\win_client.7z"
|
||||
%CURL% -H Content-Type:application/octet-stream -T "deploy\win_client\win_client.7z" "%API%/content/%BINTRAY_REPO_OWNER%/%BINTRAY_REPO%/!pkg_name!/!pkg_version!/win_client_!pkg_version!.7z?publish=1&override=1"
|
||||
)
|
||||
|
||||
if exist "deploy\win-manager\win-manager_!pkg_version!_%platform%.7z" (
|
||||
echo Uploading and publishing "deploy\win-manager\win-manager_!pkg_version!_%platform%.7z"
|
||||
%CURL% -H Content-Type:application/octet-stream -T "deploy\win-manager\win-manager_!pkg_version!_%platform%.7z" "%API%/content/%BINTRAY_REPO_OWNER%/%BINTRAY_REPO%/!pkg_name!/!pkg_version!/win-manager_!pkg_version!_%platform%.7z?publish=1&override=1"
|
||||
if exist "deploy\win_manager\win_manager.7z" (
|
||||
echo Uploading and publishing "deploy\win_manager\win_manager.7z"
|
||||
%CURL% -H Content-Type:application/octet-stream -T "deploy\win_manager\win_manager.7z" "%API%/content/%BINTRAY_REPO_OWNER%/%BINTRAY_REPO%/!pkg_name!/!pkg_version!/win_manager_!pkg_version!.7z?publish=1&override=1"
|
||||
)
|
||||
|
||||
rem if defined APPVEYOR_JOB_ID (
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
# This file is part of BOINC.
|
||||
# http://boinc.berkeley.edu
|
||||
# Copyright (C) 2018 University of California
|
||||
# Copyright (C) 2020 University of California
|
||||
#
|
||||
# BOINC is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU Lesser General Public License
|
||||
|
@ -51,7 +51,7 @@ if [ "${BINTRAY_API_KEY}" == "" ] ; then
|
|||
exit 0
|
||||
fi
|
||||
|
||||
CI_RUN="${TRAVIS:-false}"
|
||||
CI_RUN="${GITHUB_ACTIONS:-false}"
|
||||
BOINC_TYPE="$(basename "${SOURCE_DIR}")" # TODO: do not infer TYPE from directory, instead make it an argument
|
||||
API=https://api.bintray.com
|
||||
BINTRAY_USER="${BINTRAY_USER:-ChristianBeer}"
|
||||
|
@ -66,22 +66,23 @@ CURL="curl -u${BINTRAY_USER}:${BINTRAY_API_KEY} -H Accept:application/json -w \n
|
|||
#CURL="echo " # use this for local debugging
|
||||
|
||||
BUILD_DATE=$(date "+%Y-%m-%d")
|
||||
GIT_REV=$(git rev-parse --short HEAD)
|
||||
GIT_REV=$(git rev-parse --short=8 HEAD)
|
||||
PKG_NAME="custom"
|
||||
PKG_DESC="Automated CI build of BOINC components"
|
||||
VERSION="custom_${BUILD_DATE}_${GIT_REV}"
|
||||
VERSION_DESC="Custom build created on ${BUILD_DATE}"
|
||||
RUN_CLEANUP="false"
|
||||
if [[ $CI_RUN == "true" ]]; then
|
||||
case $TRAVIS_EVENT_TYPE in
|
||||
case $GITHUB_EVENT_NAME in
|
||||
pull_request)
|
||||
PKG_NAME="pull-requests"
|
||||
GIT_REV=${TRAVIS_PULL_REQUEST_SHA:0:8}
|
||||
VERSION="PR${TRAVIS_PULL_REQUEST}_${BUILD_DATE}_${GIT_REV}"
|
||||
VERSION_DESC="CI build created from PR #${TRAVIS_PULL_REQUEST} on ${BUILD_DATE}"
|
||||
GIT_REV=${PULL_REQUEST_SHA:0:8}
|
||||
VERSION="PR${PULL_REQUEST}_${BUILD_DATE}_${GIT_REV}"
|
||||
VERSION_DESC="CI build created from PR #${PULL_REQUEST} on ${BUILD_DATE}"
|
||||
;;
|
||||
cron)
|
||||
schedule)
|
||||
PKG_NAME="weekly"
|
||||
GIT_REV=${GITHUB_SHA:0:8}
|
||||
VERSION="weekly_${BUILD_DATE}_${GIT_REV}"
|
||||
VERSION_DESC="Weekly CI build created on ${BUILD_DATE}"
|
||||
# run cleanup script once a month
|
||||
|
@ -89,9 +90,11 @@ if [[ $CI_RUN == "true" ]]; then
|
|||
RUN_CLEANUP="true"
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
echo "event $TRAVIS_EVENT_TYPE not supported for deployment"
|
||||
exit 0;
|
||||
push)
|
||||
PKG_NAME="master"
|
||||
GIT_REV=${GITHUB_SHA:0:8}
|
||||
VERSION="master_${BUILD_DATE}_${GIT_REV}"
|
||||
VERSION_DESC="Master build created on ${BUILD_DATE}"
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
@ -118,7 +121,7 @@ ${CURL} -H Content-Type:application/json -X POST -d "${data}" "${API}/packages/$
|
|||
|
||||
echo "Adding attributes to version ${VERSION}"
|
||||
# this can be used to cleanup old versions
|
||||
pr="${TRAVIS_PULL_REQUEST:-0}"
|
||||
pr="${PULL_REQUEST:-0}"
|
||||
created=$(date -u +%s)
|
||||
data="[{\"name\": \"PR\", \"values\": [\"${pr}\"], \"type\": \"string\"},
|
||||
{\"name\": \"create_time_utc\", \"values\": [${created}], \"type\": \"number\"}]"
|
||||
|
@ -131,19 +134,19 @@ if [ -f "${SOURCE_DIR}/${BOINC_TYPE}.7z" ]; then
|
|||
${CURL} -H Content-Type:application/octet-stream -T "${SOURCE_DIR}/${BOINC_TYPE}.7z" "${API}/content/${BINTRAY_REPO_OWNER}/${BINTRAY_REPO}/${PKG_NAME}/${VERSION}/${BOINC_TYPE}_${VERSION}.7z?publish=1&override=1"
|
||||
fi
|
||||
|
||||
if [ "$TRAVIS_BUILD_ID" ] ; then
|
||||
echo "Adding Travis CI log to release notes..."
|
||||
BUILD_LOG="https://travis-ci.org/BOINC/boinc/builds/${TRAVIS_BUILD_ID}"
|
||||
#BUILD_LOG="https://api.travis-ci.org/jobs/${TRAVIS_JOB_ID}/log.txt?deansi=true"
|
||||
data='{
|
||||
"bintray": {
|
||||
"syntax": "markdown",
|
||||
"content": "'${BUILD_LOG}'"
|
||||
}
|
||||
}'
|
||||
set +x
|
||||
${CURL} -H Content-Type:application/json -X POST -d "${data}" "${API}/packages/${BINTRAY_REPO_OWNER}/${BINTRAY_REPO}/${PKG_NAME}/versions/${VERSION}/release_notes"
|
||||
fi
|
||||
# if [ "$TRAVIS_BUILD_ID" ] ; then
|
||||
# echo "Adding Travis CI log to release notes..."
|
||||
# BUILD_LOG="https://travis-ci.org/BOINC/boinc/builds/${TRAVIS_BUILD_ID}"
|
||||
# #BUILD_LOG="https://api.travis-ci.org/jobs/${TRAVIS_JOB_ID}/log.txt?deansi=true"
|
||||
# data='{
|
||||
# "bintray": {
|
||||
# "syntax": "markdown",
|
||||
# "content": "'${BUILD_LOG}'"
|
||||
# }
|
||||
# }'
|
||||
# set +x
|
||||
# ${CURL} -H Content-Type:application/json -X POST -d "${data}" "${API}/packages/${BINTRAY_REPO_OWNER}/${BINTRAY_REPO}/${PKG_NAME}/versions/${VERSION}/release_notes"
|
||||
# fi
|
||||
|
||||
if [[ $RUN_CLEANUP == "true" ]]; then
|
||||
./deploy/cleanup_bintray.sh
|
||||
|
|
|
@ -1,77 +1,38 @@
|
|||
setlocal EnableDelayedExpansion
|
||||
rem @echo off
|
||||
set bintray_deploy=False
|
||||
for /f "tokens=2-4 delims=/ " %%a in ("%date%") do (set MM=%%a& set DD=%%b& set YYYY=%%c)
|
||||
set build_date=%YYYY%-%MM%-%DD%
|
||||
|
||||
rem Default values because %bintray_deploy% is currently unused
|
||||
set pkg_name=master
|
||||
set git_rev=%APPVEYOR_REPO_COMMIT:~0,8%
|
||||
set pkg_version=master_%build_date%_!git_rev!
|
||||
set pkg_version_desc=Custom build created on %build_date%
|
||||
|
||||
if defined APPVEYOR_PULL_REQUEST_NUMBER (
|
||||
set pkg_name=pull-requests
|
||||
set git_rev=%APPVEYOR_PULL_REQUEST_HEAD_COMMIT:~0,8%
|
||||
set pkg_version=PR%APPVEYOR_PULL_REQUEST_NUMBER%_%build_date%_!git_rev!
|
||||
set pkg_version_desc=CI build created from PR #%APPVEYOR_PULL_REQUEST_NUMBER% on %build_date%
|
||||
set bintray_deploy=True
|
||||
)
|
||||
if defined APPVEYOR_SCHEDULED_BUILD (
|
||||
if "%APPVEYOR_SCHEDULED_BUILD%" == "True" (
|
||||
set pkg_name=weekly
|
||||
set pkg_version=weekly_%build_date%_!git_rev!
|
||||
set pkg_version_desc=Weekly CI build created on %build_date%
|
||||
set bintray_deploy=True
|
||||
)
|
||||
)
|
||||
|
||||
if not exist "deploy\win-apps" mkdir deploy\win-apps
|
||||
copy "win_build\Build\%platform%\%configuration%\htmlgfx*.exe" "deploy\win-apps\"
|
||||
copy "win_build\Build\%platform%\%configuration%\wrapper*.exe" "deploy\win-apps\"
|
||||
copy "win_build\Build\%platform%\%configuration%\vboxwrapper*.exe" "deploy\win-apps\"
|
||||
copy "win_build\Build\%platform%\%configuration%\boincsim.exe" "deploy\win-apps\"
|
||||
copy "win_build\Build\%platform%\%configuration%\slide_show.exe" "deploy\win-apps\"
|
||||
copy "win_build\Build\%platform%\%configuration%\example_app_multi_thread.exe" "deploy\win-apps\"
|
||||
copy "win_build\Build\%platform%\%configuration%\example_app_graphics.exe" "deploy\win-apps\"
|
||||
copy "win_build\Build\%platform%\%configuration%\example_app.exe" "deploy\win-apps\"
|
||||
copy "win_build\Build\%platform%\%configuration%\worker.exe" "deploy\win-apps\"
|
||||
copy "win_build\Build\%platform%\%configuration%\sleeper.exe" "deploy\win-apps\"
|
||||
cd deploy\win-apps
|
||||
7z a win-apps_!pkg_version!_%platform%.7z *.exe
|
||||
if not exist "deploy\win_apps" mkdir deploy\win_apps
|
||||
copy "win_build\Build\%platform%\%configuration%\htmlgfx*.exe" "deploy\win_apps\"
|
||||
copy "win_build\Build\%platform%\%configuration%\wrapper*.exe" "deploy\win_apps\"
|
||||
copy "win_build\Build\%platform%\%configuration%\vboxwrapper*.exe" "deploy\win_apps\"
|
||||
copy "win_build\Build\%platform%\%configuration%\boincsim.exe" "deploy\win_apps\"
|
||||
copy "win_build\Build\%platform%\%configuration%\slide_show.exe" "deploy\win_apps\"
|
||||
copy "win_build\Build\%platform%\%configuration%\example*.exe" "deploy\win_apps\"
|
||||
copy "win_build\Build\%platform%\%configuration%\worker*.exe" "deploy\win_apps\"
|
||||
copy "win_build\Build\%platform%\%configuration%\sleeper*.exe" "deploy\win_apps\"
|
||||
copy "win_build\Build\%platform%\%configuration%\boinclog.exe" "deploy\win_apps\"
|
||||
copy "win_build\Build\%platform%\%configuration%\boincsim.exe" "deploy\win_apps\"
|
||||
copy "win_build\Build\%platform%\%configuration%\multi_thread*.exe" "deploy\win_apps\"
|
||||
copy "win_build\Build\%platform%\%configuration%\slide_show.exe" "deploy\win_apps\"
|
||||
copy "win_build\Build\%platform%\%configuration%\test*.exe" "deploy\win_apps\"
|
||||
copy "win_build\Build\%platform%\%configuration%\wrappture*.exe" "deploy\win_apps\"
|
||||
cd deploy\win_apps
|
||||
7z a win_apps.7z *.exe
|
||||
cd ..\..
|
||||
|
||||
if not exist "deploy\win-client" mkdir deploy\win-client
|
||||
copy "win_build\Build\%platform%\%configuration%\boinc.exe" "deploy\win-client\"
|
||||
copy "win_build\Build\%platform%\%configuration%\boincsvcctrl.exe" "deploy\win-client\"
|
||||
copy "win_build\Build\%platform%\%configuration%\boinccmd.exe" "deploy\win-client\"
|
||||
copy "win_build\Build\%platform%\%configuration%\boincscr.exe" "deploy\win-client\"
|
||||
copy "win_build\Build\%platform%\%configuration%\boinc.scr" "deploy\win-client\"
|
||||
cd deploy\win-client
|
||||
7z a win-client_!pkg_version!_%platform%.7z *.exe *.scr
|
||||
if not exist "deploy\win_client" mkdir deploy\win_client
|
||||
copy "win_build\Build\%platform%\%configuration%\boinc.exe" "deploy\win_client\"
|
||||
copy "win_build\Build\%platform%\%configuration%\boincsvcctrl.exe" "deploy\win_client\"
|
||||
copy "win_build\Build\%platform%\%configuration%\boinccmd.exe" "deploy\win_client\"
|
||||
copy "win_build\Build\%platform%\%configuration%\boincscr.exe" "deploy\win_client\"
|
||||
copy "win_build\Build\%platform%\%configuration%\boinc.scr" "deploy\win_client\"
|
||||
cd deploy\win_client
|
||||
7z a win_client.7z *.exe *.scr
|
||||
cd ..\..
|
||||
|
||||
if not exist "deploy\win-manager" mkdir deploy\win-manager
|
||||
copy "win_build\Build\%platform%\%configuration%\boinctray.exe" "deploy\win-manager\"
|
||||
copy "win_build\Build\%platform%\%configuration%\boincmgr.exe" "deploy\win-manager\"
|
||||
cd deploy\win-manager
|
||||
7z a win-manager_!pkg_version!_%platform%.7z *.exe
|
||||
if not exist "deploy\win_manager" mkdir deploy\win_manager
|
||||
copy "win_build\Build\%platform%\%configuration%\boinctray.exe" "deploy\win_manager\"
|
||||
copy "win_build\Build\%platform%\%configuration%\boincmgr.exe" "deploy\win_manager\"
|
||||
cd deploy\win_manager
|
||||
7z a win_manager.7z *.exe
|
||||
cd ..\..
|
||||
|
||||
rem setlocal mode is very 'interesting'
|
||||
rem see https://stackoverflow.com/questions/33898076/passing-variable-out-of-setlocal-code for details
|
||||
|
||||
(
|
||||
endlocal
|
||||
set "bintray_deploy=%bintray_deploy%"
|
||||
set "pkg_name=%pkg_name%"
|
||||
set "git_rev=%git_rev%"
|
||||
set "pkg_version=%pkg_version%"
|
||||
set "pkg_version_desc=%pkg_version_desc%"
|
||||
)
|
||||
|
||||
set bintray_deploy
|
||||
set pkg_name
|
||||
set git_rev
|
||||
set pkg_version
|
||||
set pkg_version_desc
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
# This file is part of BOINC.
|
||||
# http://boinc.berkeley.edu
|
||||
# Copyright (C) 2018 University of California
|
||||
# Copyright (C) 2020 University of California
|
||||
#
|
||||
# BOINC is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU Lesser General Public License
|
||||
|
@ -19,7 +19,7 @@
|
|||
#
|
||||
|
||||
## support script to put all build artefacts into a defined location
|
||||
## BOINC_TYPE should always be consistent with content in .travis.yml and appveyor.yml
|
||||
## BOINC_TYPE should always be consistent with content in CI configuration files
|
||||
## Change artefacts in each prepare_*() function below.
|
||||
## Don't hardlink files because this can be run on a filesystem without hardlinks
|
||||
## On error always exit non-zero so the deploy script does not run
|
||||
|
@ -85,6 +85,8 @@ prepare_manager() {
|
|||
|
||||
prepare_apps_mingw() {
|
||||
mkdir -p "${TARGET_DIR}"
|
||||
cp_if_exists lib/wrapper.exe "${TARGET_DIR}"
|
||||
prepare_7z_archive
|
||||
}
|
||||
|
||||
prepare_osx() {
|
||||
|
@ -101,7 +103,7 @@ prepare_android() {
|
|||
ROOTDIR=$(pwd)
|
||||
if [[ $# -eq 0 || $# -gt 2 ]]; then
|
||||
echo "Usage: $0 BOINC_TYPE [TARGET_DIR]"
|
||||
echo "BOINC_TYPE : [client | apps | manager | apps-mingw | manager-osx | manager-android]"
|
||||
echo "BOINC_TYPE : [linux_client | linux_apps | linux_manager-with-webview | linux_manager-without-webview | win_apps-mingw | osx_manager | android_manager]"
|
||||
echo "TARGET_DIR : relative path where binaries should be copied to (default: deploy/BOINC_TYPE/)"
|
||||
exit 1
|
||||
fi
|
||||
|
@ -110,22 +112,25 @@ TYPE="$1"
|
|||
TARGET_DIR="${2:-deploy/$TYPE/}"
|
||||
|
||||
case $TYPE in
|
||||
client)
|
||||
linux_client)
|
||||
prepare_client
|
||||
;;
|
||||
apps)
|
||||
linux_apps)
|
||||
prepare_apps
|
||||
;;
|
||||
manager)
|
||||
linux_manager-with-webview)
|
||||
prepare_manager
|
||||
;;
|
||||
apps-mingw)
|
||||
linux_manager-without-webview)
|
||||
prepare_manager
|
||||
;;
|
||||
win_apps-mingw)
|
||||
prepare_apps_mingw
|
||||
;;
|
||||
manager-osx)
|
||||
osx_manager)
|
||||
prepare_osx
|
||||
;;
|
||||
manager-android)
|
||||
android_manager)
|
||||
prepare_android
|
||||
;;
|
||||
*)
|
||||
|
|
Loading…
Reference in New Issue