Commit graph

569 commits

Author SHA1 Message Date
Steve Lee
ba94c6cfeb Run Start-PSBootStrap in Code Coverage build to install .NET SDK (#9690) 2019-05-23 11:07:37 -07:00
Travis Plunk
24c800f07c Update version tests to use NextReleaseVersion from metadata.json (#9646) 2019-05-21 12:19:13 -07:00
Aditya Patwardhan
82478d23e5 Update README and metadata.json (#9624) 2019-05-21 11:16:54 -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
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
3e1f630695 Add Preview assets for msix (#9375) 2019-04-22 10:41:34 -07:00
dependabot[bot]
ecbde6c020 Build(deps): Bump Newtonsoft.Json (#9431)
Bumps [Newtonsoft.Json](https://github.com/JamesNK/Newtonsoft.Json) from 12.0.1 to 12.0.2.
- [Release notes](https://github.com/JamesNK/Newtonsoft.Json/releases)
- [Commits](https://github.com/JamesNK/Newtonsoft.Json/compare/12.0.1...12.0.2)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-04-22 13:37:09 +05:00
Aditya Patwardhan
f286c8ce63
Remove elements which do not work on earlier version on Windows PowerShell (#9411) 2019-04-18 16:56:53 -07:00
Aditya Patwardhan
99c3fd1757
Convert custom attribute ValidatePathNotInSettings to function (#9406) 2019-04-18 12:49:42 -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
Steve Lee
73114ee36c Enable building of msix package (#9289)
Add support in packaging.psm1 to produce a .msix AppX package.  Update the docker image to use the new msix package type.  Update the associated yml files so AzDevOps performs the build.

## PR Context

Enable publishing PSCore6 to Microsoft Store
2019-04-15 17:07:15 -07:00
Aditya Patwardhan
02974a986d Create test package for macOS on release builds (#9344) 2019-04-13 19:01:28 -07:00
Aditya Patwardhan
be505772e2 Add AcessToken variable to jobs that perform signing (#9351) 2019-04-13 18:59:51 -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
Travis Plunk
b990c76992
Add CI for install-powershell.sh and amazon linux (#9314) 2019-04-08 14:45:15 -07:00
Christoph Bergmeister [MVP]
f5fc0535ac Preserve user shortcuts pinned to Taskbar during MSI upgrade (#9305)
Fixes #8919 

Preserve user shortcuts pinned to Taskbar during MSI upgrade by not removing shortcuts in this case (assuming the user has not changed the installation directory), see https://stackoverflow.com/a/33402698/1810304
This also requires the Guid to not always be re-generated, which PR #7701 originally added to ensure shortcuts get removed when RTM and preview are installed, the underlying problem was rather that RTM and preview shared the same GUIDs, therefore the GUIDs are hard-coded again but different for RTM and preview, therefore the shortcuts will still always get removed on uninstall. But this also means those GUIDs should change when the default installation directory changes, i.e. in PowerShell 7. Should we write the code to already take this into account that it does not get forgotten?

Tested by first reproducing the issue by building installers locally (and bumping the patch version. Then the fix was applied to verify the solution, it. For this to take effect the version from which an MSI is being upgraded must have this fix already, i.e. if this fix got shipped in `6.2.1`, then on upgrading to it, the issue would still occur but when upgrading `6.2.1` to `6.2.2` the shortcut would start being preserved. I am wondering if we could maybe improve this to show effect earlier by trying to extract the used (auto-generated) GUIDs in the `6.2.0` and `6.2.0-rc` packages out and use them...
Please not that we probably need to take this out for `7.0` because the base installation directory will change. This also assumes that the user has not specified a different installation directory on upgrade but this is a bit of an edge case where I think other things might break as well.
2019-04-07 12:25:56 -07:00
Steve Lee
b63696572f Fix skipping of tests in RemoteSession.Basic.Tests.ps1 (#9304)
Moved check if able to write to $PSHome as way to skip test to `BeforeAll` which already contained a check if running on Windows.

## PR Context

As part https://github.com/PowerShell/PowerShell/pull/9279, tests were updated to be skipped if the test requires writing to `$PSHome` but is not able to.  However, these tests already had a skip mechanism in place so the additional check caused the test to run when it should have skipped.

Co-authored-by: Travis Plunk <github@ez13.net>
2019-04-05 17:00:41 -07:00
Travis Plunk
e10603c4f0
Make sure non-Windows CI fails when a test fails (#9303)
Make sure non-Windows CI fails when a test fails

## PR Context

We discovered that some tests were failing after a PR and the CI was not failing
2019-04-05 15:49:30 -07:00
Aditya Patwardhan
074b344133
Remove duplicate Policheck task and pin to specific version (#9297) 2019-04-04 16:14:57 -07:00
Aditya Patwardhan
4bd41e836c
Publish windows daily build to MyGet (#9288) 2019-04-03 13:22:51 -07:00
Aditya Patwardhan
10fa1fc1dd
Move artifacts to artifact staging directory before uploading (#9273) 2019-04-02 11:56:48 -07:00
Travis Plunk
b7c7aa176e
Make install-powershell.ps1 work on Windows Server 2012 R2 (#9271) 2019-04-02 10:39:09 -07:00
Aditya Patwardhan
34fa5e472d
Fix publishing daily nupkg to MyGet (#9269) 2019-04-01 16:58:43 -07:00
Travis Plunk
17f5a5ccbe
Add component detection to all jobs (#8964)
Add component detection to all jobs.
2019-03-29 15:18:55 -07:00
Aditya Patwardhan
df513bf7d8 Update docs for v6.2.0 (#9229) 2019-03-28 12:02:14 -07:00
Reece Dunham
12276147e6 Remove code from CI.psm1 to optionally run Feature tests (#9212) 2019-03-27 13:29:15 -07:00
Aditya Patwardhan
8763c0b1d1 Performance improvements for release build (#9179)
This PR optimizes the download tasks to reduce build times. After the change we see a order of magnitude reduction in download times for Windows package signing and also the compliance tasks.

In addition to that the PR also makes changes to organize the build artifacts in folders.
2019-03-21 10:24:49 -07:00
Aditya Patwardhan
337ce63734
Use IL assemblies for NuGet packages to reduce size (#9171) 2019-03-21 10:03:46 -07:00
Aditya Patwardhan
95a8091991 Add tsaVersion property as TsaV1 for compliance build phase (#9176)
Add the tsaVersion property with values as TsaV1 as it defaults to v2 instead. We explicitly need v1.
2019-03-20 14:01:39 -07:00
Aditya Patwardhan
753d31809b
Publish global tool packages to pwshtool blob and bug fixes (#9163) 2019-03-20 13:44:40 -07:00
Reece Dunham
eac31019ab Disable Homebrew analytics in macOS VSTS builds (#9130) 2019-03-16 11:57:16 -07:00
Reece Dunham
1e49d09d29 Remove appveyor references from packaging tools (#9117)
Removes appveyor stuff


## PR Context

<!-- Provide a little reasoning as to why this Pull Request helps and why you have opened it. -->
#8686 , appveyor removed
2019-03-12 12:13:55 -07:00
Bram Crielaard
b115dff0eb Remove AppImage from tools (#9100) 2019-03-11 16:19:05 -07:00
Reece Dunham
d63ac8934d Fixed Dockerfile syntax highlighting (#8991)
The `f` in Dockerfile is not uppercase, this breaks syntax highlighting for vscode on my client
<!-- Summarize your PR between here and the checklist. -->

## PR Context
`DockerFile` breaks syntax highlighting as mentioned and described above.
<!-- Provide a little reasoning as to why this Pull Request helps and why you have opened it. -->
2019-03-11 15:16:12 -07:00
Aditya Patwardhan
ab1d47712b Fix dependencies of nuget build to wait on DEB uploads to finish (#9118)
The NuGet build task should wait on uploads for DEB job to complete.

## PR Context

There is a race condition when the build for DEB is completed but the upload has not. If the NuGet build job starts it may not get all the packages needed for building nuget packages.
2019-03-11 15:02:29 -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
Travis Plunk
382e5cc871
Fix artifact Download issue in release build (#9095)
Fix artifact Download issue in release build
2019-03-08 15:18:38 -08:00
Bram Crielaard
7031954669 Make install scripts more consistent over different operating systems (#9071)
I noticed a couple of inconsistencies when reading through the install bash scripts. 

- Make documentation for switches consistent over all files.
- Replace all `sed` implementations of `lowercase` with a more maintainable `tr` implementation.
- Set the `OS` variable in every install script, making it so previously unused checks are actually used.
- Exit with a non-zero exit code when the script reaches an illegal state.


## PR Context

A lot of people, including myself, read the install scripts before executing them. While doing so I noticed they contained inconsistencies. For example, certain flags you can pass to the install script were either undocumented or had an incorrect description. This PR fixes some of these inconsistencies, which should make them easier to maintain and easier to read.

Co-authored-by: Travis Plunk <github@ez13.net>
2019-03-08 13:00:04 -08:00
Reece Dunham
ae8c841d07 Comment cleanup in releaseTools.psm1 (#9064) 2019-03-07 18:10:41 -08:00
Aditya Patwardhan
7caf59be3e
Publish test package on release builds (#9063) 2019-03-06 10:00:35 -08:00
Aditya Patwardhan
861b6c8a5f
Update docs for 6.2.0-rc.1 release (#9022) 2019-03-05 11:26:17 -08:00
Aditya Patwardhan
c22669a236
Update UML to represent SDK and Global tool builds (#8997) 2019-03-01 13:07:25 -08:00
Aditya Patwardhan
cbd255e461 Code coverage artifacts (#8993)
Move the `TestPackage.zip` under code coverage and remove `tests.zip` as it is not needed anymore.
2019-02-28 14:38:45 -08:00
Travis Plunk
d7dd4b5dd2
Fix MSI Upgrade failure for preview builds (#9013) 2019-02-28 14:05:27 -08: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
Travis Plunk
dc8aed97dc
Make test file result names unique (#8979)
Make test file result names unique
  - Also, remove dead code that I found during investigation

Fixes #8978

## PR Context

Making the filenames unique, ensures that we can download the results from the artifacts and do our own processing of the results.
2019-02-25 15:18:26 -08:00
Travis Plunk
54ee33d759
Add variable to control the version of the signing task we use (#8982) 2019-02-25 15:06:01 -08:00
Aditya Patwardhan
76e8091513
Publish test and code coverage artifacts for daily builds (#8955) 2019-02-25 13:03:06 -08:00
Aditya Patwardhan
81d37fcb84
Integrate building NuGet package in the coordinated build (#8947) 2019-02-25 09:57:20 -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
c14d5dd67f Remove some of the last AppVeyor references (#8867)
This removes some of the last mentions of the AppVeyor name.  Don't change the title, we don't want the word to appear in the CLs
Also problem: the last references are in the changelogs but I don't want to modify them without committee approval.  

## PR Context  

it was removed, #8686
2019-02-19 12:44:00 -08:00
Travis Plunk
93f33bb0d3
Update stable version to 6.1.3 (#8902) 2019-02-19 11:07:46 -08:00
Travis Plunk
af4e8117df
Support release branches based on the forward slash separator (#8903) 2019-02-19 10:47:39 -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
Travis Plunk
2834b576ab
Fixes for Scheduled release build (#8887) 2019-02-13 19:13:54 -08:00
Travis Plunk
68f0ae5d4e
Start tracking release build information in an azure storage table (#8850)
Start tracking release build information in an azure storage table

* Also, fix some issues found when the build is started through a schedule
2019-02-12 09:24:11 -08:00
Travis Plunk
8cf9e056f2
Remove references to uninitialized variable (#8849)
Remove references to uninitialized variable 
regressed in #8822 	

## PR Context  

Some artifacts never got published because the conditions would never be true
2019-02-08 16:52:20 -08:00
Reece Dunham
cb4b818d55 Refactor travis.ps1 into ci.psm1 (#8822)
Refactors `travis.ps1`. Important for maintainers: I removed the webhook and badge stuff as neither exist anymore. I also merged the build and test phase with the bootstrap phase.
2019-02-08 14:37:36 -08:00
Aditya Patwardhan
6b23be6323 Add Experimental Features to change log creation (#8827)
Added feature to classify experimental features in change log. Also fixed an issue with reporting all PRs with missing tags together.

## PR Context
Updates to the script which generates the change log.
2019-02-05 17:25:23 -08:00
Travis Plunk
fed0ef0a20
Add binskim to coordinated build and increase timout (#8834)
Add binskim to coordinated build and increase timout 

## PR Context  

Total timeout for the old build was 220 minutes.
The portions before the compliance take ~30 minutes.
So, I went with 180.

I also found I missed binskim when doing this work
2019-02-05 15:58:43 -08:00
Travis Plunk
ec3bd62782
Remove unneeded Invoke-Expression on unvalidated input (#8826)
Remove unneeded `Invoke-Expression` on unvalidated input
2019-02-05 10:48:34 -08:00
Aditya Patwardhan
ec12f373ec Fix daily CI builds to publish tar package as artifacts (#8775)
Update the packaging script to always create the tar.gz packages.

## PR Context  

Daily builds for Linux and MacOS do not publish tar.gz package.
2019-02-04 14:53:25 -08:00
Travis Plunk
6b447423a0
Add instrumentation for Start-PSPackage (#8811)
Add instrumentation for start-PSPackage saying what parameters it thinks you used
2019-02-04 11:48:48 -08:00
Aditya Patwardhan
22119a8afa Fix passing credential to the SyncGalleryToAzArtifacts.psm1 script (#8808)
Fix the parameter names and AzDevOps pipeline variable names.

## PR Context  

Variable names were out of sync with the definition on AzDevOps.
2019-02-02 13:55:54 -08:00
Travis Plunk
32561022ca
Move Final artifacts from universal build to finalResults folder (#8806)
## PR Summary

Move Final artifacts from universal build to `finalResults` folder
2019-02-01 10:59:01 -08:00
Travis Plunk
e96b0bf85b
Refactor Unified Release Build (#8804)
Refactor Unified Release Build
  - Make injecting the nuget.config a template
  - Make setting the version variable a template
  - Add parameters to templates where needed
  - Run defender scan before uploading linux packages (and rename step to plain english)
2019-01-31 15:10:19 -08:00
Travis Plunk
a872b8d5be
Add compliance to Coordinated build (#8798)
Add compliance to Coordinated build
  - Also switch to mac internal pool for release build
  - Also turn some duplicate tasks into templates
  - Also fix issue with vscode configuration which causes yaml files not to be recogized as yaml
2019-01-30 14:10:52 -08:00
Aditya Patwardhan
53c76d1658 Update the universal build with framework dependent package for dotnet sdk (#8773)
Update the universal build to also build the framework package needed for the dotnet sdk container image.

## PR Context  

We build the package in individual builds. This change brings over the steps in the universal build.
2019-01-29 10:59:30 -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
04a31ff22f Refactor appveyor.psm1 to ci.psm1 (#8733) 2019-01-25 15:30:31 -08:00
Travis Plunk
d798ce7f5e
Make every csproj files have its own folder (#8750)
* move csproj files into individual folders

* get csproj files from individual folders
2019-01-25 13:44:25 -08:00
Dongbo Wang
1264a00a76 Update packaging script to build reference assembly targeting netcoreapp2.1 and use actual .csproj files (#8729) 2019-01-25 11:10:47 -08: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
Dongbo Wang
cab8f26386
Generate and deploy reference assembly for Microsoft.PowerShell.Commands.Utility.dll (#8716)
Update `New-ReferenceAssembly` and `New-UnifiedNugetPackage` to generate reference assembly for `Microsoft.PowerShell.Commands.Utility.dll` and properly deploy it for `Microsoft.PowerShell.Commands.Utility` NuGet package and `Microsoft.PowerShell.SDK` NuGet package.

An incremental step to fix, eventually, #8121
2019-01-23 11:43:18 -08:00
Dongbo Wang
86516ad0b6 Generate and deploy reference assembly for Microsoft.PowerShell.Commands.Utility.dll (#8716)
Update `New-ReferenceAssembly` and `New-UnifiedNugetPackage` to generate reference assembly for `Microsoft.PowerShell.Commands.Utility.dll` and properly deploy it for `Microsoft.PowerShell.Commands.Utility` NuGet package and `Microsoft.PowerShell.SDK` NuGet package.

An incremental step to fix, eventually, #8121
2019-01-23 11:42:32 -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
Aditya Patwardhan
9e8f5bde33 Merged PR 6644: Update hosting tests and metadata.json for 6.2.0-preview.4 release
Update hosting tests and metadata.json for 6.2.0-preview.4 release
2019-01-22 21:43:47 +00:00
Aditya Patwardhan
cf013dd072 Fix the build for fxdependent build for dotnet sdk (#8670) 2019-01-22 11:25:25 -08:00
Travis Plunk
d0d1061ae2 Add Windows build to universal release build YAML (#8695) 2019-01-22 11:21:02 -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
Guillaume Lachance
80cabc4f28 AddToPath re-implementation in install-powershell.ps1 (#8081)
This PR is a re-implementation of the -AddToPath switch in tools/install-powershell.ps1, without the side-effects the current implementation has.  The changes only affects windows users.
2019-01-17 14:25:01 -08:00
Aditya Patwardhan
52546f57f2 Change the feed URL to feed name due to changes in AzDevOps (#8664) 2019-01-16 17:47:03 -08:00
Aditya Patwardhan
f03cafbdd8 Build package build using ubuntu 18.04 image (#8666) 2019-01-16 15:10:39 -08:00
Sergey Vasin
6f6c286bca Fix a typo in packaging.psm1 (#8647) 2019-01-15 17:18:20 -08:00
Aditya Patwardhan
be4b82c730
Add function to create a framework dependent package dotnet-sdk containers (#8644) 2019-01-15 16:28:52 -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
Aditya Patwardhan
94e37f673f Update README, metadata.json and changelog for release 6.1.2 (#8658)
Update README and metadata.json for release 6.1.2
2019-01-15 13:39:13 -08:00
xtqqczze
1a3aadfc4e Regularize redirection operator spacing in *.ps1 and *.ps1m (#8581)
Add space after redirection operator.
2019-01-03 12:59:14 +05:00
Greg Zimmerman
2a1b6ed9fe Add script to create icns files. (#7456)
Add script to generate macOS icon file. It does not attempt to integrate with the current build process as the macOS icon file is mostly static.

`libsvg` was chosen because of its low dependency count over other solutions that use backends like Chromium, PhontomJS, etc. ImageMagick's `convert` was tested but resulting PNGs where not satisfactory and would have required an overcomplicated script having to calculate the `density` argument.

* Has a dependency on librsvg (can be installed via Brew)
* Uses SVG file as input
* Can be integrated in later to build process if desired

Closes #7455
2019-01-02 12:11:47 -08:00
Steve Lee
725bfdaf88 Enable install of Preview MSI release side-by-side with Stable release (#8513)
When installing (or upgrading) Preview builds the component ids for the files are the same as the installed files from the stable MSI.  MSI sees this and assumes the file is already installed so skips installing files that haven't changed (been updated) which results in missing files in the preview install folder and pwsh fails to start.  Fix is to dynamically generate new component ids (and compoentrefs) in `files.wxs` using `_Preview` suffix and use that when building a preview package.

Tested manually.

cc @bergmeister if you can help validate different scenarios.

Fix https://github.com/PowerShell/PowerShell/issues/8289
2019-01-02 12:00:43 -08:00
Travis Plunk
20d9bd5f0a
pass nugetkey as param (#8461) 2018-12-13 17:23:41 -08:00
Travis Plunk
80a5be921d
Fix daily NuGet publishing (#8460)
Fix daily NuGet publishing

## PR Checklist

- [x] [PR has a meaningful title](https://github.com/PowerShell/PowerShell/blob/master/.github/CONTRIBUTING.md#pull-request---submission)
    - Use the present tense and imperative mood when describing your changes
- [x] [Summarized changes](https://github.com/PowerShell/PowerShell/blob/master/.github/CONTRIBUTING.md#pull-request---submission)
- [x] [Change is not breaking](https://github.com/PowerShell/PowerShell/blob/master/.github/CONTRIBUTING.md#making-breaking-changes)
- [x] [Make sure all `.h`, `.cpp`, `.cs`, `.ps1` and `.psm1` files have the correct copyright header](https://github.com/PowerShell/PowerShell/blob/master/.github/CONTRIBUTING.md#pull-request---submission)
- [x] This PR is ready to merge and is not [Work in Progress](https://github.com/PowerShell/PowerShell/blob/master/.github/CONTRIBUTING.md#pull-request---work-in-progress).
    - If the PR is work in progress, please add the prefix `WIP:` to the beginning of the title and remove the prefix when the PR is ready.
- **User-facing changes**
    - [ ] Not Applicable
    - **OR**
    - [ ] User-facing [Documentation needed](https://github.com/PowerShell/PowerShell/blob/master/.github/CONTRIBUTING.md#pull-request---submission)
        - [ ] Issue filed - Issue link:
- **Testing - New and feature**
    - [ ] Not Applicable or can only be tested interactively
    - **OR**
    - [ ] [Make sure you've added a new test if existing tests do not effectively test the code changed](https://github.com/PowerShell/PowerShell/blob/master/.github/CONTRIBUTING.md#before-submitting)
        - [ ] [Add `[feature]` if the change is significant or affects feature tests](https://github.com/PowerShell/PowerShell/blob/master/docs/testing-guidelines/testing-guidelines.md#requesting-additional-tests-for-a-pr)
2018-12-13 15:25:22 -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
Darwin
5478cf6f66 support for linuxmint in installpsh-debian.sh (#8440)
Add #8437 - add linuxmint support
2018-12-11 14:40:38 -08:00
Steve Lee
ac2b453ba7 Enable install-powershell.ps1 to use MSI (#8418) 2018-12-11 13:58:49 -08:00
Travis Plunk
59c514f7a7
Merge release-v6.2.0-preview.3 to master
Release v6.2.0 preview.3
2018-12-10 17:25:51 -08:00
Andrew
a1299cd6d4 Adding yml for Windows Release builds (#8374) 2018-12-07 10:59:27 -08:00
Aditya Patwardhan
1d32d05157 Merged PR 6201: Update docs and csproj version
Update docs and csproj version
2018-12-07 18:24:07 +00:00
Travis Plunk
50890b5ae7 Update the name of the artifact to be unique per artifact (#8405) 2018-12-05 16:21:08 -08:00
Travis Plunk
5f7dde584f
Create unified release build for macOS and Linux packages (#8399)
Create unified release build for macOS and Linux packages
  - Also, updated the definition with latest definitions from the definitions in use.

I will work on these in future PRs:

- Add compliance Job
- Add macOS Signing step
- Merging Windows into the YAML
2018-12-05 14:47:54 -08:00
Alex Earl
74de391193 Add Linux ARM64 build support (#8016) 2018-12-05 10:55:09 -08:00
Christoph Bergmeister [MVP]
7c021e42e9 Update resgen, typegen to use .Net Core 2.1 (#8369) 2018-12-04 09:40:40 -08:00
Aditya Patwardhan
13cf8af667 Remove dependabot attribution and generate changelog sections using CL-* labels (#8386)
* Remove dependabot attribution from change log.
* Create sections in generated change log using the `CL-*` labels.
2018-12-03 14:34:29 -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
9510fe56f5 Enable pipeline to sync PSGallery modules to AzArtifacts feed (#8316)
Compare the PowerShell modules dependencies on PowerShell Gallery and sync them to AzDevOps artifacts feed if a newer is available. The release builds pick up modules from AzDevOps feed.
2018-11-27 11:15:09 -08:00
Aditya Patwardhan
b0daa1e724 Build Alpine tar.gz package in release builds (#8340)
Enable building tar.gz package for Alpine in release builds.

## PR Checklist

- [x] [PR has a meaningful title](https://github.com/PowerShell/PowerShell/blob/master/.github/CONTRIBUTING.md#pull-request---submission)
    - Use the present tense and imperative mood when describing your changes
- [x] [Summarized changes](https://github.com/PowerShell/PowerShell/blob/master/.github/CONTRIBUTING.md#pull-request---submission)
- [x] [Change is not breaking](https://github.com/PowerShell/PowerShell/blob/master/.github/CONTRIBUTING.md#making-breaking-changes)
- [x] [Make sure all `.h`, `.cpp`, `.cs`, `.ps1` and `.psm1` files have the correct copyright header](https://github.com/PowerShell/PowerShell/blob/master/.github/CONTRIBUTING.md#pull-request---submission)
- [x] This PR is ready to merge and is not [Work in Progress](https://github.com/PowerShell/PowerShell/blob/master/.github/CONTRIBUTING.md#pull-request---work-in-progress).
    - If the PR is work in progress, please add the prefix `WIP:` to the beginning of the title and remove the prefix when the PR is ready.
- **User-facing changes**
    - [x] Not Applicable
    - **OR**
    - [ ] User-facing [Documentation needed](https://github.com/PowerShell/PowerShell/blob/master/.github/CONTRIBUTING.md#pull-request---submission)
        - [ ] Issue filed - Issue link:
- **Testing - New and feature**
    - [x] Not Applicable or can only be tested interactively
    - **OR**
    - [ ] [Make sure you've added a new test if existing tests do not effectively test the code changed](https://github.com/PowerShell/PowerShell/blob/master/.github/CONTRIBUTING.md#before-submitting)
        - [ ] [Add `[feature]` if the change is significant or affects feature tests](https://github.com/PowerShell/PowerShell/blob/master/docs/testing-guidelines/testing-guidelines.md#requesting-additional-tests-for-a-pr)
2018-11-27 10:45:49 -08:00
Aditya Patwardhan
9fda1d0e4f
Publish test package to AppVeyor daily build (#8273) 2018-11-26 10:44:42 -08:00
Aditya Patwardhan
82091d6a45
Merge release-v6.2.0-preview.2 to master
Merge Release-v6.2.0-preview.2
2018-11-15 17:59:42 -08:00
Darwin
a244c049e8 Make install-powershell.sh autodetect if it should use wget or curl (#8225)
install-powershell.sh now autodetects whether curl or wget is installed to download secondary script when it is not found locally.
2018-11-14 10:45:52 -08:00
Aditya Patwardhan
20497d19c2 Merged PR 5822: Update version for dependencies
Update version for dependencies
2018-11-14 01:56:28 +00:00
Travis Plunk
ab809d95d9 Merged PR 5818: Port changes to allow AzDevOps NuGet feeds for Mac build
Port changes to allow AzDevOps NuGet feeds for Mac build
2018-11-14 01:04:39 +00:00
Travis Plunk
605994fbf4 Update metadata for 6.0.5 and 6.1.1 releases (#8259) 2018-11-13 15:34:53 -08:00
Travis Plunk
6698af81b7
Remove tilde from Linux preview packages (#8244)
Remove tilde from Linux preview packages.
  - Since we have a separate package for preview, we don't need a second indicator that these packages are preview.
  - Also, many system we use to release don't like the `~` character, which leads to manual interventions and errors.
2018-11-13 09:52:48 -08:00
Travis Plunk
655b8b614c Update SignType in signing.xml (#8223) 2018-11-12 10:31:45 -08:00
Paul Higinbotham
d4bf5c87bc Fix tests running in Azure DevOps (#8220) 2018-11-09 15:11:02 -08:00
John Eismeier
4118fd2829 Propose fix some typos (#8206) 2018-11-09 08:33:24 +05:00
Aditya Patwardhan
94fde189a8 Fix script path for PowerShellPackageVsts.ps1 (#8189)
Fix mac build failure caused due to missing path.
2018-11-05 18:30:15 -08:00
Aditya Patwardhan
a1585502bb Workaround for accessing Az Artifacts (#8188)
Added a workaround for accessing Az Artifacts feed from release build. 
  - Also, converted the `sh` task to PowerShell.
2018-11-05 18:02:10 -08:00
Aditya Patwardhan
e6c3a38336 Update mac release build to create the nuget.config (#8185)
Update the build definition to create the nuget.config for the gallery modules.
2018-11-05 16:15:56 -08:00
Andrew Schwartzmeyer
54874180ce Remove build and doc references to Git submodules (#8177)
As of #7892, the PowerShell repository no longer uses Git submodules.
This is fantastic from a workflow standpoint, and so all the notes about
how to deal with submodules (and all the build steps explicitly
initializing and updating submodules) can be safely removed.
2018-11-05 10:39:29 -08:00
Andrew
3597d58432 Adding yml for Linux builds (#8168)
As part of improving the build process, the UI build pipeline for Linux Builds was converted to a yml-based pipeline.
2018-11-05 10:35:53 -08:00
Darwin
ddaad12183 Update installpsh amazonlinux for container build (#7907) 2018-10-24 10:10:32 -07:00
Aditya Patwardhan
487073e57b
Add functionality to create a test package (#8087) 2018-10-19 14:56:58 -07:00
Aditya Patwardhan
eb84c3d928 Merged PR 5379: Improve debugging of nuget package generation and add type to filtering 2018-10-16 20:23:57 +00:00
Aditya Patwardhan
1e31e707c8 Merged PR 5363: Version and doc changes
Version and doc changes
2018-10-15 20:24:00 +00:00
Aditya Patwardhan
5fcab21111 Remove PDBs from fxdependent pacakge (#8006) 2018-10-11 18:08:28 -07:00
Jellyfrog
8f6bbdf11e Add dependencies for SUSE (#7938) 2018-10-03 12:29:13 -07:00
Travis Plunk
cd18af03bc
Revert "install-powershell.sh: Adding autodetection of curl / wget" due to regression from PR #7893 (#7918)
This reverts commit 4831a9fd63.
2018-10-01 18:52:27 -07:00
Darwin
4831a9fd63 install-powershell.sh: Adding autodetection of curl / wget (#7893)
install-powershell.sh now autodetects whether curl or wget is installed to download secondary script when it is not found locally.
2018-10-01 16:36:46 -07:00
Darwin
4dae2825e1 Ffixing syntax error in installpwsh-amazonlinux.sh (#7905)
* Fix syntax error for issue 7903. Typo come from #6849 

* Add identation after copyright message
2018-10-01 14:58:14 +05:00
Dongbo Wang
4926e15984
Make Start-PSPackage give better message about how to fix 'files.wxs' (#7841) 2018-09-25 09:53:42 -07:00
Aditya Patwardhan
8d4dd1e58f Remove packaging, building and installation scripts for Ubuntu 17.10 (#7773) 2018-09-17 14:48:23 -07:00
Aditya Patwardhan
0f81101f5c Merged PR 4985: Update metadata json for 6.1.0 release
Update metadata json for 6.1.0 release
2018-09-13 16:52:17 +00:00
Travis Plunk
15a3beb12d Make sure MSI build works when not preview (#7752)
The variable was set to empty (meaning to delete the variable) in the non-preview case and the build fails.
The fix avoids setting the variable to empty
2018-09-10 14:36:23 -07:00
Aditya Patwardhan
89278290d9 Build and package framework dependent package (#7729)
Add the functionality to build a framework dependent (shared framework) package for PowerShell.

The changes create two packages, one for Windows and other for Linux, due to #if code.
2018-09-10 12:55:06 -07:00
Travis Plunk
179ff6bc16 update metadata json in preparation for 6.1 release (#7741)
ReleaseTag is now StableReleaseTag
NextReleaseTag is not PreviewReleaseTag
Added ServicingReleaseTag for the N-1 Stable release
2018-09-10 11:18:50 -07:00
Aditya Patwardhan
c41b19923e Fix docker image names for release build (#7726) 2018-09-06 18:00:46 -07:00
Travis Plunk
433a263a17 Add daily build non-windows platforms (#7683)
Add daily build non-windows platforms
  - Also, make the [Feature] tag work in VSTS for non-windows
  - Also, add a way to force feature tests to run
  - Also, fix an issue where `-workingdirectory` didn't work when running async
2018-09-06 18:00:46 -07:00
Travis Plunk
137d5de82b Add tests to report when package references are out of date (#7661)
Add tests to report when package references are out of date
  - Also, update the packaging script to generate updated `files.wxs`
2018-09-05 14:06:09 -07:00
Jason Shirk
eae6d50d7a Add tools for PowerShell perf analysis (#7595) 2018-08-31 16:55:42 -07:00
Aditya Patwardhan
aa6911d2d1 Update docker files to use MCR (#7656) 2018-08-31 16:55:42 -07:00
Dan Travison
1abf290f83 Add symbolic links for libssl and libcrypto to Debian 9 builds to make remoting work. (#7609)
On Debian 9, libmi cannot resolve libssl and libcrypto. This change adds symbolic links to packaging and build to the $PSHOME directory to resolve the issue.

The fix was verified interactively connecting to office 365, importing the session, and ensuring Get-MailBox and Get-User succeed.

Fix #7598
2018-08-24 15:20:22 -07:00
Travis Plunk
97d2e10c22
Merge release v6.1.0 rc.1 into master (#7608) 2018-08-22 12:06:00 -07:00
Aditya Patwardhan
087305334b
Update docs and metadata JSON (#7597) 2018-08-22 08:32:39 -07:00
Travis Plunk
9947985b87
Don't upload artifacts during pull request due to missing VSTS feature (#7588) 2018-08-21 16:55:18 -07:00
Aditya Patwardhan
abb8f6bc80 Merged PR 4645: Fix SDK dependencies
Removed old dependencies from SMA and fixed the netcoreapp version.
2018-08-20 23:47:40 +00:00
Travis Plunk
40532d9a2e
Add VSTS CI for Windows (#7536)
- Add VSTS CI for Windows
    - Disable `Access-denied test for Get-Item C:\windows\appcompat\Programs\Install -ErrorAction Stop`, because the path does not always exist
        - https://github.com/PowerShell/PowerShell/issues/7553
    - Disable `Should give .sys file if the fullpath is specified with hidden and force parameter`, because pagefile.sys doesn't always exist and other files don't meet test's requirement.
        - https://github.com/PowerShell/PowerShell/issues/7554
    - Disable some `Test-Connection` tests for same reasons they failed on VSTS Linux
        - https://github.com/PowerShell/PowerShell/issues/7555
    - Disable `Test-FileCatalog should pass when catalog is in the same folder as files being tested`, because the CmdLet does not work in that scenario
         - Also, give details needed to investigate when the test fails
         - https://github.com/PowerShell/PowerShell/issues/7556
    - Update `appveyor.psm1` to work with VSTS
    - Update `HelpersRemoting.psm1` `New-RemoteSession` to work for CimSession (discovered an issue during the investigation)
    - Update `Test wildcard with drive relative directory path` to work when there are multiple drives
         - Disable on non-windows machines since the test is assuming drive letters
    - Update `New-CimSession` Tests to requireAdmin
         - Also, make sure session name is a string
    - Add functions to save and restore psoptions
    - update `.gitatttributes` so files clone like they do on appveyor
2018-08-17 22:06:51 -07:00
Travis Plunk
965552873c
Add Linux VSTS CI (#7527)
Update Start-PSPester and Start-PSxUnit to upload test results when running in VSTS
Disable tests which require non-root using when running as root
remove verifications in Test-Connection tests which verify buggy behavior
Skip tests which don't behave correctly in VSTS (due to running in a container?)
- Test-Connection - #7528
- Set-Date - #7529
2018-08-14 16:23:50 -07:00
Aditya Patwardhan
f19c5dae1f Update NuGet package metadata (#7517) 2018-08-14 13:31:58 -07:00