Skip to content
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

[DONT MERGE], only for windows perf log #112980

Closed
wants to merge 1 commit into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
92 changes: 35 additions & 57 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,21 +48,17 @@ jobs:
strategy:
matrix:
include:
- name: mingw-check
os: ubuntu-20.04-16core-64gb
env: {}
- name: mingw-check-tidy
os: ubuntu-20.04-16core-64gb
env: {}
- name: x86_64-gnu-llvm-14
os: ubuntu-20.04-16core-64gb
env: {}
- name: x86_64-gnu-tools
os: ubuntu-20.04-16core-64gb
env: {}
- name: x86_64-msvc
env:
RUST_CONFIGURE_ARGS: "--build=x86_64-pc-windows-msvc --enable-profiler"
SCRIPT: make ci-msvc
os: windows-2019-8core-32gb
timeout-minutes: 600
runs-on: "${{ matrix.os }}"
steps:
- name: start etw session
shell: pwsh
run: "xperf -providers\nfltmc instances\nxperf -on DiagEasy+PROFILE -stackwalk Profile+CSwitch -buffersize 1024 -minbuffers 900 -maxbuffers 900\n"
- name: disable git crlf conversion
run: git config --global core.autocrlf false
- name: checkout the source code
Expand Down Expand Up @@ -140,23 +136,15 @@ jobs:
AWS_SECRET_ACCESS_KEY: "${{ secrets[format('AWS_SECRET_ACCESS_KEY_{0}', env.CACHES_AWS_ACCESS_KEY_ID)] }}"
TOOLSTATE_REPO_ACCESS_TOKEN: "${{ secrets.TOOLSTATE_REPO_ACCESS_TOKEN }}"
if: success() && !env.SKIP_JOB
- name: create github artifacts
run: src/ci/scripts/create-doc-artifacts.sh
if: success() && !env.SKIP_JOB
- name: upload artifacts to github
- name: collect etw session
shell: pwsh
run: "xperf -d C:\\etw_perf_log.etl\n"
- name: upload etw log
uses: actions/upload-artifact@v3
with:
name: "${{ env.DOC_ARTIFACT_NAME }}"
path: obj/artifacts/doc
if-no-files-found: ignore
retention-days: 5
if: success() && !env.SKIP_JOB
- name: upload artifacts to S3
run: src/ci/scripts/upload-artifacts.sh
env:
AWS_ACCESS_KEY_ID: "${{ env.ARTIFACTS_AWS_ACCESS_KEY_ID }}"
AWS_SECRET_ACCESS_KEY: "${{ secrets[format('AWS_SECRET_ACCESS_KEY_{0}', env.ARTIFACTS_AWS_ACCESS_KEY_ID)] }}"
if: "success() && !env.SKIP_JOB && (github.event_name == 'push' || env.DEPLOY == '1' || env.DEPLOY_ALT == '1')"
name: etw
path: "C:/etw_perf_log.etl\n"
retention-days: 1
auto:
name: "auto - ${{ matrix.name }}"
env:
Expand Down Expand Up @@ -468,6 +456,9 @@ jobs:
timeout-minutes: 600
runs-on: "${{ matrix.os }}"
steps:
- name: start etw session
shell: pwsh
run: "xperf -providers\nfltmc instances\nxperf -on DiagEasy+PROFILE -stackwalk Profile+CSwitch -buffersize 1024 -minbuffers 900 -maxbuffers 900\n"
- name: disable git crlf conversion
run: git config --global core.autocrlf false
- name: checkout the source code
Expand Down Expand Up @@ -545,23 +536,15 @@ jobs:
AWS_SECRET_ACCESS_KEY: "${{ secrets[format('AWS_SECRET_ACCESS_KEY_{0}', env.CACHES_AWS_ACCESS_KEY_ID)] }}"
TOOLSTATE_REPO_ACCESS_TOKEN: "${{ secrets.TOOLSTATE_REPO_ACCESS_TOKEN }}"
if: success() && !env.SKIP_JOB
- name: create github artifacts
run: src/ci/scripts/create-doc-artifacts.sh
if: success() && !env.SKIP_JOB
- name: upload artifacts to github
- name: collect etw session
shell: pwsh
run: "xperf -d C:\\etw_perf_log.etl\n"
- name: upload etw log
uses: actions/upload-artifact@v3
with:
name: "${{ env.DOC_ARTIFACT_NAME }}"
path: obj/artifacts/doc
if-no-files-found: ignore
retention-days: 5
if: success() && !env.SKIP_JOB
- name: upload artifacts to S3
run: src/ci/scripts/upload-artifacts.sh
env:
AWS_ACCESS_KEY_ID: "${{ env.ARTIFACTS_AWS_ACCESS_KEY_ID }}"
AWS_SECRET_ACCESS_KEY: "${{ secrets[format('AWS_SECRET_ACCESS_KEY_{0}', env.ARTIFACTS_AWS_ACCESS_KEY_ID)] }}"
if: "success() && !env.SKIP_JOB && (github.event_name == 'push' || env.DEPLOY == '1' || env.DEPLOY_ALT == '1')"
name: etw
path: "C:/etw_perf_log.etl\n"
retention-days: 1
try:
name: "try - ${{ matrix.name }}"
env:
Expand All @@ -588,6 +571,9 @@ jobs:
timeout-minutes: 600
runs-on: "${{ matrix.os }}"
steps:
- name: start etw session
shell: pwsh
run: "xperf -providers\nfltmc instances\nxperf -on DiagEasy+PROFILE -stackwalk Profile+CSwitch -buffersize 1024 -minbuffers 900 -maxbuffers 900\n"
- name: disable git crlf conversion
run: git config --global core.autocrlf false
- name: checkout the source code
Expand Down Expand Up @@ -665,23 +651,15 @@ jobs:
AWS_SECRET_ACCESS_KEY: "${{ secrets[format('AWS_SECRET_ACCESS_KEY_{0}', env.CACHES_AWS_ACCESS_KEY_ID)] }}"
TOOLSTATE_REPO_ACCESS_TOKEN: "${{ secrets.TOOLSTATE_REPO_ACCESS_TOKEN }}"
if: success() && !env.SKIP_JOB
- name: create github artifacts
run: src/ci/scripts/create-doc-artifacts.sh
if: success() && !env.SKIP_JOB
- name: upload artifacts to github
- name: collect etw session
shell: pwsh
run: "xperf -d C:\\etw_perf_log.etl\n"
- name: upload etw log
uses: actions/upload-artifact@v3
with:
name: "${{ env.DOC_ARTIFACT_NAME }}"
path: obj/artifacts/doc
if-no-files-found: ignore
retention-days: 5
if: success() && !env.SKIP_JOB
- name: upload artifacts to S3
run: src/ci/scripts/upload-artifacts.sh
env:
AWS_ACCESS_KEY_ID: "${{ env.ARTIFACTS_AWS_ACCESS_KEY_ID }}"
AWS_SECRET_ACCESS_KEY: "${{ secrets[format('AWS_SECRET_ACCESS_KEY_{0}', env.ARTIFACTS_AWS_ACCESS_KEY_ID)] }}"
if: "success() && !env.SKIP_JOB && (github.event_name == 'push' || env.DEPLOY == '1' || env.DEPLOY_ALT == '1')"
name: etw
path: "C:/etw_perf_log.etl\n"
retention-days: 1
master:
name: master
runs-on: ubuntu-latest
Expand Down
4 changes: 2 additions & 2 deletions src/bootstrap/mk/Makefile.in
Original file line number Diff line number Diff line change
Expand Up @@ -61,10 +61,10 @@ prepare:

# this intentionally doesn't use `$(BOOTSTRAP)` so we can test the shebang on Windows
ci-msvc-py:
$(Q)$(CFG_SRC_DIR)/x.py test --stage 2 tidy
$(Q)$(CFG_SRC_DIR)/x.py --stage 0 b library
ci-msvc-ps1:
$(Q)$(CFG_SRC_DIR)/x.ps1 test --stage 2 --exclude tidy
ci-msvc: ci-msvc-py ci-msvc-ps1
ci-msvc: ci-msvc-py# ci-msvc-ps1

## MingW native builders

Expand Down
62 changes: 29 additions & 33 deletions src/ci/github-actions/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -112,6 +112,21 @@ x--expand-yaml-anchors--remove:
runs-on: "${{ matrix.os }}"
env: *shared-ci-variables
steps:
# - name: dl& install wpt
# shell: pwsh
# working-directory: C:/
# run: |
# Invoke-WebRequest -Uri "https://go.microsoft.com/fwlink/?linkid=2026036" -OutFile "C:\adksetup.exe"
# C:\adksetup.exe /q /norestart /features OptionId.WindowsPerformanceToolkit

- name: start etw session
shell: pwsh
run: |
xperf -providers
fltmc instances
xperf -on DiagEasy+PROFILE -stackwalk Profile+CSwitch -buffersize 1024 -minbuffers 900 -maxbuffers 900


- name: disable git crlf conversion
run: git config --global core.autocrlf false

Expand Down Expand Up @@ -224,32 +239,19 @@ x--expand-yaml-anchors--remove:
TOOLSTATE_REPO_ACCESS_TOKEN: ${{ secrets.TOOLSTATE_REPO_ACCESS_TOKEN }}
<<: *step

- name: create github artifacts
run: src/ci/scripts/create-doc-artifacts.sh
<<: *step
- name: collect etw session
shell: pwsh
run: |
xperf -d C:\etw_perf_log.etl

- name: upload artifacts to github
- name: upload etw log
uses: actions/upload-artifact@v3
with:
# name is set in previous step
name: ${{ env.DOC_ARTIFACT_NAME }}
path: obj/artifacts/doc
if-no-files-found: ignore
retention-days: 5
<<: *step

- name: upload artifacts to S3
run: src/ci/scripts/upload-artifacts.sh
env:
AWS_ACCESS_KEY_ID: ${{ env.ARTIFACTS_AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets[format('AWS_SECRET_ACCESS_KEY_{0}', env.ARTIFACTS_AWS_ACCESS_KEY_ID)] }}
# Adding a condition on DEPLOY=1 or DEPLOY_ALT=1 is not needed as all deploy
# builders *should* have the AWS credentials available. Still, explicitly
# adding the condition is helpful as this way CI will not silently skip
# deploying artifacts from a dist builder if the variables are misconfigured,
# erroring about invalid credentials instead.
if: success() && !env.SKIP_JOB && (github.event_name == 'push' || env.DEPLOY == '1' || env.DEPLOY_ALT == '1')
<<: *step
name: etw
path: |
C:/etw_perf_log.etl
retention-days: 1

# These snippets are used by the try-success, try-failure, auto-success and auto-failure jobs.
# Check out their documentation for more information on why they're needed.
Expand Down Expand Up @@ -315,17 +317,11 @@ jobs:
strategy:
matrix:
include:
- name: mingw-check
<<: *job-linux-16c

- name: mingw-check-tidy
<<: *job-linux-16c

- name: x86_64-gnu-llvm-14
<<: *job-linux-16c

- name: x86_64-gnu-tools
<<: *job-linux-16c
- name: x86_64-msvc
env:
RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc --enable-profiler
SCRIPT: make ci-msvc
<<: *job-windows-8c

auto:
<<: *base-ci-job
Expand Down