diff --git a/.codefresh/Dockerfile.win-1809 b/.codefresh/Dockerfile.win-1809 deleted file mode 100644 index 373b1695a360c..0000000000000 --- a/.codefresh/Dockerfile.win-1809 +++ /dev/null @@ -1,126 +0,0 @@ -# escape=` - -ARG core=mcr.microsoft.com/windows/servercore:1809 -ARG target=mcr.microsoft.com/powershell:windowsservercore-1809 - -FROM $core as download - -ARG node_version=10.13.0 -ARG yarn_version=1.13.0 - -SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] - -ENV GPG_VERSION 2.3.4 - -RUN Invoke-WebRequest $('https://files.gpg4win.org/gpg4win-vanilla-{0}.exe' -f $env:GPG_VERSION) -OutFile 'gpg4win.exe' -UseBasicParsing ; ` - Start-Process .\gpg4win.exe -ArgumentList '/S' -NoNewWindow -Wait - -RUN @( ` - '94AE36675C464D64BAFA68DD7434390BDBE9B9C5', ` - 'FD3A5288F042B6850C66B31F09FE44734EB7990E', ` - '71DCFD284A79C3B38668286BC97EC7A07EDE3FC1', ` - 'DD8F2338BAE7501E3DD5AC78C273792F7D83545D', ` - 'C4F0DFFF4E8C1A8236409D08E73BC641CC11F4C8', ` - 'B9AE9905FFD7803F25714661B63B535A4C206CA9', ` - '77984A986EBC2AA786BC0F66B01FBB92821C587A', ` - '8FCCA13FEF1D0C2E91008E09770F7A9A5AE15600', ` - '4ED778F539E3634C779C87C6D7062848A1AB005C', ` - 'A48C2BEE680E841632CD4E44F07496B3EB3C1762', ` - 'B9E2F5981AA6E0CD28160D9FF13993A75599653C' ` - ) | foreach { ` - gpg --keyserver ha.pool.sks-keyservers.net --recv-keys $_ ; ` - } - -ENV NODE_VERSION=$node_version - -RUN Invoke-WebRequest $('https://nodejs.org/dist/v{0}/SHASUMS256.txt.asc' -f $env:NODE_VERSION) -OutFile 'SHASUMS256.txt.asc' -UseBasicParsing ; ` - gpg --batch --decrypt --output SHASUMS256.txt SHASUMS256.txt.asc - -RUN Invoke-WebRequest $('https://nodejs.org/dist/v{0}/node-v{0}-win-x64.zip' -f $env:NODE_VERSION) -OutFile 'node.zip' -UseBasicParsing ; ` - $sum = $(cat SHASUMS256.txt.asc | sls $(' node-v{0}-win-x64.zip' -f $env:NODE_VERSION)) -Split ' ' ; ` - if ((Get-FileHash node.zip -Algorithm sha256).Hash -ne $sum[0]) { Write-Error 'SHA256 mismatch' } ; ` - Expand-Archive node.zip -DestinationPath C:\ ; ` - Rename-Item -Path $('C:\node-v{0}-win-x64' -f $env:NODE_VERSION) -NewName 'C:\nodejs' - -ENV YARN_VERSION=$yarn_version - -RUN [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 ; ` - Invoke-WebRequest $('https://yarnpkg.com/downloads/{0}/yarn-{0}.msi' -f $env:YARN_VERSION) -OutFile yarn.msi -UseBasicParsing ; ` - $sig = Get-AuthenticodeSignature yarn.msi ; ` - if ($sig.Status -ne 'Valid') { Write-Error 'Authenticode signature is not valid' } ; ` - Write-Output $sig.SignerCertificate.Thumbprint ; ` - if (@( ` - '7E253367F8A102A91D04829E37F3410F14B68A5F', ` - 'AF764E1EA56C762617BDC757C8B0F3780A0CF5F9' ` - ) -notcontains $sig.SignerCertificate.Thumbprint) { Write-Error 'Unknown signer certificate' } ; ` - Start-Process msiexec.exe -ArgumentList '/i', 'yarn.msi', '/quiet', '/norestart' -NoNewWindow -Wait - -ENV GIT_VERSION 2.20.1 -ENV GIT_DOWNLOAD_URL https://github.com/git-for-windows/git/releases/download/v${GIT_VERSION}.windows.1/MinGit-${GIT_VERSION}-busybox-64-bit.zip -ENV GIT_SHA256 9817ab455d9cbd0b09d8664b4afbe4bbf78d18b556b3541d09238501a749486c - -RUN [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 ; ` - Invoke-WebRequest -UseBasicParsing $env:GIT_DOWNLOAD_URL -OutFile git.zip; ` - if ((Get-FileHash git.zip -Algorithm sha256).Hash -ne $env:GIT_SHA256) {exit 1} ; ` - Expand-Archive git.zip -DestinationPath C:\git; ` - Remove-Item git.zip - -FROM $target as baseimage - -ENV NPM_CONFIG_LOGLEVEL info - -COPY --from=download /nodejs /nodejs -COPY --from=download [ "/Program Files (x86)/yarn", "/yarn" ] -COPY --from=download /git /git - -ARG SETX=/M -RUN setx %SETX% PATH "%PATH%;C:\nodejs;C:\yarn\bin;C:\git\cmd;C:\git\mingw64\bin;C:\git\usr\bin" - -CMD [ "node.exe" ] - -FROM baseimage - -SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] - -# Install Bazel prereqs on Windows (https://docs.bazel.build/versions/master/install-windows.html) - -# Install MSYS2 -RUN Invoke-WebRequest -UseBasicParsing 'https://www.7-zip.org/a/7z1805-x64.exe' -OutFile 7z.exe; ` - Start-Process -FilePath 'C:\\7z.exe' -ArgumentList '/S', '/D=C:\\7zip0' -NoNewWindow -Wait; ` - Invoke-WebRequest -UseBasicParsing 'http://repo.msys2.org/distrib/x86_64/msys2-base-x86_64-20180531.tar.xz' -OutFile msys2.tar.xz; ` - Start-Process -FilePath 'C:\\7zip\\7z' -ArgumentList 'e', 'msys2.tar.xz' -Wait; ` - Start-Process -FilePath 'C:\\7zip\\7z' -ArgumentList 'x', 'msys2.tar', '-oC:\\' -Wait; ` - Remove-Item msys2.tar.xz; ` - Remove-Item msys2.tar; ` - Remove-Item 7z.exe; ` - Remove-Item -Recurse 7zip; ` - [Environment]::SetEnvironmentVariable('Path', $env:Path + ';C:\msys64\usr\bin', [System.EnvironmentVariableTarget]::Machine); ` - [Environment]::SetEnvironmentVariable('BAZEL_SH', 'C:\msys64\usr\bin\bash.exe', [System.EnvironmentVariableTarget]::Machine) - -# Install MSYS2 packages -RUN C:\msys64\usr\bin\bash.exe -l -c \"pacman --needed --noconfirm -S zip unzip patch diffutils git\" - -# Install VS Build Tools (required to build C++ targets) -RUN Invoke-WebRequest -UseBasicParsing https://download.visualstudio.microsoft.com/download/pr/df649173-11e9-4af2-8eb7-0eb02ba8958a/cadb5bdac41e55bb8f6a6b7c45273370/vs_buildtools.exe -OutFile vs_BuildTools.exe; ` - # Installer won't detect DOTNET_SKIP_FIRST_TIME_EXPERIENCE if ENV is used, must use setx /M - setx /M DOTNET_SKIP_FIRST_TIME_EXPERIENCE 1; ` - Start-Process vs_BuildTools.exe ` - -ArgumentList ` - '--add', 'Microsoft.VisualStudio.Workload.VCTools', ` - '--add', 'Microsoft.VisualStudio.Component.VC.Tools.x86.x64', ` - '--add', 'Microsoft.Component.VC.Runtime.UCRTSDK', ` - '--add', 'Microsoft.VisualStudio.Component.Windows10SDK.17763', ` - '--quiet', '--norestart', '--nocache' ` - -NoNewWindow -Wait; ` - Remove-Item -Force vs_buildtools.exe; ` - Remove-Item -Force -Recurse \"${Env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\"; ` - Remove-Item -Force -Recurse ${Env:TEMP}\*; ` - Remove-Item -Force -Recurse \"${Env:ProgramData}\Package Cache\"; ` - [Environment]::SetEnvironmentVariable('BAZEL_VC', \"${Env:ProgramFiles(x86)}\Microsoft Visual Studio\2019\BuildTools\VC\", [System.EnvironmentVariableTarget]::Machine) - -# Install Python (required to build Python targets) -RUN Invoke-WebRequest -UseBasicParsing https://www.python.org/ftp/python/3.5.1/python-3.5.1.exe -OutFile python-3.5.1.exe; ` - Start-Process python-3.5.1.exe -ArgumentList '/quiet InstallAllUsers=1 PrependPath=1' -Wait; ` - Remove-Item -Force python-3.5.1.exe - -CMD ["cmd.exe"] diff --git a/.codefresh/README.md b/.codefresh/README.md deleted file mode 100644 index 0f6ec57900a92..0000000000000 --- a/.codefresh/README.md +++ /dev/null @@ -1,33 +0,0 @@ -# CodeFresh configuration - -[![Codefresh build status](https://g.codefresh.io/api/badges/pipeline/angular/angular%2Fangular%2Fangular?type=cf-1)](https://g.codefresh.io/public/accounts/angular/pipelines/angular/angular/angular) - -This folder contains configuration for the [CodeFresh]() based CI checks for this repository. - -## The build pipeline - -CodeFresh uses a several pipeline for each repository. The `codefresh.yml` file defines pipeline [build steps](https://codefresh.io/docs/docs/configure-ci-cd-pipeline/introduction-to-codefresh-pipelines/) for this repository. - -Run results can be seen in the GitHub checks interface and in the [public pipeline](https://g.codefresh.io/public/accounts/angular/pipelines/angular/angular/angular) - -Although most configuration is done via `pipeline.yml`, some options are only available in the online [pipeline settings](https://g.codefresh.io/pipelines/angular/services?repoOwner=angular&repoName=angular&project=angular%2Fangular&context=github&serviceName=angular%2Fangular), which needs a login to access. - - -## Caretaker - -CodeFresh status can be found at . - -Issues related to the CodeFresh setup should be escalated to the Tools Team via the current caretaker, followed by Alex Eagle and Filipe Silva. - -## Rollout strategy - -Currently it is only used for tests on Windows platforms, on the master branch, and without pushing user-facing reports. It's only possible to see current builds in the [public pipeline dashboard](https://g.codefresh.io/public/accounts/angular/pipelines/angular/angular/angular). - -After a week or two of running like this, we should reassess how stable and reliable it is. - -Next steps include: -- building PRs -- showing build status publicly -- blocking PRs that break the build -- expanding the test suite - diff --git a/.codefresh/bazel.rc b/.codefresh/bazel.rc deleted file mode 100644 index 1dd9c1e81fea6..0000000000000 --- a/.codefresh/bazel.rc +++ /dev/null @@ -1,38 +0,0 @@ -# These options are enabled when running on CI -# We do this by copying this file to /etc/bazel.bazelrc at the start of the build. -# See documentation in /docs/BAZEL.md - -# Save built files and downloaded repositories in a location that can be cached by CodeFresh and -# shared between builds. This helps speed up the analysis time significantly with Bazel managed node -# dependencies on the CI. -# https://codefresh.io/docs/docs/configure-ci-cd-pipeline/introduction-to-codefresh-pipelines/#caching-the-artifacts-of-your-build-system -build --repository_cache=C:/codefresh/volume/bazel_repository_cache -# Setting the output_base to a Docker volume is currently broken because of a Docker bug on Windows: -# https://github.com/moby/moby/issues/37024 -# This affects Bazel because bazel_output_base\external\bazel_tools is an absolute path junction. -# When its fixed we can uncomment this line, and use a different output_base for Ivy tests (they -# use a separate compiler and destructively replace the cache). -# startup --output_base=C:/codefresh/volume/bazel_output_base - -# Don't be spammy in the logs -# TODO(gmagolan): Hide progress again once build performance improves -# Presently, CircleCI can timeout during bazel test ... with the following -# error: Too long with no output (exceeded 10m0s) -build --noshow_progress - -# Print all the options that apply to the build. -# This helps us diagnose which options override others -# (e.g. /etc/bazel.bazelrc vs. tools/bazel.rc) -build --announce_rc - -# Workaround https://github.com/bazelbuild/bazel/issues/3645 -# Bazel doesn't calculate the memory ceiling correctly when running under Docker. -# Limit Bazel to consuming resources that fit in CodeFresh VMs -# TODO(filipesilva): determine the correct memory limit -build --local_resources=10240,8.0,1.0 - -# Retry in the event of flakes, eg. https://circleci.com/gh/angular/angular/31309 -test --flaky_test_attempts=2 - -# More details on failures -build --verbose_failures=true diff --git a/.codefresh/codefresh.yml b/.codefresh/codefresh.yml deleted file mode 100644 index 0c738e78ed7bd..0000000000000 --- a/.codefresh/codefresh.yml +++ /dev/null @@ -1,28 +0,0 @@ -version: '1.0' - -steps: - BuildImage: - title: Build Docker image - type: build - image_name: node-bazel-windows - working_directory: ./.codefresh - no_cf_cache: true - build_arguments: - - node_version=10.13.0 - - yarn_version=1.13.0 - dockerfile: ./Dockerfile.win-1809 - - RunTests: - title: Run Bazel tests - image: ${{BuildImage}} - commands: - # Install dependencies - - yarn install --frozen-lockfile --non-interactive --network-timeout 100000 --no-progress - # Add Bazel CI config - - copy .codefresh\bazel.rc %ProgramData%\bazel.bazelrc - # Run tests - # At the moment 'browser:chromium-local' are broken in CI while locally they work - # VE - - yarn bazel test --build_tag_filters=-ivy-only --test_tag_filters=-ivy-only,-browser:chromium-local //... - # Ivy - - yarn bazel test --define=compile=aot --build_tag_filters=-no-ivy-aot,-fixme-ivy-aot --test_tag_filters=-no-ivy-aot,-fixme-ivy-aot,-browser:chromium-local //... diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index b46f22d693a1e..8c4de2a1d376a 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -884,7 +884,6 @@ testing/** @angular/fw-test /* @angular/fw-dev-infra /.buildkite/** @angular/fw-dev-infra /.circleci/** @angular/fw-dev-infra -/.codefresh/** @angular/fw-dev-infra /.devcontainer/** @angular/fw-dev-infra /.github/** @angular/fw-dev-infra /.vscode/** @angular/fw-dev-infra