Skip to content

Commit

Permalink
More CI Enhancements
Browse files Browse the repository at this point in the history
* Added .travis.yml as second CI source
* Expanded appveyor.yml with more build settings
* Added travis badge next to appveyor badge
* Updated settings in ICSharpCode.SharpZipLib.Tests.csproj and ICSharpCode.SharpZipLib.sln to support automated testing on travis
  • Loading branch information
McNeight committed Apr 8, 2016
1 parent cba2b88 commit 42e72f5
Show file tree
Hide file tree
Showing 6 changed files with 186 additions and 102 deletions.
13 changes: 13 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
language: csharp
mono:
- latest
- 3.12.0
- 3.10.0
- 2.10.8
solution: ICSharpCode.SharpZipLib.sln
install:
- nuget restore ICSharpCode.SharpZipLib.sln
- nuget install NUnit.Runners -Version 2.6.4 -OutputDirectory testrunner
script:
- xbuild /p:Configuration=Release ICSharpCode.SharpZipLib.sln
- mono ./testrunner/NUnit.Runners.2.6.4/tools/nunit-console.exe ./ICSharpCode.SharpZipLib.Tests/bin/Release/ICSharpCode.SharpZipLib.Tests.dll
99 changes: 47 additions & 52 deletions ICSharpCode.SharpZipLib.Tests/ICSharpCode.SharpZipLib.Tests.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -3,94 +3,89 @@
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{82211166-9C45-4603-8E3A-2CA2EFFCBC26}</ProjectGuid>
<RootNamespace>ICSharpCode.SharpZipLib</RootNamespace>
<ApplicationRevision>0</ApplicationRevision>
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
<AssemblyName>ICSharpCode.SharpZipLib.Tests</AssemblyName>
<OutputType>Library</OutputType>
<WarningLevel>4</WarningLevel>
<NoStdLib>False</NoStdLib>
<NoConfig>False</NoConfig>
<RegisterForComInterop>False</RegisterForComInterop>
<GenerateSerializationAssemblies>Auto</GenerateSerializationAssemblies>
<BaseAddress>4194304</BaseAddress>
<PlatformTarget>AnyCPU</PlatformTarget>
<BootstrapperEnabled>true</BootstrapperEnabled>
<FileAlignment>4096</FileAlignment>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<FileUpgradeFlags>
</FileUpgradeFlags>
<UpgradeBackupLocation>
</UpgradeBackupLocation>
<OldToolsVersion>2.0</OldToolsVersion>
<PublishUrl>publish\</PublishUrl>
<FileUpgradeFlags />
<GenerateSerializationAssemblies>Auto</GenerateSerializationAssemblies>
<Install>true</Install>
<InstallFrom>Disk</InstallFrom>
<IsWebBootstrapper>false</IsWebBootstrapper>
<MapFileExtensions>true</MapFileExtensions>
<NoConfig>False</NoConfig>
<NoStdLib>False</NoStdLib>
<OldToolsVersion>2.0</OldToolsVersion>
<OutputType>Library</OutputType>
<PlatformTarget>AnyCPU</PlatformTarget>
<ProjectGuid>{82211166-9C45-4603-8E3A-2CA2EFFCBC26}</ProjectGuid>
<PublishUrl>publish\</PublishUrl>
<RegisterForComInterop>False</RegisterForComInterop>
<RootNamespace>ICSharpCode.SharpZipLib</RootNamespace>
<SchemaVersion>2.0</SchemaVersion>
<TargetFrameworkProfile />
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<UpdateEnabled>false</UpdateEnabled>
<UpdateMode>Foreground</UpdateMode>
<UpdateInterval>7</UpdateInterval>
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
<UpdateMode>Foreground</UpdateMode>
<UpdatePeriodically>false</UpdatePeriodically>
<UpdateRequired>false</UpdateRequired>
<MapFileExtensions>true</MapFileExtensions>
<ApplicationRevision>0</ApplicationRevision>
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
<IsWebBootstrapper>false</IsWebBootstrapper>
<UpgradeBackupLocation />
<UseApplicationTrust>false</UseApplicationTrust>
<BootstrapperEnabled>true</BootstrapperEnabled>
<TargetFrameworkProfile />
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<Optimize>False</Optimize>
<AllowUnsafeBlocks>False</AllowUnsafeBlocks>
<CheckForOverflowUnderflow>True</CheckForOverflowUnderflow>
<OutputPath>..\bin\Debug\</OutputPath>
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
<DebugSymbols>true</DebugSymbols>
<DebugType>Full</DebugType>
<Optimize>False</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<Prefer32Bit>false</Prefer32Bit>
<RunCodeAnalysis>true</RunCodeAnalysis>
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
<StartAction>Program</StartAction>
<StartArguments>ICSharpCode.SharpZipLib.Tests.dll</StartArguments>
<StartProgram>packages\NUnit.Runners.2.6.4\tools\nunit.exe</StartProgram>
<StartWorkingDirectory />
<TreatWarningsAsErrors>False</TreatWarningsAsErrors>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<AllowUnsafeBlocks>False</AllowUnsafeBlocks>
<CheckForOverflowUnderflow>True</CheckForOverflowUnderflow>
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
<DebugSymbols>False</DebugSymbols>
<Optimize>True</Optimize>
<AllowUnsafeBlocks>False</AllowUnsafeBlocks>
<CheckForOverflowUnderflow>False</CheckForOverflowUnderflow>
<OutputPath>bin\Release\</OutputPath>
<TreatWarningsAsErrors>False</TreatWarningsAsErrors>
<Prefer32Bit>false</Prefer32Bit>
<RunCodeAnalysis>true</RunCodeAnalysis>
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
<StartAction>Program</StartAction>
<StartProgram>..\..\..\..\..\..\..\..\..\Bin\Nunit\bin\nunit.exe</StartProgram>
<StartArguments>SharpZipLibTests.dll</StartArguments>
<StartWorkingDirectory>.</StartWorkingDirectory>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
<StartArguments>SharpZipLibTests.dll</StartArguments>
<StartArguments>ICSharpCode.SharpZipLib.Tests.dll</StartArguments>
<StartProgram>packages\NUnit.Runners.2.6.4\tools\nunit.exe</StartProgram>
<StartWorkingDirectory />
<TreatWarningsAsErrors>False</TreatWarningsAsErrors>
</PropertyGroup>
<ItemGroup>
<Compile Include="AssemblyInfo.cs" />
<Compile Include="Base\InflaterDeflaterTests.cs" />
<Compile Include="BZip2\Bzip2Tests.cs" />
<Compile Include="Core\Core.cs" />
<Compile Include="GZip\GZipTests.cs" />
<Compile Include="Tar\TarTests.cs" />
<Compile Include="TestSupport\RingBuffer.cs" />
<Compile Include="TestSupport\Streams.cs" />
<Compile Include="TestSupport\Utils.cs" />
<Compile Include="TestSupport\ZipTesting.cs" />
<Compile Include="Zip\ZipTests.cs" />
<Compile Include="BZip2\Bzip2Tests.cs" />
<Compile Include="GZip\GZipTests.cs" />
<Compile Include="Tar\TarTests.cs" />
<Compile Include="Base\InflaterDeflaterTests.cs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\ICSharpCode.SharpZipLib\ICSharpCode.SharpZipLib.csproj">
<Project>{0defc56a-39db-4025-9f79-673b8ad6d04f}</Project>
<Name>ICSharpCode.SharpZipLib</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<Reference Include="ICSharpCode.SharpZipLib, Version=0.86.0.518, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\bin\Release\ICSharpCode.SharpZipLib.dll</HintPath>
</Reference>
<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>
Expand All @@ -110,4 +105,4 @@
<None Include="packages.config" />
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.Targets" />
</Project>
</Project>
3 changes: 3 additions & 0 deletions ICSharpCode.SharpZipLib.sln
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,9 @@ MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpZipLib", "ICSharpCode.SharpZipLib\ICSharpCode.SharpZipLib.csproj", "{0E7413FF-EB9E-4714-ACF2-BE3A6A7B2FFD}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpZipLib.Tests", "ICSharpCode.SharpZipLib.Tests\ICSharpCode.SharpZipLib.Tests.csproj", "{82211166-9C45-4603-8E3A-2CA2EFFCBC26}"
ProjectSection(ProjectDependencies) = postProject
{0E7413FF-EB9E-4714-ACF2-BE3A6A7B2FFD} = {0E7413FF-EB9E-4714-ACF2-BE3A6A7B2FFD}
EndProjectSection
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Expand Down
47 changes: 4 additions & 43 deletions ICSharpCode.SharpZipLib/AssemblyInfo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
// making a combined work based on this library. Thus, the terms and
// conditions of the GNU General Public License cover the whole
// combination.
//
//
// As a special exception, the copyright holders of this library give you
// permission to link this library with independent modules to produce an
// executable, regardless of the license terms of these independent
Expand Down Expand Up @@ -79,7 +79,7 @@
[assembly: AssemblyTrademark("")]

[assembly: AssemblyVersion("0.87.*")]
[assembly: AssemblyInformationalVersionAttribute("0.86.0")]
[assembly: AssemblyInformationalVersionAttribute("0.87.*")]


[assembly: CLSCompliant(true)]
Expand All @@ -91,46 +91,7 @@
[assembly: System.Security.AllowPartiallyTrustedCallers]
#endif

// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
[assembly: NeutralResourcesLanguage("en-US")]

//
// In order to sign your assembly you must specify a key to use. Refer to the
// Microsoft .NET Framework documentation for more information on assembly signing.
//
// Use the attributes below to control which key is used for signing.
//
// Notes:
// (*) If no key is specified, the assembly is not signed.
// (*) KeyName refers to a key that has been installed in the Crypto Service
// Provider (CSP) on your machine. KeyFile refers to a file which contains
// a key.
// (*) If the KeyFile and the KeyName values are both specified, the
// following processing occurs:
// (1) If the KeyName can be found in the CSP, that key is used.
// (2) If the KeyName does not exist and the KeyFile does exist, the key
// in the KeyFile is installed into the CSP and used.
// (*) In order to create a KeyFile, you can use the sn.exe (Strong Name) utility.
// When specifying the KeyFile, the location of the KeyFile should be
// relative to the project output directory which is
// %Project Directory%\obj\<configuration>. For example, if your KeyFile is
// located in the project directory, you would specify the AssemblyKeyFile
// attribute as [assembly: AssemblyKeyFile("..\\..\\mykey.snk")]
// (*) Delay Signing is an advanced option - see the Microsoft .NET Framework
// documentation for more information on this.
//
#if (CLI_1_0 || NET_1_0 || NET_1_1 || NETCF_1_0 || SSCLI)
[assembly: AssemblyDelaySign(false)]
#if VSTUDIO
[assembly: AssemblyKeyFile("../../ICSharpCode.SharpZipLib.key")]
#elif AUTOBUILD
[assembly: AssemblyKeyFile("ICSharpCode.SharpZipLib.key")]
#else
[assembly: AssemblyKeyFile("../ICSharpCode.SharpZipLib.key")]
#endif
#endif


6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
[![Build status](https://ci.appveyor.com/api/projects/status/ljqg88y94s7681mp/branch/build?svg=true)](https://ci.appveyor.com/project/McNeight/sharpziplib-ooxdl/branch/build)
# SharpZipLib

[![Build Status](https://travis-ci.org/McNeight/SharpZipLib.svg?branch=build)](https://travis-ci.org/McNeight/SharpZipLib)
[![Build status](https://ci.appveyor.com/api/projects/status/ljqg88y94s7681mp/branch/build?svg=true)](https://ci.appveyor.com/project/McNeight/sharpziplib-ooxdl/branch/build)

SharpZipLib
===========

\#ziplib (SharpZipLib, formerly NZipLib) is a **Zip, GZip, Tar and BZip2 library** written entirely in C\# for the .NET framework. It is implemented as an assembly (installable in the GAC), and thus can easily be incorporated into other projects (in any .NET language). The creator of #ziplib put it this way: "I've ported the zip library over to C\# because I needed gzip/zip compression and I didn't want to use libzip.dll or something like this. I want all in pure C\#."

Expand Down
120 changes: 116 additions & 4 deletions appveyor.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,121 @@
# Notes:
# - Minimal appveyor.yml file is an empty file. All sections are optional.
# - Indent each level of configuration with 2 spaces. Do not use tabs!
# - All section names are case-sensitive.
# - Section names should be unique on each level.

#---------------------------------#
# general configuration #
#---------------------------------#

# version format
version: 0.87.{build}
configuration: Debug

# you can use {branch} name in version format too
# version: 1.0.{build}-{branch}

# branches to build
branches:
# whitelist
only:
- build

# Do not build on tags (GitHub only)
skip_tags: true

#---------------------------------#
# environment configuration #
#---------------------------------#

# Operating system (build VM template)
image:
- Visual Studio 2015
- Visual Studio 2013

# build cache to preserve files/folders between builds
cache:
- packages -> **\packages.config # preserve "packages" directory in the root of build folder but will reset it if packages.config is modified

#---------------------------------#
# build configuration #
#---------------------------------#

# build platform, i.e. x86, x64, Any CPU. This setting is optional.
platform: Any CPU
before_build:
- nuget restore ICSharpCode.SharpZipLib.sln

# to add several platforms to build matrix:
#platform:
# - x86
# - Any CPU

# build Configuration, i.e. Debug, Release, etc.
#configuration: Release

# to add several configurations to build matrix:
configuration:
- Debug
- Release

assembly_info:
patch: true
file: '**\AssemblyInfo.*'
assembly_version: '{version}'
assembly_file_version: '{version}'
assembly_informational_version: '{version}'

build:
project: ICSharpCode.SharpZipLib.sln
publish_nuget: true
publish_nuget_symbols: true
include_nuget_references: true
parallel: true
verbosity: detailed
verbosity: normal

# scripts to run before build
before_build:
- cmd: nuget restore ICSharpCode.SharpZipLib.sln

#---------------------------------#
# tests configuration #
#---------------------------------#

#---------------------------------#
# artifacts configuration #
#---------------------------------#

artifacts:
- path: bin\Debug\ICSharpCode.SharpZipLib.dll
name: Debug
- path: bin\Debug\ICSharpCode.SharpZipLib.pdb
name: Debug
- path: bin\Release\ICSharpCode.SharpZipLib.dll
name: Release
- path: bin\Release\ICSharpCode.SharpZipLib.pdb
name: Release

#---------------------------------#
# deployment configuration #
#---------------------------------#

# providers: Local, FTP, WebDeploy, AzureCS, AzureBlob, S3, NuGet, Environment
# provider names are case-sensitive!

#---------------------------------#
# global handlers #
#---------------------------------#

#---------------------------------#
# notifications #
#---------------------------------#

notifications:

# Email
- provider: Email
to:
- mcneight+appveyor@gmail.com
subject: 'Build {{status}}' # optional
message: "{{message}}, {{commitId}}, ..." # optional
on_build_success: true
on_build_failure: true
on_build_status_changed: true

0 comments on commit 42e72f5

Please sign in to comment.