Commit graph

500 commits

Author SHA1 Message Date
Lucius Q. User
273b4abd40 Add MacPorts support to the build system (#10736) 2019-10-09 17:02:05 -05:00
Travis Plunk
06aedae91e Merged PR 9996: Fix ExperimentalFeature list generation 2019-09-16 19:22:34 +00:00
Travis Plunk
60ffea59e3
Update PSDesiredStateConfiguration to 2.0.3 and bring new test… (#10516) 2019-09-12 14:39:11 -07:00
James Truher [MSFT]
3943f18c28 Alpine validation changes (#10428) 2019-08-24 11:35:34 -07:00
James Truher [MSFT]
fe2cc6aca8 Additional Telemetry - Implementation of RFC0036 (#10336) 2019-08-15 16:13:53 -07:00
Steve Lee
882cbf367f Enable Experimental Features by default on Preview builds (#10228) 2019-08-08 11:37:25 -07:00
Dongbo Wang
0d817aa547 Update 'Microsoft.PowerShell.CoreCLR.Eventing' to resolve conflict with 'System.Diagnostics.EventLog' (#10305)
* Update 'Microsoft.PowerShell.CoreCLR.Eventing' to resolve conflicts
* Add reference to 'System.Diagnostics.EventLog' to build Microsoft.PowerShell.Commands.Diagnostics on Unix
* Stop compiling Get/New-WinEvent on Unix
2019-08-08 17:44:54 +05:00
Travis Plunk
6b2690ef8e
Fix macOS build break (#10207) 2019-07-22 15:21:38 -07:00
Aditya Patwardhan
540737ebe1 Split the fxdependent package on Windows into two packages (#10134) 2019-07-12 17:18:11 -07:00
Christoph Bergmeister [MVP]
3141405159 Update 'Start-PSBuild -Clean' logic of 'git clean' to ignore locked files from VS2019 (#10071) 2019-07-08 17:30:17 -07:00
Joel Sallow (/u/ta11ow)
bf71b2c616 Start-PSBuild -Clean doeas not remove all untracked files (#10022) 2019-07-01 08:34:36 +05:00
Dongbo Wang
94b6b6f4f7 Clean up the use of 'SetProfileRoot' and 'StartProfile' in ConsoleHost (#9931)
* Clean up the use of 'SetProfileRoot' and 'StartProfile' in ConsoleHost
* Remove 'pwsh.pdb' from our component file list
2019-06-19 11:34:47 +05:00
Aditya Patwardhan
8ea15c9f13 Merged PR 8529: Add cleanup before building test package
Add cleanup before building test package
2019-05-29 00:31:14 +00:00
dependabot[bot]
9c8cdb50f6 Build(deps): Bump PackageManagement from 1.3.2 to 1.4 in /src/Modules (#9650)
* Build(deps): Bump PackageManagement from 1.3.2 to 1.4 in /src/Modules

Bumps PackageManagement from 1.3.2 to 1.4.

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-05-21 17:36:17 -07:00
Steve Lee
29e21470d9 Port PowerShell to .NET Core 3.0 (#9597) 2019-05-21 13:43:51 +08:00
Steve Lee
a96b4c0404 Update use of "PowerShell Core" to just "PowerShell" (#9513) 2019-05-10 15:34:27 -07:00
Steve Lee
cb20154de8 Update to Pester 4.8.0 (#9510) 2019-05-02 09:56:16 +05:00
Aditya Patwardhan
9f429f0206 Build test packages for windows, linux-x64, linux-arm, linux-arm64 and macOS (#9476) 2019-04-26 15:41:07 -07:00
Steve Lee
e81aa9882c Enable building on Kali Linux (#9471) 2019-04-26 14:11:56 -07:00
Dongbo Wang
687697bc90 Fix the failed test and update 'Publish-TestResults' to make AzDO fail the task when any tests failed (#9457) 2019-04-25 14:01:05 -07:00
Aditya Patwardhan
3ffd998c58 Create codecoverage and test packages for non-windows (#9373)
Refactor the `ci.psm1` to publish the code coverage and test packages.
Allow `CodeCoverage` configuration on non-windows.

## PR Context

We plan to run code coverage on Windows, Linux and macOS. These changes are needed to unblock those runs.
2019-04-16 15:13:30 -07:00
Travis Plunk
cee1e54e75
Add ability to cross compile (#9374)
`-CrossGen` won`t work, but this gives basic ability to build for another platform.
This also means you cannot really package for another platform.
2019-04-16 14:14:29 -07:00
Travis Plunk
5913c88aaf
Mark tests in macOS CI which use applescript as pending/inconclusive (#9352)
Mark tests in macOS CI which use applescript as pending/inconclusive
2019-04-12 18:12:29 -07:00
Travis Plunk
e2bfced875
Update repo for Ubuntu 14.04 EOL (#9324)
Update repo for Ubuntu 14.04 EOL
  - also remove a missed instance of Fedora 27
2019-04-09 17:54:13 -07:00
Aditya Patwardhan
4bd41e836c
Publish windows daily build to MyGet (#9288) 2019-04-03 13:22:51 -07:00
Travis Plunk
5e4b4d1351 Make command searcher not use wildcard search for execution (#9202) 2019-04-02 11:54:11 -07:00
James Truher [MSFT]
2f0d127ef8 Check to be sure that the test result file has actual results before uploading (#9253)
VSTS produces a warning if the result set is 0, we will skip uploading this to avoid the warning and better support automation scenarios.

## PR Context

We have automation which checks our test results and if the result set is 0 for that file, a warning is produced. This PR will avoid uploading that file into the test results (which is valid, as there are no run tests). We will still add the file to our artifact list for completeness.
2019-04-01 16:47:55 -07:00
Travis Plunk
b632b60fca
Translate Skipped the test results into something Azure DevOps does NOT understand (#9124) 2019-03-20 13:25:39 -07:00
Travis Plunk
058a19028d
Refactor macOS CI so that tests run in parallel (#9056)
Refactor macOS CI so that tests run in parallel 
  - Also:
    - Fix bootstrap issue where curl was failing for a month (so obviously not needed)
    - Change Windows test stages to use PowerShell Core (where we can) to avoid compat issues

## PR Context

This allows running all tests in about the same about of clock time.
2019-03-11 13:00:22 -07:00
Aditya Patwardhan
fb05169a51
Build Global tool for PowerShell and SDK container (#8984)
* Add shim dll to redirect to appropriate runtime
* Build updates for creating global tool package
* Add building global tool to nuget.yml
* Add azure upload of nuget packages
2019-02-26 12:56:29 -08:00
Dongbo Wang
5d54f1aa38
Make xUnit tests run sequentially to avoid race conditions caused by manipulating 'powershell.config.json' in tests (#8945) 2019-02-22 11:57:10 -08:00
Reece Dunham
9bfbd78a3e Remove Travis-CI mention in build.psm1 (#8888) 2019-02-19 17:47:35 -08:00
Travis Plunk
a7f798575d
Parallelize the windows CI to enable us to run all tests all the time (#8868)
Split Windows CI into the following Jobs

1. Combine Build and xUnit, which published build artifact
1. Elevated CI tests
1. Unelevated CI test
1. Elevated everything else tests
1. Unelevated everything else tests
1. Package build and test
1. Verify xUnit result

## PR Context  

Before this test:

- A CI run would take ~14 minutes
- A Feature run would take ~30 minutes

After this change, it always runs all tests and takes ~20 minutes.
Job `Unelevated everything else tests` is the long poll, taking ~4 minutes longer than the next shortest job.  We should be able to get this back down to ~15 if we split that test job somehow.
2019-02-14 16:33:19 -08:00
Steve Lee
53ad39772c Use -ErrorAction Ignore instead of SilentlyContinue with Get-Command in build.psm1 (#8832) 2019-02-06 12:00:57 -08:00
James Truher [MSFT]
bbcedd2590 Update Pester version to 4.4.4 (#8739) 2019-01-31 11:41:26 -08:00
Travis Plunk
f416fd3815
Switch to 1.11 of FPM to fix FPM install issue (#8797)
Switch to 1.11 of FPM to fix FPM install issue
2019-01-30 11:08:08 -08:00
Travis Plunk
b779b88c79
Merge `release-v6.2.0-preview.4'
# Conflicts:
#	test/Test.Common.props
#	tools/packaging/packaging.psm1
2019-01-28 13:50:00 -08:00
Reece Dunham
e5897ba2f7 Fix broken reference (#8753) 2019-01-28 17:00:34 +05:00
xtqqczze
863528881f Use https in URLs where available (#8622)
Use https in URLS across the repository where the domain serves content by https.
2019-01-24 12:50:11 -08:00
Aditya Patwardhan
ea0b4de90a
Merged PR 6442: Moved the cleanup logic to Restore-PSModuleToBuild
Moved the cleanup logic to Restore-PSModuleToBuild

# Conflicts:
#	build.psm1
2019-01-23 12:27:44 -08:00
Travis Plunk
c4b2105a73 Merged PR 6648: Bump SDK and Runtime Versions
Bump SDK and Runtime Versions
  - Also, fix alpine docker file
  - Also, fix extra files being added to some Modules after these changes
2019-01-23 02:18:44 +00:00
Christoph Bergmeister [MVP]
beae5691aa Do not ship fullclr binaries of PackageManagement (#8700)
## PR Summary

Related: #8699

## PR Context  

Because `PowerShellGet` does not support publishing/saving module on a per platform basis (see [this](https://github.com/PowerShell/PowerShellGet/issues/273) issue), PowerShell currently also ships the fullclr binaries of `PackageManagement`, which it does not need. Therefore removing it to minimise the package size, this saves 1.19 MB.
2019-01-22 12:55:22 -08:00
Travis Plunk
f1218bd3d9
Remove Debian 8 references as it is EOL (#8678)
Remove Debian 8 references as it is EOL
2019-01-17 16:30:39 -08:00
Aditya Patwardhan
f03cafbdd8 Build package build using ubuntu 18.04 image (#8666) 2019-01-16 15:10:39 -08:00
Travis Plunk
7bf4641444
Fix broken urls (#8653)
Fix broken URL
  - Also, move other static analysis tests into that CI.
  - Also, make the link analysis a pester test (partly to make sure the step fails in case of an error)
2019-01-15 16:20:45 -08:00
Dongbo Wang
ab75626f22 Fix installing fpm and ronn in macOS CI by avoid installing docs for them (#8656) 2019-01-15 14:23:59 -08:00
Ilya
a9f106da58 Move xUnit tests in new folder (#8356)
## Motivation

I have a PR where there are many new xUnit tests.
It would also be useful to create new xUnit tests for public APIs.
The number of xUnit tests will increase and their ordering is required.

## PR Summary

- Move C# xUnit tests in new folder. This allows to put new xUnit tests in directory structure in accordance with directory structure where cs files are.
- Use an xUnit TestCaseOrderer attribute to sequentially process tests for `powershell.config.json`.
- Update README.md
- A race condition was fixed which allowed  to run all XUnit tests in single batch job.
2018-12-13 14:22:07 -08:00
Alex Earl
74de391193 Add Linux ARM64 build support (#8016) 2018-12-05 10:55:09 -08:00
Dongbo Wang
a11810bf33
Improve powershell startup time (#8341)
Major changes are as follows:
- Avoid `SecuritySupport.IsProductBinary` and unnecessary AMSI/suspicious code scan at startup time
   - Update `CompiledScriptBlockData.IsProductCode` to avoid unnecessary calls to `IsProductBinary`, which attempts to retrieve catalog signature of the target file.
   - Update `PerformSecurityChecks` to skip AMSI and suspicious code scan for the `.psd1` file that contains a safe `HashtableAst` only.
- Use customized `ReadOnlyBag` instead of `ImmutableHashSet` so that we can avoid loading the `System.Collections.Immutable.dll` completely.
- Replace `SHA1` with `CRC32` when generating module analysis cache file name
   - This remove the loading of `System.Security.Cryptography.Algorithms.dll` at startup
- Move `ConvertFrom-SddlString` to C# to remove the `Utility.psm1` file.
- Crossgen `Microsoft.ApplicationInsights.dll` and enable tiered compilation
   - Even pwsh with crossgen assemblies spends a lot time in jitting at the startup, about `191.6ms` comparing with `24.7ms` for Windows PowerShell.
   - Jitting `Microsoft.ApplicationInsights.dll` takes about `51.6ms`.
   - By crossgen `Microsoft.ApplicationInsights.dll` and enable tiered compilation, the jitting time drops to about `98.9ms`.
2018-12-02 12:52:39 -08:00
Aditya Patwardhan
3794a5e39f
Created a csproj to pin test modules and updated build.psm1 accordingly (#8350) 2018-11-30 11:49:38 -08:00