Commit graph

80 commits

Author SHA1 Message Date
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
Travis Plunk c7ed7129b2
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-07 18:12:10 -07:00
Aditya Patwardhan 2edbe70548
Fix docker image names for release build (#7726) 2018-09-06 14:49:48 -07:00
Aditya Patwardhan eb0c1d5f59 Update docker files to use MCR (#7656) 2018-08-29 17:17:18 -07:00
Aditya Patwardhan f858e6d207 Add Microsoft.PowerShell.MarkdownRender to signing xml (#7472) 2018-08-07 11:47:36 -07:00
Steve Lee 7d72e38604 Updates to build for Alpine (#7139)
setdate.cpp was incorrectly assigning an int to a struct, fixed to initialize struct zero'd
update the typegen project in the bash script
added some help text at top of script for someone trying to build it
updated runtime to linux-musl-x64 instead of linux-x64 as Alpine distro uses the musl libc libraries instead of glibc which is used by most distros.
2018-06-25 14:51:30 -07:00
Travis Plunk a5ec565cae
Enable NuGet Package Registration for compliance (#7053)
update the Windows release build script with the ability to capture all the project.assets.json files
add a Windows build to use the new feature in the release build script
update the Linux release build script with the ability to capture all the project.assets.json files
  -no new build is needed because signing is not currently automated
2018-06-15 11:07:27 -07:00
Travis Plunk a3a5c6b774 remove PSReadline from signing 2018-06-06 11:18:20 -07:00
Travis Plunk 4192463ce6
fix issue with setReleaseTag using variable meant for non-release branches during a release (#7011)
There was a regression in the script where a variable meant for non-release branches was used during releases
2018-06-06 10:55:28 -07:00
Aditya Patwardhan 9f25daa059
Added logic to create signing XML for NuGet packages (#6921) 2018-05-22 15:34:21 -07:00
Travis Plunk 731efc2369 Update signing xml based on new signing guidelines (#6893) 2018-05-18 11:55:51 -07:00
Klaudia Algiz 4070d51ee1 Add functions into build.psm1 to Save and Restore PSOptions between different sessions. (#6884)
Add functions into build.psm1 to Save and Restore PSOptions between different sessions.
2018-05-17 19:04:20 -07:00
Travis Plunk 472b5f7bd1
Enable full symbols for windows (#6853)
The main purpose of this was to enable full symbols for windows release build.
Also makes explicit where we are optimizing and where we are not optimizing due to https://github.com/dotnet/corefx/issues/29700
2018-05-14 15:01:44 -07:00
Travis Plunk 438b0e545f
Add meta properties to mac VSTS yml (#6619)
Add meta properties to mac VSTS YAML
- Add a property to clean the build machine
- Add a property to set the format of the build name
- add a property to set which queue to run the build in
2018-04-13 15:04:22 -07:00
Steve Lee f760fde0b7 Remove support for file to opt-out of telemetry, only support env var (#6601)
Since a PR added support to opt out of telemetry via an environment variable, we can remove the,
always intended to be a temporary, solution of deleting a file to opt out of telemetry since the
environment variable can be defined at the system level and exist before even installing PowerShell Core.

Because the variable is defined as opt out, a value of true, yes, or 1 means no telemetry is sent.
2018-04-13 10:29:39 -07:00
Travis Plunk aefc0d89b0
make gem use sudo for macOS (#6610)
gem install requires sudo on official macOS build VMs.
- make bootstrap use sudo for macOS
2018-04-10 12:18:11 -07:00
Travis Plunk 8d2dd2ce30
Restore for official Linux arm builds (#6455) 2018-03-21 15:14:09 -07:00
kasper3 271dd50df2 Add Alpine Linux support (#6367)
sys/sysctl header is not available in musl-libc based systems and system calls are available without any header inclusion. I have ported the cmake test from CoreFX repo (https://github.com/dotnet/corefx/blob/431475b8/src/Native/Unix/configure.cmake#L560).

Progress towards: #4605
2018-03-20 13:34:18 -07:00
Travis Plunk 5e1bb01cb3
migrate the mac offical binary build to VSTS mac hosted preview (#6363)
create a PowerShellPackage...ps1 that works with these VMs (vs our custom VM)
create a script to create the \powershell folder with correct permissions
a YML VSTS build definition
2018-03-19 15:56:43 -07:00
Travis Plunk 88b3833ee3
Add no appimage build (#6380) 2018-03-13 13:49:25 -07:00
Travis Plunk 491ee47ee7
When doing daily/test build in a non-release branch use the branch name as the preview name (#6355) 2018-03-12 12:31:34 -07:00
Travis Plunk 5030c9a2fd
change the artifact count for wixpdb (#6254) 2018-02-26 18:10:55 -08:00