Try merging Windows build into the standard worklfow

This commit is contained in:
Anton Tayanovskyy 2021-11-19 22:51:32 -05:00
parent ece2325694
commit 94dab380e5

View file

@ -137,7 +137,7 @@ jobs:
needs: build needs: build
strategy: strategy:
matrix: matrix:
platform: [ ubuntu-latest, macos-latest ] platform: [ ubuntu-latest, macos-latest, windows-latest ]
go-version: [ 1.17.x ] go-version: [ 1.17.x ]
python-version: [ 3.9.x ] python-version: [ 3.9.x ]
dotnet-version: [ 3.1.x ] dotnet-version: [ 3.1.x ]
@ -168,6 +168,10 @@ jobs:
- name: Set PULUMI_TEST_SUBSET env var - name: Set PULUMI_TEST_SUBSET env var
run: | run: |
echo "PULUMI_TEST_SUBSET=${{ matrix.test-subset }}" >> $GITHUB_ENV echo "PULUMI_TEST_SUBSET=${{ matrix.test-subset }}" >> $GITHUB_ENV
- name: Install Make
if: ${{ matrix.platform == 'windows-latest' }}
run: |
choco install make
- name: Set up Go ${{ matrix.go-version }} - name: Set up Go ${{ matrix.go-version }}
uses: actions/setup-go@v1 uses: actions/setup-go@v1
with: with:
@ -234,11 +238,24 @@ jobs:
with: with:
name: pulumi-darwin-x64.tar.gz name: pulumi-darwin-x64.tar.gz
path: artifacts/go path: artifacts/go
- name: Download Pulumi Go Binaries (windows-x64)
if: ${{ matrix.platform == 'windows-latest' }}
uses: actions/download-artifact@v2
with:
name: pulumi-windows-x64.zip
path: artifacts/go
- name: Install Pulumi Go Binaries - name: Install Pulumi Go Binaries
if: ${{ matrix.platform != 'windows-latest' }}
run: | run: |
mkdir -p bin mkdir -p bin
tar -xf artifacts/go/*.tar.gz -C bin tar -xf artifacts/go/*.tar.gz -C bin
echo "$PWD/bin/pulumi" >> $GITHUB_PATH echo "$PWD/bin/pulumi" >> $GITHUB_PATH
- name: Install Pulumi Go Binaries
if: ${{ matrix.platform == 'windows-latest' }}
run: |
mkdir -p bin
unzip -xf artifacts/go/*.zip -d bin
echo "$PWD/bin/pulumi" >> $GITHUB_PATH
- name: Download Pulumi .NET NuGet packages - name: Download Pulumi .NET NuGet packages
uses: actions/download-artifact@v2 uses: actions/download-artifact@v2
with: with:
@ -290,104 +307,101 @@ jobs:
run: | run: |
goteststats -statistic test-time test-results/*.json | head -n 100 goteststats -statistic test-time test-results/*.json | head -n 100
windows-build: # windows-build:
name: Windows Build + Test # name: Windows Build + Test
strategy: # strategy:
matrix: # matrix:
go-version: [1.17.x] # go-version: [1.17.x]
node-version: [14.x] # node-version: [14.x]
python-version: [3.9.x] # python-version: [3.9.x]
dotnet: [3.1.x] # dotnet: [3.1.x]
if: github.event_name == 'repository_dispatch' || github.event.pull_request.head.repo.full_name == github.repository # if: github.event_name == 'repository_dispatch' || github.event.pull_request.head.repo.full_name == github.repository
runs-on: windows-latest # runs-on: windows-latest
env: # env:
GOPATH: ${{ github.workspace }} # GOPATH: ${{ github.workspace }}
PULUMI_LOCAL_NUGET: "D:\\Pulumi\\nuget" # PULUMI_LOCAL_NUGET: "D:\\Pulumi\\nuget"
ACTIONS_ALLOW_UNSECURE_COMMANDS: true # ACTIONS_ALLOW_UNSECURE_COMMANDS: true
steps: # steps:
- name: Install Make # - name: Checkout Repo
run: | # uses: actions/checkout@v2
choco install make # with:
- name: Checkout Repo # ref: ${{ env.PR_COMMIT_SHA }}
uses: actions/checkout@v2 # - name: Test Make
with: # run: |
ref: ${{ env.PR_COMMIT_SHA }} # make -n ensure
- name: Test Make # # - name: Install DotNet ${{ matrix.dotnet }}
run: | # # uses: actions/setup-dotnet@v1
make -n ensure # # with:
# - name: Install DotNet ${{ matrix.dotnet }} # # dotnet-version: ${{ matrix.dotnet }}
# uses: actions/setup-dotnet@v1 # # - name: Use Node.js ${{ matrix.node-version }}
# with: # # uses: actions/setup-node@v1
# dotnet-version: ${{ matrix.dotnet }} # # with:
# - name: Use Node.js ${{ matrix.node-version }} # # node-version: ${{ matrix.node-version }}
# uses: actions/setup-node@v1 # # - name: Set up Go ${{ matrix.go-version }}
# with: # # uses: actions/setup-go@v1
# node-version: ${{ matrix.node-version }} # # with:
# - name: Set up Go ${{ matrix.go-version }} # # go-version: ${{ matrix.go-version }}
# uses: actions/setup-go@v1 # # - name: Set up Python ${{ matrix.python-version }}
# with: # # uses: actions/setup-python@v2
# go-version: ${{ matrix.go-version }} # # with:
# - name: Set up Python ${{ matrix.python-version }} # # python-version: ${{ matrix.python-version }}
# uses: actions/setup-python@v2 # # - name: Install Python Deps
# with: # # run: |
# python-version: ${{ matrix.python-version }} # # pip3 install pyenv-win
# - name: Install Python Deps # # pip3 install pipenv
# run: | # # - name: Create Local Nuget
# pip3 install pyenv-win # # run: mkdir -p "${{ env.PULUMI_LOCAL_NUGET }}"
# pip3 install pipenv # # shell: bash
# - name: Create Local Nuget # # - run: dotnet nuget add source ${{ env.PULUMI_LOCAL_NUGET }}
# run: mkdir -p "${{ env.PULUMI_LOCAL_NUGET }}" # # - name: Set Build Env Vars
# shell: bash # # shell: bash
# - run: dotnet nuget add source ${{ env.PULUMI_LOCAL_NUGET }} # # run: |
# - name: Set Build Env Vars # # echo "D:\\Pulumi\\bin" >> $GITHUB_PATH
# shell: bash # # - name: Install AWS CLI Tools
# run: | # # uses: chrislennon/action-aws-cli@v1.1
# echo "D:\\Pulumi\\bin" >> $GITHUB_PATH # # - name: Install pulumictl
# - name: Install AWS CLI Tools # # uses: jaxxstorm/action-install-gh-release@v1.2.0
# uses: chrislennon/action-aws-cli@v1.1 # # with:
# - name: Install pulumictl # # repo: pulumi/pulumictl
# uses: jaxxstorm/action-install-gh-release@v1.2.0 # # - name: Check out code into the Go module directory
# with: # # uses: actions/checkout@v2
# repo: pulumi/pulumictl # # with:
# - name: Check out code into the Go module directory # # path: ./src/github.com/${{ github.repository }}
# uses: actions/checkout@v2 # # ref: ${{ env.PR_COMMIT_SHA }}
# with: # # - name: Fetch Tags
# path: ./src/github.com/${{ github.repository }} # # run: |
# ref: ${{ env.PR_COMMIT_SHA }} # # cd ./src/github.com/${{ github.repository }} && git fetch --quiet --prune --unshallow --tags
# - name: Fetch Tags # # - name: Clean
# run: | # # run: dotnet nuget locals all --clear
# cd ./src/github.com/${{ github.repository }} && git fetch --quiet --prune --unshallow --tags # # - name: Create Local Nuget
# - name: Clean # # run: mkdir -p "D:\\Pulumi\\nuget"
# run: dotnet nuget locals all --clear # # shell: bash
# - name: Create Local Nuget # # - name: Get dependencies
# run: mkdir -p "D:\\Pulumi\\nuget" # # run: |
# shell: bash # # cd src\github.com\${{ github.repository }}
# - name: Get dependencies # # pushd .
# run: | # # cd sdk
# cd src\github.com\${{ github.repository }} # # go mod download
# pushd . # # popd
# cd sdk # # pushd .
# go mod download # # cd pkg
# popd # # go mod download
# pushd . # # popd
# cd pkg # # pushd .
# go mod download # # cd tests
# popd # # go mod download
# pushd . # # popd
# cd tests # # - name: Build Pulumi
# go mod download # # run: |
# popd # # cd src\github.com\${{ github.repository }}
# - name: Build Pulumi # # dotnet msbuild /t:Build /v:Detailed build.proj /p:PulumiRoot="D:\\Pulumi" /p:PythonVersion="${{ matrix.python-version }}"
# run: | # # - run: |
# cd src\github.com\${{ github.repository }} # # which pulumi
# dotnet msbuild /t:Build /v:Detailed build.proj /p:PulumiRoot="D:\\Pulumi" /p:PythonVersion="${{ matrix.python-version }}" # # pulumi version
# - run: | # # shell: bash
# which pulumi # # - name: Run Pulumi Tests
# pulumi version # # env:
# shell: bash # # PYTHON_VERSION: ${{ matrix.python-version }}
# - name: Run Pulumi Tests # # run: |
# env: # # cd src\github.com\${{ github.repository }}
# PYTHON_VERSION: ${{ matrix.python-version }} # # dotnet msbuild /t:Tests /v:Detailed build.proj /p:PulumiRoot="D:\\Pulumi" /p:PythonVersion="${{ matrix.python-version }}"
# run: |
# cd src\github.com\${{ github.repository }}
# dotnet msbuild /t:Tests /v:Detailed build.proj /p:PulumiRoot="D:\\Pulumi" /p:PythonVersion="${{ matrix.python-version }}"