-
Notifications
You must be signed in to change notification settings - Fork 571
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
i#4131: Set up Windows Github Actions #4586
Merged
Merged
Changes from all commits
Commits
Show all changes
28 commits
Select commit
Hold shift + click to select a range
1a80e83
i#4131: Set up Windows Github Actions
derekbruening 04fe37a
TEMP: Remove appveyor config while testing
derekbruening 9544382
TEMP: Remove other GA jobs while testing Windows
derekbruening 070ed2d
Correct path to runsuite_wrapper.pl
derekbruening adf9ddc
Add diagnostics for syscall assert
derekbruening 2f03cdb
Add error info for drx-test; could be kept permanently
derekbruening 6930caf
TEMP diagnostics for decode tests
derekbruening 4bb5502
Generalize api.symtest golden output to handle extra operators found
derekbruening 157fa89
Remove diagnostics; impl i#4587 soln: for win10-1511+ always use sysn…
derekbruening 4de05f0
symtest: escape brackets
derekbruening 4a44bf6
Try backslashes in drx-test path
derekbruening 85d34af
i#4587: Use from-wrapper syscall numbers for all win10 (#4589)
derekbruening cdaa8cf
i#4588: Handle anomalous alloc bases in Windows query loop (#4590)
derekbruening 23dd14b
Revert "TEMP: Remove other GA jobs while testing Windows"
derekbruening 940f847
Merge branch 'master' of github.com:DynamoRIO/dynamorio into i4131-gi…
derekbruening c4def79
Revert "Try backslashes in drx-test path"
derekbruening 06edc61
Revert "TEMP diagnostics for decode tests"
derekbruening 2f34484
Apply ignore list to native Windows perl and edit the list to include…
derekbruening 6a24f6c
TEMPORARY re-remove the other workflows until windows is green
derekbruening 592c8c3
Split non-test-running builds into a 3rd job via new args to runsuite…
derekbruening 5cd17f3
Build job should be 32-bit and vps too; add 2 more 32-bit failures
derekbruening 2e91c4d
i#4610: Fix VS2017 OOM by splitting avx512 test files
derekbruening 05afc72
Remove APPVEYOR_PULL_REQUEST_NUMBER-driven build skips now that we ha…
derekbruening f60c8fe
Revert "TEMPORARY re-remove the other workflows until windows is green"
derekbruening f201450
Revert "TEMP: Remove appveyor config while testing"
derekbruening 81f6e9d
Merge branch 'master' of github.com:DynamoRIO/dynamorio into i4131-gi…
derekbruening 2c85e69
Clang-format windows-edited file
derekbruening f783893
Add win32.earlythread to the ignore list
derekbruening File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,169 @@ | ||
# ********************************************************** | ||
# Copyright (c) 2020 Google, Inc. All rights reserved. | ||
# ********************************************************** | ||
|
||
# Redistribution and use in source and binary forms, with or without | ||
# modification, are permitted provided that the following conditions are met: | ||
# | ||
# * Redistributions of source code must retain the above copyright notice, | ||
# this list of conditions and the following disclaimer. | ||
# | ||
# * Redistributions in binary form must reproduce the above copyright notice, | ||
# this list of conditions and the following disclaimer in the documentation | ||
# and/or other materials provided with the distribution. | ||
# | ||
# * Neither the name of Google, Inc. nor the names of its contributors may be | ||
# used to endorse or promote products derived from this software without | ||
# specific prior written permission. | ||
# | ||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" | ||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | ||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | ||
# ARE DISCLAIMED. IN NO EVENT SHALL VMWARE, INC. OR CONTRIBUTORS BE LIABLE | ||
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | ||
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR | ||
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER | ||
# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | ||
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY | ||
# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH | ||
# DAMAGE. | ||
|
||
# Github Actions workflow for Windows Continuous Integration testing. | ||
|
||
# TODO i#2145: point at Qt5 for testing drgui build. | ||
|
||
name: ci-windows | ||
on: | ||
# Run on pushes to master and on pull request changes, including from a | ||
# forked repo with no "push" trigger, while avoiding duplicate triggers. | ||
push: | ||
branches: | ||
- master | ||
pull_request: | ||
types: [opened, reopened, synchronize] | ||
|
||
# Manual trigger using the Actions page. May remove when integration complete. | ||
workflow_dispatch: | ||
|
||
defaults: | ||
run: | ||
shell: cmd | ||
|
||
jobs: | ||
########################################################################### | ||
# 32-bit VS2017 and tests: | ||
vs2017-32: | ||
runs-on: windows-2016 | ||
|
||
steps: | ||
- uses: actions/checkout@v2 | ||
|
||
# Cancel any prior runs for a PR (but do not cancel master branch runs). | ||
- uses: n1hility/cancel-previous-runs@v2 | ||
with: | ||
token: ${{ secrets.GITHUB_TOKEN }} | ||
if: ${{ github.event_name == 'pull_request' }} | ||
|
||
- name: Fetch Sources | ||
run: git fetch --no-tags --depth=1 origin master | ||
|
||
- name: Download Packages | ||
shell: powershell | ||
run: | | ||
md c:\projects\install | ||
(New-Object System.Net.WebClient).DownloadFile("https://github.com/ninja-build/ninja/releases/download/v1.7.2/ninja-win.zip", "c:\projects\install\ninja.zip") | ||
(New-Object System.Net.WebClient).DownloadFile("http://doxygen.nl/files/doxygen-1.8.19.windows.x64.bin.zip", "c:\projects\install\doxygen.zip") | ||
|
||
- name: Run Suite | ||
working-directory: ${{ github.workspace }} | ||
run: | | ||
echo ------ Setting up paths ------ | ||
7z x c:\projects\install\ninja.zip -oc:\projects\install\ninja > nul | ||
set PATH=c:\projects\install\ninja;%PATH% | ||
7z x c:\projects\install\doxygen.zip -oc:\projects\install\doxygen > nul | ||
set PATH=c:\projects\install\doxygen;%PATH% | ||
call "C:/Program Files (x86)/Microsoft Visual Studio/2017/Enterprise/VC/Auxiliary/Build/vcvars32.bat" | ||
echo ------ Running suite ------ | ||
echo PATH is "%PATH%" | ||
echo Running in directory "%CD%" | ||
perl suite/runsuite_wrapper.pl travis use_ninja 32_only debug_only | ||
env: | ||
CI_TRIGGER: ${{ github.event_name }} | ||
|
||
########################################################################### | ||
# 64-bit VS2017 and tests: | ||
vs2017-64: | ||
runs-on: windows-2016 | ||
|
||
steps: | ||
- uses: actions/checkout@v2 | ||
|
||
# Cancel any prior runs for a PR (but do not cancel master branch runs). | ||
- uses: n1hility/cancel-previous-runs@v2 | ||
with: | ||
token: ${{ secrets.GITHUB_TOKEN }} | ||
if: ${{ github.event_name == 'pull_request' }} | ||
|
||
- name: Fetch Sources | ||
run: git fetch --no-tags --depth=1 origin master | ||
|
||
- name: Download Packages | ||
shell: powershell | ||
run: | | ||
md c:\projects\install | ||
(New-Object System.Net.WebClient).DownloadFile("https://github.com/ninja-build/ninja/releases/download/v1.7.2/ninja-win.zip", "c:\projects\install\ninja.zip") | ||
(New-Object System.Net.WebClient).DownloadFile("http://doxygen.nl/files/doxygen-1.8.19.windows.x64.bin.zip", "c:\projects\install\doxygen.zip") | ||
|
||
- name: Run Suite | ||
working-directory: ${{ github.workspace }} | ||
run: | | ||
echo ------ Setting up paths ------ | ||
7z x c:\projects\install\ninja.zip -oc:\projects\install\ninja > nul | ||
set PATH=c:\projects\install\ninja;%PATH% | ||
7z x c:\projects\install\doxygen.zip -oc:\projects\install\doxygen > nul | ||
set PATH=c:\projects\install\doxygen;%PATH% | ||
call "C:/Program Files (x86)/Microsoft Visual Studio/2017/Enterprise/VC/Auxiliary/Build/vcvars32.bat" | ||
echo ------ Running suite ------ | ||
echo PATH is "%PATH%" | ||
echo Running in directory "%CD%" | ||
perl suite/runsuite_wrapper.pl travis use_ninja 64_only debug_only | ||
env: | ||
CI_TRIGGER: ${{ github.event_name }} | ||
|
||
########################################################################### | ||
# 32-bit and 64-bit VS2017 release builds plus a vps build: | ||
vs2017-builds: | ||
runs-on: windows-2016 | ||
|
||
steps: | ||
- uses: actions/checkout@v2 | ||
|
||
# Cancel any prior runs for a PR (but do not cancel master branch runs). | ||
- uses: n1hility/cancel-previous-runs@v2 | ||
with: | ||
token: ${{ secrets.GITHUB_TOKEN }} | ||
if: ${{ github.event_name == 'pull_request' }} | ||
|
||
- name: Fetch Sources | ||
run: git fetch --no-tags --depth=1 origin master | ||
|
||
- name: Download Packages | ||
shell: powershell | ||
run: | | ||
md c:\projects\install | ||
(New-Object System.Net.WebClient).DownloadFile("https://github.com/ninja-build/ninja/releases/download/v1.7.2/ninja-win.zip", "c:\projects\install\ninja.zip") | ||
(New-Object System.Net.WebClient).DownloadFile("http://doxygen.nl/files/doxygen-1.8.19.windows.x64.bin.zip", "c:\projects\install\doxygen.zip") | ||
|
||
- name: Run Suite | ||
working-directory: ${{ github.workspace }} | ||
run: | | ||
echo ------ Setting up paths ------ | ||
7z x c:\projects\install\ninja.zip -oc:\projects\install\ninja > nul | ||
set PATH=c:\projects\install\ninja;%PATH% | ||
7z x c:\projects\install\doxygen.zip -oc:\projects\install\doxygen > nul | ||
set PATH=c:\projects\install\doxygen;%PATH% | ||
call "C:/Program Files (x86)/Microsoft Visual Studio/2017/Enterprise/VC/Auxiliary/Build/vcvars32.bat" | ||
echo ------ Running suite ------ | ||
echo PATH is "%PATH%" | ||
echo Running in directory "%CD%" | ||
perl suite/runsuite_wrapper.pl travis use_ninja nontest_only |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These seem to be temporary debug statements. Perhaps they need to be removed?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry, just saw this after merging (took a while to edit the merge message). Yes, but it is very useful and doesn't take up much space and was in fact present in the Appveyor config the whole time as well. Could be removed but since it was there before I included it here.