From a731437ecc52dbbdda6fb4dd871ce04e8b1a3cfa Mon Sep 17 00:00:00 2001 From: stack72 Date: Thu, 26 Mar 2020 18:06:42 +0000 Subject: [PATCH] Move Windows release builds to happen in GHA The windows release was appveyor calling a specific build target when a tag was present. This is now called on a push to any of the branches in the push category This means it will not trigger on the pushes to the PR builds --- .appveyor.yml | 74 ----------------------- .github/workflows/windows-build.yml | 8 ++- .github/workflows/windows-pr.yml | 91 +++++++++++++++++++++++++++++ 3 files changed, 98 insertions(+), 75 deletions(-) delete mode 100644 .appveyor.yml create mode 100644 .github/workflows/windows-pr.yml diff --git a/.appveyor.yml b/.appveyor.yml deleted file mode 100644 index 682582b38..000000000 --- a/.appveyor.yml +++ /dev/null @@ -1,74 +0,0 @@ -version: 1.0.{build} -image: Visual Studio 2019 -configuration: Release -platform: x64 -clone_folder: '%USERPROFILE%\go\src\github.com\pulumi\pulumi' -branches: - only: - - master - - /v\d*\.\d*\.\d*/ -environment: - PULUMI_API: https://api.pulumi-staging.io - PULUMI_ACCESS_TOKEN: - secure: +c7s1GgUunQl8QlLZs7zafFv6lJbZp40fx1kJl7v+n0qa8oq3ssBlVEl9gfoMBgH - AWS_ACCESS_KEY_ID: - secure: eB7Gfl1GHhz60tH2EEASI7IFsWHDd5SV+kponXwaCSo= - AWS_SECRET_ACCESS_KEY: - secure: T19RJk7Uv3trAChRRDB82OAUDI8k2q9PaSetU7yDFu4aC+MshdwAhTTN/TaPkwl/ - AWS_REGION: us-west-2 - ARM_LOCATION: "West US 2" - ARM_ENVIRONMENT: public - matrix: - - nodejs_version: "10.15.3" -init: - - ps: Install-Product node $env:nodejs_version x64 -install: -- rmdir C:\go /s /q -- appveyor DownloadFile https://dl.google.com/go/go1.13.4.windows-amd64.zip -- 7z x go1.13.4.windows-amd64.zip -y -oC:\ > NUL -- cmd: >- - set GOPATH=%USERPROFILE%\go - - set PATH=C:\go\bin;%PATH%;%GOPATH%\bin - - set PATH=%PATH%;%USERPROFILE%\.yarn\bin - - set PulumiRoot=C:\Pulumi - - set PATH=%PulumiRoot%\bin;%PATH% - - go version - - git clone https://github.com/pulumi/scripts.git "%USERPROFILE%\go\src\github.com\pulumi\scripts" - - set PATH=%PATH%;C:\Python37-x64\Scripts - - pip3 install pyenv-win --target %USERPROFILE%/.pyenv - - set PYENV=%USERPROFILE%\.pyenv\pyenv-win - - set PATH=%PATH%;%PYENV%\bin;%PYENV%\shims - - pip3 install pipenv - - set PULUMI_LOCAL_NUGET=C:\Pulumi\nuget - - set PULUMI_TEST_OWNER=moolumi - - choco install dep -- ps: >- - New-Item -Type Directory "$env:USERPROFILE\go\bin" -build_script: -- cmd: >- - set GO111MODULE=on - - pushd . && cd sdk && go mod tidy && go mod download && popd - - pushd . && cd pkg && go mod tidy && go mod download && popd - - pushd . && cd examples && go mod tidy && go mod download && popd - - pushd . && cd tests && go mod tidy && go mod download && popd - - if defined APPVEYOR_REPO_TAG_NAME ( dotnet msbuild /t:ReleaseProcess /v:Detailed build.proj ) -test: off diff --git a/.github/workflows/windows-build.yml b/.github/workflows/windows-build.yml index 87fa88af1..4662f26b7 100644 --- a/.github/workflows/windows-build.yml +++ b/.github/workflows/windows-build.yml @@ -2,7 +2,9 @@ on: push: branches: - master - pull_request: + - 'feature-.*' + - 'features/.*' + tags: jobs: build: @@ -92,3 +94,7 @@ jobs: run: | cd src\github.com\${{ github.repository }} dotnet msbuild /t:Tests /v:Detailed build.proj /p:PulumiRoot="D:\\Pulumi" + - name: Publish Binary + run: | + cd src\github.com\${{ github.repository }} + dotnet msbuild /t:Publish /v:Detailed build.proj /p:PulumiRoot="D:\\Pulumi" diff --git a/.github/workflows/windows-pr.yml b/.github/workflows/windows-pr.yml new file mode 100644 index 000000000..44cb5df56 --- /dev/null +++ b/.github/workflows/windows-pr.yml @@ -0,0 +1,91 @@ +on: + pull_request: + +jobs: + build: + name: Build + strategy: + matrix: + platform: [windows-latest] + go-version: [1.13.x] + node-version: [10.x] + python-version: [3.7] + dotnet: ['3.1.100'] + runs-on: ${{ matrix.platform }} + env: + GOPATH: ${{ github.workspace }} + steps: + - name: Install DotNet ${{ matrix.dotnet }} + uses: actions/setup-dotnet@v1 + with: + dotnet-version: ${{ matrix.dotnet }} + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v1 + with: + node-version: ${{ matrix.node-version }} + - name: Set up Go ${{ matrix.go-version }} + uses: actions/setup-go@v1 + with: + go-version: ${{ matrix.go-version }} + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v1 + with: + python-version: ${{ matrix.python-version }} + - name: Install Python Deps + run: | + pip3 install pyenv-win + pip3 install pipenv + - name: Install Go Dep + shell: bash + run: | + echo "::add-path::$(go env GOPATH)/bin" + go get -v github.com/golang/dep/cmd/dep + - name: Set Build Env Vars + shell: bash + run: | + echo "::set-env name=PULUMI_TEST_OWNER::moolumi" + echo "::set-env name=PULUMI_LOCAL_NUGET::D:\\Pulumi\\nuget" + echo "::set-env name=PULUMI_ACCESS_TOKEN::${{ secrets.PULUMI_ACCESS_TOKEN }}" + echo "::set-env name=PULUMI_ACCESS_TOKEN::${{ secrets.PULUMI_ACCESS_TOKEN }}" + echo "::add-path::D:\\Pulumi\\bin" + - name: Set AWS Env Vars + uses: allenevans/set-env@v1.0.0 + with: + AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} + AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + - name: Check out code into the Go module directory + uses: actions/checkout@v2 + with: + path: ./src/github.com/${{ github.repository }} + - name: Get dependencies + run: | + cd src\github.com\${{ github.repository }} + set GOMODULE111=on + pushd . + cd sdk + go mod tidy + go mod download + popd + pushd . + cd pkg + go mod tidy + go mod download + popd + pushd . + cd examples + go mod tidy + go mod download + popd + pushd . + cd tests + go mod tidy + go mod download + popd + - name: Build Pulumi + run: | + cd src\github.com\${{ github.repository }} + dotnet msbuild /t:Build /v:Detailed build.proj /p:PulumiRoot="D:\\Pulumi" + - name: Run Pulumi Tests + run: | + cd src\github.com\${{ github.repository }} + dotnet msbuild /t:Tests /v:Detailed build.proj /p:PulumiRoot="D:\\Pulumi"