Summary: For now i setup the CI using VSTS (Visual Studio Team Services) , i m using my own account, but i want to move this to a Travis setup so it would be easy ported to Facebook own build system. We can also take a look on how buck can help with this. Here's a overview of my dashboard for the build and release process on VSTS: <img width="1084" alt="screen shot 2017-02-16 at 23 52 07" src="https://cloud.githubusercontent.com/assets/1235097/23046869/ff4dcada-f4a3-11e6-8d09-fb8974fb58d4.png"> The all process is pretty simple, there's a few tricks here and there, but the basic steps are: <img width="1036" alt="builds" src="https://cloud.githubusercontent.com/assets/1235097/23046874/0cb95fc2-f4a4-11e6-8fd8-3048be7ffd9d.png"> These run for every commit and publish the artifacts, then the release lane takes that artifacts and builds a nuget, after that (and it's not implemented yet) we run UI Tests on devices Android , iOS for the nuget created and run tests on UWP and .net45 on both windows and OS X so Closes https://github.com/facebook/yoga/pull/408 Reviewed By: emilsjolander Differential Revision: D4576542 Pulled By: splhack fbshipit-source-id: 66e0e4c1cb3721ed7aa7118e4e226b6ec575fea8
103 lines
5.0 KiB
XML
103 lines
5.0 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
|
<PropertyGroup>
|
|
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
|
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
|
<ProjectGuid>{AC23F444-5545-4196-8B9F-5C1F6B3E7FB3}</ProjectGuid>
|
|
<OutputType>Library</OutputType>
|
|
<AppDesignerFolder>Properties</AppDesignerFolder>
|
|
<RootNamespace>Facebook.Yoga</RootNamespace>
|
|
<AssemblyName>Facebook.Yoga.Desktop.Tests</AssemblyName>
|
|
<TargetFrameworkVersion>v4.5.1</TargetFrameworkVersion>
|
|
<FileAlignment>512</FileAlignment>
|
|
<TargetFrameworkProfile />
|
|
</PropertyGroup>
|
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
|
|
<DebugSymbols>true</DebugSymbols>
|
|
<OutputPath>bin\x64\Debug\</OutputPath>
|
|
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
|
<DebugType>full</DebugType>
|
|
<PlatformTarget>x64</PlatformTarget>
|
|
<ErrorReport>prompt</ErrorReport>
|
|
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
|
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
|
</PropertyGroup>
|
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
|
|
<OutputPath>bin\x64\Release\</OutputPath>
|
|
<DefineConstants>TRACE</DefineConstants>
|
|
<Optimize>true</Optimize>
|
|
<DebugType>pdbonly</DebugType>
|
|
<PlatformTarget>x64</PlatformTarget>
|
|
<ErrorReport>prompt</ErrorReport>
|
|
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
|
</PropertyGroup>
|
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
|
|
<DebugSymbols>true</DebugSymbols>
|
|
<OutputPath>bin\x86\Debug\</OutputPath>
|
|
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
|
<DebugType>full</DebugType>
|
|
<PlatformTarget>x86</PlatformTarget>
|
|
<ErrorReport>prompt</ErrorReport>
|
|
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
|
</PropertyGroup>
|
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
|
|
<OutputPath>bin\x86\Release\</OutputPath>
|
|
<DefineConstants>TRACE</DefineConstants>
|
|
<Optimize>true</Optimize>
|
|
<DebugType>pdbonly</DebugType>
|
|
<PlatformTarget>x86</PlatformTarget>
|
|
<ErrorReport>prompt</ErrorReport>
|
|
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
|
</PropertyGroup>
|
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'">
|
|
<DebugSymbols>true</DebugSymbols>
|
|
<OutputPath>bin\Debug\</OutputPath>
|
|
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
|
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
|
<DebugType>full</DebugType>
|
|
<PlatformTarget>AnyCPU</PlatformTarget>
|
|
<ErrorReport>prompt</ErrorReport>
|
|
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
|
</PropertyGroup>
|
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|AnyCPU'">
|
|
<OutputPath>bin\Release\</OutputPath>
|
|
<DefineConstants>TRACE</DefineConstants>
|
|
<Optimize>true</Optimize>
|
|
<DebugType>pdbonly</DebugType>
|
|
<PlatformTarget>AnyCPU</PlatformTarget>
|
|
<ErrorReport>prompt</ErrorReport>
|
|
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
|
</PropertyGroup>
|
|
<ItemGroup>
|
|
<Reference Include="nunit.framework, Version=2.6.4.14350, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL">
|
|
<HintPath>..\packages\NUnit.2.6.4\lib\nunit.framework.dll</HintPath>
|
|
<Private>True</Private>
|
|
</Reference>
|
|
<Reference Include="System" />
|
|
<Reference Include="System.Core" />
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<Compile Include="Properties\AssemblyInfo.cs" />
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<ProjectReference Include="..\Facebook.Yoga\Facebook.Yoga.csproj">
|
|
<Project>{3aace384-fdec-4d91-a3b2-eeb21b46c9ad}</Project>
|
|
<Name>Facebook.Yoga</Name>
|
|
</ProjectReference>
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<None Include="packages.config" />
|
|
</ItemGroup>
|
|
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
|
<Import Project="$(SolutionDir)Build\Facebook.Yoga.NativeInterop.targets" Condition="Exists('$(SolutionDir)Build\Facebook.Yoga.NativeInterop.targets')" Label="ImportNativeInteropTargets" />
|
|
<Target Name="EnsureNativeInteropImports" BeforeTargets="PrepareForBuild">
|
|
<PropertyGroup>
|
|
<ErrorText>This project references a native interop target that is missing. The missing build target is {0}.</ErrorText>
|
|
</PropertyGroup>
|
|
<Error Condition="!Exists('$(SolutionDir)Build\Facebook.Yoga.NativeInterop.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)Build\Facebook.Yoga.NativeInterop.targets'))" />
|
|
</Target>
|
|
</Project> |