Commit graph

61 commits

Author SHA1 Message Date
Aditya Patwardhan 19c709b986 Added check for empty $nugetArtifacts (#2817)
When the build fails there are no $nugetArtifacts, so AddRange fails
2016-12-01 12:58:14 -08:00
James Truher [MSFT] 8e360bffb1 modify Start-PSPester to accept -Quiet to eliminate Pester output (#2795)
* modify Start-PSPester to accept -Quiet to eliminate Pester output

also modify travis.ps1 to include -Quiet for Pester args to reduce
stdout log size which should hopefully allow daily builds to run
without being cancelled due to too much output

* Add error detail information as part of Test-PSPesterResults

Test-PSPesterResults will now also emit information about the errors
found during a test run rather than just the number of failed tests.
Created a new errorlog function so the output of errors will be red.
2016-12-01 11:23:14 -08:00
Aditya Patwardhan 991d6075af Added -publish to codecoverage package generation and fixed package name (#2797)
* Added -publish to codecoverage package generation and fixed package name

Added -Publish to Start-PSBuild used by CodeCoverage configuration so that
.netcore dependencies are also included in the package. This makes the
package usable on systems that do not have .netcore in path.

Fixed the name of the coverage package by making it consistent with other
package names.

* Created a function to generate packagename
2016-11-28 17:57:04 -08:00
Aditya Patwardhan 157e9480eb Assigned all ArrayList.Add() to $null (#2776)
* Assigned all ArrayList.Add() to $null
ArrayList.Add() returns the array list size after the add. This causes the
value to be thrown on the pipeline. Assigning them to $null as we do not
need to know the size after addition. This causes errors and unnecessary
output on the AppVeyor console.
* Changed the way nuget artifacts are added to arraylist
* Remove unnecessary `$null =` for `AddRange` call because it's a void method.
2016-11-23 16:38:50 -08:00
Dongbo Wang 6f92140886 Add back -Configuration 'Release' to make sure AppVeyor CIs produce 'Release' bits (#2773) 2016-11-23 12:54:52 -08:00
Aditya Patwardhan ead4df4097 Moved publishing of code coverage artifacts to test_script phase (#2760)
* Moved publishing of code coverage artifacts to after_test phase

The webhook for build completion is called after the after_test phase
hence we needed to publish code coverage artifacts before that. Moved the
logic for compression and publish the artifacts after running tests.

* Added check for daily build

* Address code review comments.

* Addressed code review comments

Addressed comments about definition of artifacts.
Defined new function for after_test phase.
2016-11-23 12:22:18 -08:00
Sergei Vorobev 172b2234fc Fix broken travis.ps1 logic (#2739) 2016-11-21 09:48:41 -08:00
Jianyun Tao 9b27d4a23a add psmodulerestore in travis.ps1 2016-11-19 23:52:16 -08:00
Jianyun Tao bfe59b3495 # This is a combination of 3 commits.
# The first commit's message is:

Changed to PSModuleRestore switch, i.e., by default no PSModule install

# This is the commit message #2:

install PowerShell modules to publish folder as well as one level up

# This is the commit message #3:

removed workaround
2016-11-19 23:52:16 -08:00
Jianyun Tao 3de5e455df Use alpha.11 instead of alpha.12 to allow using OneGet to install modules from myget 2016-11-19 23:52:16 -08:00
Sergei Vorobev 961a76197b Replace travis.sh by travis.ps1
Fix problem with running Start-PSPester from the wrong directory
2016-11-18 17:45:57 -08:00
Sergei Vorobev 41f8c9c7df Remove redundent $buildConfiguration in appveyor.psm1 2016-11-18 17:45:57 -08:00
James Truher [MSFT] ca0be9ad61 Jameswtruher/dailytravis (#2696)
* Add daily build code for travis

A cron job needs to be created to start the build, and the variable
TRAVIS_DAILY_BUILD must be set to true

* Change environment variable to the one suggested by the travis-ci documentation

TRAVIS_EVENT_TYPE == "cron"
2016-11-17 11:59:55 -08:00
Aditya Patwardhan b18adb85d4 Add OpenCover PS Module to collect code coverage (#2585)
* Add OpenCover PS Module to collect code coverage

OpenCover PS Module helps is collecting Code Coverage using the OpenCover
toolset. The module helps in comparing two code coverage runs as well.

* Change OpenCover.psd1 to ASCII

* Fix an error in path for OpenCover

Fixed an error on path for OpenCover. Also used ZipFile class instead of
cmdlet as it might not be available on CI system.

* Convert module to be Powershell v4 compliant

Changed implementation from classes to PSObjects and implemented
Expand-ZipArchive.

* Added CodeCoverage as a configuration to project.json files

Added CodeCoverage as the new configuration for all the project.json
files. When Start-PSBuild is executed with configuration as CodeCoverage,
we change the degubType to 'full' as required by OpenCover toolset.

Also made changes to appveyor.psm1 to build a CodeCoverage package on
daily builds and publish it as a zip.

* Addressed code review comments

Changed from Add-Member to use pscustomobject type accelator. Removed
[gc]::collect.

* Added explicit garbage collection

* Addressed code review comments

- Make sure that the build Start-PSPackage gets is not a code coverage
  build
- Add debugType = full for FullCLR
- Remove configurations from PackageManagement files as it is not needed.
- Build CodeCoverage build first in AppVeyor.

* Resolve merge conflict

* Fix indentation

* Fix newline at end of file

* Added command discovery for locating OpenCover.console.exe
2016-11-11 11:12:07 -08:00
Mike Richmond ea6cacafd7 Change log and 6.0.0-alpha.12 version number updates (#2593) 2016-11-03 14:23:05 -07:00
Dongbo Wang 289e6958ef Update docs/scripts to use the alpha.11 release packages (#2498) 2016-10-18 13:09:09 -07:00
Paul Higinbotham 3815482082 Fix host remote test InvokeOnRunspace to work with AppVeyor (#2362)
* Fix host remote test InvokeOnRunspace to work with AppVeyor

* Updated to use new local account for remoting tests.

* Set the LocalAccountTokenFilterPolicy as needed.

* Adding verbose messages for debugging.

* Storing creds using Export-CliXml

* Added CITravis skip for Windows only remoting test

* Moving tests back to 'Feature' scope

* Added AppVeyor environment variable check to prevent account creation on non-appveyor configurations

* Removed It block in BeforeAll block

* Moving tests back to 'Feature'
2016-10-10 15:24:04 -07:00
Mike Richmond 374e1d1b21 Merge pull request #2280 from vors/admin-tests
Separate tests on Windows CI to Admin-Required and Non-Admin-Required
2016-09-29 16:28:29 -07:00
Aditya Patwardhan f1270cdc28 Add PS_DAILY_BUILD variable check in Test-DailyBuild (#2386)
The PS_DAILY_BUILD variable is set in the Appveyor environment in the
PowerShell [Daily] project. When this is set we want to have full daily
build.
2016-09-29 16:26:34 -07:00
Aditya Patwardhan f31d4a5ac2 Add archive with test content to AppVeyor artifacts for daily builds.
The change adds Compress-TestContent cmdlet to build.psm1 so that it can
compress the powershell test content. This is done only for daily builds.
2016-09-29 12:38:12 -07:00
Sergei Vorobev ed36f037ae Fix appveyor test runner logic for Admin and non-Admin tests 2016-09-29 12:29:27 -07:00
Sergei Vorobev d1d82d03b4 Make Invoke-AppVeyorTest run elevated and non-elevated tests separately
- Add RequireAdminOnWindows to the list of blessed tags
- Fix a bug in Get-PesterTag where we accepted 'Slow' as a proper priority
- Fix missed comma in Start-PSPester parameters
- Add documentation about new Pester tag
- Fix finishing logic for Start-PSPester -Unelevate
2016-09-29 12:29:27 -07:00
Dongbo Wang 18f732f1e0 Improve Start-PSPackage to support zip package, downlevel packages for win-plat. Fix the version issue and package name for creating msi and appx (#2361)
* Improve Start-PSPackage to support zip package, downlevel packages for win-plat. Fix the version issue and package name for creating msi and appx

* Address comments about New-PSOptions

* Update Start-PSPackage to not show the warning from New-PSOptions
2016-09-28 10:47:16 -07:00
Andrew Schwartzmeyer 8a24d26e8d Patch System.Net.Http.Native.dylib
Again, .NET Core expects users to forcibly link the third party OpenSSL
libraries into system directories, which the Homebrew team advises
strongly against (and attempts to prevent). This also affects the
System.Net.Http library, and results in runtime errors during SSL
certificate validation. So instead, we patch what we can, when we can.
2016-09-20 14:34:32 -07:00
Andrew Schwartzmeyer e5d35807bb Update download.sh to install all dependencies 2016-09-20 13:57:36 -07:00
Andrew Schwartzmeyer d183d7944f Update download.sh and Dockerfile links
This is a breaking change until the release is posted.
2016-09-15 13:59:46 -07:00
Andrew Schwartzmeyer 27530c403c Use direct download URLs instead of API
GitHub's API is throttled to 60 requests per hour per IP address when
for non-authenticated calls, which was causing severe CI flakiness.
While this adds another set of URLs to update for each release, the
alternative was adding an OAuth token and maintaining its ownership.
Moreover, this code is simpler than the previous API parsing.
2016-09-02 17:17:20 -07:00
Andrew Schwartzmeyer 363657717c Handle package download failure 2016-09-02 17:17:20 -07:00
Andrew Schwartzmeyer e337d93720 Install OpenSSL via Homebrew on macOS
Since it is required. Note that we do *not* unsafely link the OpenSSL
libraries into the system folders, as we instead patch .NET Core's
libraries to find OpenSSL in the installed location.
2016-09-02 17:17:20 -07:00
Andrew Schwartzmeyer 6b582851d6 Don't download package silently
Otherwise users think it's slow or hung.
2016-09-02 17:17:20 -07:00
Andrew Schwartzmeyer 25eab9a2e5 Quote all $variables
For paranoia.
2016-09-02 17:17:20 -07:00
Andrew Schwartzmeyer e3cf257a7d Use hash to check for curl
Our shebang is Bash.
2016-09-02 17:17:20 -07:00
Travis Plunk 0d5ae4692b Add support for running all tests on scheduled builds
Only produce nuget packages if tests pass
2016-08-31 13:02:35 -07:00
Travis Plunk 6f1d1877de Address comments
Made AppVeyor and TravisCI use similar code
2016-08-30 11:47:40 -07:00
Travis Plunk b7c373280c Fix issues identified in Pull Request comments 2016-08-29 14:52:50 -07:00
Travis Plunk 67ef752efb Add description of the functions in appveyor.psm1 2016-08-29 14:21:48 -07:00
Travis Plunk f8520e06b3 Handle error and retry test results push. 2016-08-29 13:57:20 -07:00
Travis Plunk 6b994dbb2d Move the PowerShell code in appVeyor.yml to a module 2016-08-29 13:18:14 -07:00
Eris Belew 6a2911faa2 Remove wget installation; Move curl installation after version check 2016-08-21 11:27:49 -07:00
Eris Belew bbe0dafb93 download.sh: Trap interrupt; Add sudo prompt info; Remove wget requirement
Add interrupt handler so entire script exits if user hits ctrl-c on sub-command
 Add info before prompting for password using sudo
 Remove wget requirement since OSX does not have wget in default system
 Add `-C -` to curl package download to continue or skip existing packages
2016-08-20 12:28:53 -07:00
Andrew Schwartzmeyer 72a1ebdcbb Fix error handling in download.sh
This script should be deleted now that we can wget releases.
2016-08-19 11:18:00 -07:00
Raghu Shantha [MSFT] 3913d8bea2 Update Sign-Package.ps1 to reflect prerequisites, remove the phrase 'Open' (#1816)
* Update Sign-Package.ps1

* Updated based on CR comments
2016-08-18 15:42:42 -07:00
Andrew Schwartzmeyer 552bf9b50a Fix asset download in download.sh 2016-08-18 08:30:14 -07:00
Andy Schwartzmeyer c1faf1e6e1 Merge pull request #1864 from andschwa/public-repo
Fix scripts for public repo
2016-08-18 08:19:28 -07:00
Andrew Schwartzmeyer f2275f9a0a Fix download.sh for public repo 2016-08-18 00:05:08 -07:00
Raghu Shantha [MSFT] 4f47b64d85 Fix docs/installation/windows.md
Also consolidate install.sh with download.sh;
remove unnecessary files;
create README.md in install.

Ran dos2unix tool to cleanup extra carriage returns at the end of lines
2016-08-17 16:18:26 -07:00
Andrew Schwartzmeyer a9e809c18a Fix naming of Unix packages
- .NET Core RID suffixes removed
- `el7.centos` suffix added to RPM
- `1ubuntu1.14.04.1` iteration used for DEB packages

`~` cannot be used after `ubuntu1` because GitHub release renames it to
a `.`; additionally, no packages lack the final suffix `.1`. While my
machine is `.5` I could find no packages that went past `.3`, so let's
use this to indicate that it works for `14.04.1` and forward.

We are *not* recreating the alpha.9 packages, but will we rename them
accordingly. This means that the filenames will be "correct" but the
meta-data will be out-of-date.
2016-08-16 16:07:54 -07:00
Alex Jordan b5f4e595cd Fix download script for Ubuntu 16.04 (#1826)
Kept 14.04 for CI and because 14.04 is LTS
2016-08-15 18:35:40 -07:00
Andrew Schwartzmeyer 5f396629f7 Use Ruby 2.2.1 explicitly on Travis CI OS X 2016-08-04 13:52:31 -07:00
Andrew Schwartzmeyer 120cc61a07 Downgrade to Xcode 7.3 2016-08-04 13:52:26 -07:00