Merge remote-tracking branch 'origin/capnproto' into capnproto

This commit is contained in:
Kai Jan Kriegel 2021-01-05 11:11:10 +01:00
commit 918fcd59d4
2 changed files with 142 additions and 2 deletions

139
.gitlab-ci.yml Normal file
View File

@ -0,0 +1,139 @@
# This file is a template, and might need editing before it works on your project.
# The following script will work for any project that can be built from command line by msbuild
# It uses powershell shell executor, so you need to add the following line to your config.toml file
# (located in gitlab-runner.exe directory):
# shell = "powershell"
#
# The script is composed of 3 stages: build, test and deploy.
#
# The build stage restores NuGet packages and uses msbuild to build the exe and msi
# One major issue you'll find is that you can't build msi projects from command line
# if you use vdproj. There are workarounds building msi via devenv, but they rarely work
# The best solution is migrating your vdproj projects to WiX, as it can be build directly
# by msbuild.
#
# The test stage runs nunit from command line against Test project inside your solution
# It also saves the resulting TestResult.xml file
#
# The deploy stage copies the exe and msi from build stage to a network drive
# You need to have the network drive mapped as Local System user for gitlab-runner service to see it
# The best way to persist the mapping is via a scheduled task (see: https://stackoverflow.com/a/7867064/1288473),
# running the following batch command: net use P: \\x.x.x.x\Projects /u:your_user your_pass /persistent:yes
# place project specific paths in variables to make the rest of the script more generic
variables:
LIB_RELEASE_FOLDER: 'Borepin\Borepin\bin\Release'
UWP_RELEASE_FOLDER: 'Borepin\Borepin.UWP\bin\x86\Release'
TEST_FOLDER: 'Tests\bin\Release'
# DEPLOY_FOLDER: 'P:\Projects\YourApp\Builds'
NUGET_PATH: 'C:\NuGet\nuget.exe'
DOTNET_PATH: 'C:\Program Files\dotnet\dotnet.exe'
MSBUILD_PATH: 'C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Current\Bin\msbuild.exe'
NUNIT_PATH: 'C:\Program Files (x86)\NUnit.org\nunit-console\nunit3-console.exe'
stages:
- build
- test
- deploy
build_base:
stage: build
tags:
- xamarin
- windows
# only:
# - tags # the build process will only be started by git tag commits
script:
- '& "$env:NUGET_PATH" restore' # restore Nuget dependencies
- '& "$env:MSBUILD_PATH" /p:Configuration=Release /target:Borepin' # build the project
artifacts:
expire_in: 1 week # save gitlab server space, we copy the files we need to deploy folder later on
paths:
- '$env:LIB_RELEASE_FOLDER' # saving exe to copy to deploy folder
- '$env:TEST_FOLDER\' # saving entire Test project so NUnit can run tests
build_UWP:
stage: build
tags:
- xamarin
- windows
# only:
# - tags # the build process will only be started by git tag commits
script:
- '& "$env:NUGET_PATH" restore' # restore Nuget dependencies
- '& "$env:MSBUILD_PATH" /p:Configuration=Release /target:Borepin_UWP' # build the project
artifacts:
expire_in: 1 week # save gitlab server space, we copy the files we need to deploy folder later on
paths:
- '$env:UWP_RELEASE_FOLDER' # saving exe to copy to deploy folder
- '$env:TEST_FOLDER\' # saving entire Test project so NUnit can run tests
build_Android:
stage: build
tags:
- xamarin
- windows
# only:
# - tags # the build process will only be started by git tag commits
script:
- '& "$env:NUGET_PATH" restore' # restore Nuget dependencies
- '& "$env:MSBUILD_PATH" /p:Configuration=Release /target:Borepin_Android:PackageForAndroid /target:Borepin_Android:SignAndroidPackage' # build the project /p:AndroidKeyStore=True
artifacts:
expire_in: 1 week # save gitlab server space, we copy the files we need to deploy folder later on
paths:
- Borepin/Borepin.Android/bin/Release/com.companyname.borepin-Signed.apk # saving apk to copy to deploy folder
- '$env:TEST_FOLDER\' # saving entire Test project so NUnit can run tests
build_iOS:
stage: build
tags:
- macos
# only:
# - tags # the build process will only be started by git tag commits
script:
- 'nuget restore' # restore Nuget dependencies
- 'msbuild /t:Borepin_iOS /p:Configuration=Debug /p:Platform=iPhone /p:ArchiveOnBuild=true' # build the project /p:AndroidKeyStore=True
artifacts:
expire_in: 1 week # save gitlab server space, we copy the files we need to deploy folder later on
paths:
- Borepin/Borepin.iOS/bin/iPhone/Debug/Borepin.ipa
- Borepin/Borepin.iOS/bin/iPhone/Debug/Borepin.app.dSYM
- '$env:TEST_FOLDER\' # saving entire Test project so NUnit can run tests
# test_job:
# stage: test
# tags:
# - xamarin
# - windows
# # only:
# # - tags
# script:
# - '& "$env:NUNIT_PATH" ".\$env:TEST_FOLDER\Tests.dll"' # running NUnit tests
# artifacts:
# when: always # save test results even when the task fails
# expire_in: 1 week # save gitlab server space, we copy the files we need to deploy folder later on
# paths:
# - '.\TestResult.xml' # saving NUnit results to copy to deploy folder
# dependencies:
# - build_job
# deploy_job:
# stage: deploy
# only:
# - tags
# script:
# # Compose a folder for each release based on commit tag.
# # Assuming your tag is Rev1.0.0.1, and your last commit message is 'First commit'
# # the artifact files will be copied to:
# # P:\Projects\YourApp\Builds\Rev1.0.0.1 - First commit\
# - '$commitSubject = git log -1 --pretty=%s'
# - '$deployFolder = $($env:DEPLOY_FOLDER) + "\" + $($env:CI_BUILD_TAG) + " - " + $commitSubject + "\"'
# # xcopy takes care of recursively creating required folders
# - 'xcopy /y ".\$env:EXE_RELEASE_FOLDER\YourApp.exe" "$deployFolder"'
# - 'xcopy /y ".\$env:MSI_RELEASE_FOLDER\YourApp Setup.msi" "$deployFolder"'
# - 'xcopy /y ".\TestResult.xml" "$deployFolder"'
# dependencies:
# - build_job
# - test_job

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup Label="MultilingualAppToolkit"> <PropertyGroup Label="MultilingualAppToolkit">
<MultilingualAppToolkitVersion>4.0</MultilingualAppToolkitVersion> <MultilingualAppToolkitVersion>4.0</MultilingualAppToolkitVersion>
@ -22,6 +22,7 @@
<ItemGroup> <ItemGroup>
<PackageReference Include="Xamarin.Forms" Version="4.8.0.1364" /> <PackageReference Include="Xamarin.Forms" Version="4.8.0.1364" />
<PackageReference Include="Xamarin.Essentials" Version="1.5.3.2" /> <PackageReference Include="Xamarin.Essentials" Version="1.5.3.2" />
<PackageReference Include="System.Numerics.Vectors" Version="4.5.0" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Compile Update="Properties\Resources.Designer.cs"> <Compile Update="Properties\Resources.Designer.cs">
@ -51,4 +52,4 @@
<Generator>MSBuild:UpdateDesignTimeXaml</Generator> <Generator>MSBuild:UpdateDesignTimeXaml</Generator>
</EmbeddedResource> </EmbeddedResource>
</ItemGroup> </ItemGroup>
</Project> </Project>