Commit graph

33 commits

Author SHA1 Message Date
Travis Plunk
e829053e9e Add ability to package all of powershell core as a NuGet Package (#4363)
So that PowerShell can be installed using PackageManagement cmdlets find-package and install-package.
2017-08-01 14:35:50 -07:00
Travis Plunk
76e184b0ba move packaging CmdLets to separate module (#4319)
* fix PsScriptAnalyzer issues
* update release docs
2017-07-23 12:29:33 -07:00
Travis Plunk
0f34324570 Fix PRs not running Feature (#4304) 2017-07-22 15:34:03 -07:00
bergmeister
ffd39b2853 PSScriptAnalyzer fixes by category (#4261)
- Fix PSScriptAnalyzer warnings of type PSAvoidUsingCmdletAliases for 'ForEach-Object' (alias is '%' or 'foreach')
- Fix PSScriptAnalyzer warnings of type PSAvoidUsingCmdletAliases for 'Where-Object' (alias is '?' or 'where')
- Fix PSScriptAnalyzer warnings of type PSAvoidUsingCmdletAliases for 'Select-Object' (alias is 'select')
- Fix PSScriptAnalyzer warnings of type PSPossibleIncorrectComparisonWithNull. Essentially, $null has to be on the left-hand side when using it for comparison.
- A Test in ParameterBinding.Tests.ps1 needed adapting as this test used to rely on the wrong null comparison
- Replace a subset of tests of kind '($object -eq $null) | Should Be $true' with '$object | Should Be $null'
2017-07-21 21:03:49 -07:00
Travis Plunk
3b3b3d1b70 Fix build message getting truncated on rerun (#4297) 2017-07-19 16:47:11 -07:00
Travis Plunk
9571f8f2f4 Add ability to run feature tests for pr (#4277) 2017-07-19 10:33:58 -07:00
Travis Plunk
73b3b0895c Use cached 'dotnet' in AppVeyor (#4278) 2017-07-18 11:39:04 -07:00
James Truher [MSFT]
599eae9b1b Do not send telemetry in CI (#3785)
This removes the telemetry semaphore file in CI for both Travis-CI and AppVeyor
2017-05-17 11:08:38 -07:00
Dongbo Wang
79a1f80309 Update build script to always use 'dotnet publish' (#3589)
Also update 2 building docs
2017-04-18 13:12:35 -07:00
Dongbo Wang
54fa658e31 Migrate from project.json to MSBuild (#3398)
- FullCLR build is disabled in this change.
- FullCLR build related functionalities in `build.psm1` and `AppVeyor.psm1` are disabled. They are not cleaned up from `build.psm1` and `AppVeyor.psm1` yet. We need to adopt .NET Core 2.0 to verify the portable module concept, and if that works well, we will remove the Windows PowerShell source code and clean up our scripts.
- `dnxcore50` and `portable-net5+win8` target framework monikers are removed.
- Dependency on `Microsoft.NETCore.Portable.Compatibility` is removed. It's not necessary, but it may come back when we work on supporting the `portable module`. Its necessity can be reviewed at that time.
- I didn't spend the time to try building powershell in Visual Studio 2017. We should have a separate issue for that. It's tracked by #3400

The `TypeCatalogParser` project is replaced by a MSBuild target to gather the dependency information.
Due to .NET Core SDK issue [#1021](https://github.com/dotnet/sdk/issues/1021), our meta-package project `Microsoft.PowerShell.SDK` starts to generate an empty assembly during the build and that results in an empty assembly `Microsoft.PowerShell.SDK.dll` appear in `publish` folder and in `.deps.json` file. We cannot simply remove the assembly because it's now part of the TPA, and removing it will cause powershell to crash at startup. We have to live with this empty assembly until that .NET Core SDK issue is fixed.  It's tracked by #3401.
2017-03-23 13:04:52 -07:00
Jason Shirk
02b5f357a2 Remove trailing whitespace (#3001) 2017-01-16 13:31:14 -08:00
Aditya Patwardhan
a06778ca75 Change package name to CodeCoverage.zip from Powershell_6.0.0... (#2886)
Changed the package name from the standard Powershell_6.0.0-xx-gxxxxxxx to
CodeCoverage.zip so that it is easier to download the latest package from
the AppVeyor permalink for last successful build.
2016-12-15 10:35:55 -08:00
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
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
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
Sergei Vorobev
41f8c9c7df Remove redundent $buildConfiguration in appveyor.psm1 2016-11-18 17:45:57 -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
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
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