Commit graph

101 commits

Author SHA1 Message Date
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 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
Aditya Patwardhan 074b344133
Remove duplicate Policheck task and pin to specific version (#9297) 2019-04-04 16:14:57 -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 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
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 382e5cc871
Fix artifact Download issue in release build (#9095)
Fix artifact Download issue in release build
2019-03-08 15:18:38 -08:00
Aditya Patwardhan 7caf59be3e
Publish test package on release builds (#9063) 2019-03-06 10:00:35 -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 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 54ee33d759
Add variable to control the version of the signing task we use (#8982) 2019-02-25 15:06:01 -08:00
Aditya Patwardhan 81d37fcb84
Integrate building NuGet package in the coordinated build (#8947) 2019-02-25 09:57:20 -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 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
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
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
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 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
Travis Plunk d0d1061ae2 Add Windows build to universal release build YAML (#8695) 2019-01-22 11:21:02 -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
Andrew a1299cd6d4 Adding yml for Windows Release builds (#8374) 2018-12-07 10:59:27 -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
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
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 655b8b614c Update SignType in signing.xml (#8223) 2018-11-12 10:31:45 -08: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
Aditya Patwardhan 5fcab21111 Remove PDBs from fxdependent pacakge (#8006) 2018-10-11 18:08:28 -07:00
Aditya Patwardhan abad087fa1 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:47:32 -07:00