Skip to content

[profiler] Enhancement: write exclusive scope durations #2424

[profiler] Enhancement: write exclusive scope durations

[profiler] Enhancement: write exclusive scope durations #2424

Workflow file for this run

# Copyright (c) Microsoft Corporation.
# Licensed under the MIT license.
name: Catnap + Catpowder (Windows Kernel and XDP)
concurrency:
group: catnapw
cancel-in-progress: false
on:
pull_request:
types: [opened, synchronize]
push:
branches:
- main
- unstable
- dev
env:
LIBOS: catnap
SERVER: ${{ secrets.CATNAPW_HOSTNAME_A }}
CLIENT: ${{ secrets.CATNAPW_HOSTNAME_B }}
SERVER_ADDR: 10.3.1.60
CLIENT_ADDR: 10.3.1.61
jobs:
debug-pipeline:
name: Catnap Debug Pipeline (Windows Kernel)
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup SSH
shell: bash
run: |
mkdir -p $HOME/.ssh/
echo "${{ secrets.SSHKEY }}" > "$HOME/.ssh/id_rsa"
chmod 400 $HOME/.ssh/id_rsa
echo "Host *" > $HOME/.ssh/config
echo -e "\tStrictHostKeyChecking no" >> $HOME/.ssh/config
echo -e "\tIdentityFile $HOME/.ssh/id_rsa" >> $HOME/.ssh/config
echo -e "\tIdentitiesOnly yes" >> $HOME/.ssh/config
echo -e "\tPasswordAuthentication no" >> $HOME/.ssh/config
echo -e "\tUser ${{ secrets.USERNAME }}" >> $HOME/.ssh/config
echo -e "\tPort ${{ secrets.PORTNUM }}" >> $HOME/.ssh/config
- name: Run
run: |
if [[ "${{ github.event_name }}" == "pull_request" ]]; then
branch_name="${{ github.head_ref }}"
else
branch_name="${{ github.ref_name }}"
fi
python3 tools/demikernel_ci.py \
--platform windows \
--server $SERVER \
--client $CLIENT \
--repository 'c:\demikernel' \
--config-path 'c:\config.yaml' \
--branch origin/$branch_name \
--libos $LIBOS \
--debug \
--test-unit --test-integration \
--delay 2 \
--server-addr $SERVER_ADDR \
--client-addr $CLIENT_ADDR
- name: Archive Logs
if: always()
uses: actions/upload-artifact@v4
with:
name: catnapw-debug-pipeline-logs
path: |
**/*.stdout.txt
**/*.stderr.txt
release-pipeline:
name: Catnap Release Pipeline (Windows Kernel)
needs: debug-pipeline
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup SSH
shell: bash
run: |
mkdir -p $HOME/.ssh/
echo "${{ secrets.SSHKEY }}" > "$HOME/.ssh/id_rsa"
chmod 400 $HOME/.ssh/id_rsa
echo "Host *" > $HOME/.ssh/config
echo -e "\tStrictHostKeyChecking no" >> $HOME/.ssh/config
echo -e "\tIdentityFile $HOME/.ssh/id_rsa" >> $HOME/.ssh/config
echo -e "\tIdentitiesOnly yes" >> $HOME/.ssh/config
echo -e "\tPasswordAuthentication no" >> $HOME/.ssh/config
echo -e "\tUser ${{ secrets.USERNAME }}" >> $HOME/.ssh/config
echo -e "\tPort ${{ secrets.PORTNUM }}" >> $HOME/.ssh/config
- name: Run
run: |
if [[ "${{ github.event_name }}" == "pull_request" ]]; then
branch_name="${{ github.head_ref }}"
else
branch_name="${{ github.ref_name }}"
fi
python3 tools/demikernel_ci.py \
--platform windows \
--server $SERVER \
--client $CLIENT \
--repository 'c:\demikernel' \
--config-path 'c:\config.yaml' \
--branch origin/$branch_name \
--libos $LIBOS \
--test-unit --test-integration \
--delay 2 \
--server-addr $SERVER_ADDR \
--client-addr $CLIENT_ADDR
- name: Archive Logs
if: always()
uses: actions/upload-artifact@v4
with:
name: catnapw-release-pipeline-logs
path: |
**/*.stdout.txt
**/*.stderr.txt
catpowder-debug-pipeline:
name: Catpowder Debug Pipeline (Windows XDP)
needs: release-pipeline
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup SSH
shell: bash
run: |
mkdir -p $HOME/.ssh/
echo "${{ secrets.SSHKEY }}" > "$HOME/.ssh/id_rsa"
chmod 400 $HOME/.ssh/id_rsa
echo "Host *" > $HOME/.ssh/config
echo -e "\tStrictHostKeyChecking no" >> $HOME/.ssh/config
echo -e "\tIdentityFile $HOME/.ssh/id_rsa" >> $HOME/.ssh/config
echo -e "\tIdentitiesOnly yes" >> $HOME/.ssh/config
echo -e "\tPasswordAuthentication no" >> $HOME/.ssh/config
echo -e "\tUser ${{ secrets.USERNAME }}" >> $HOME/.ssh/config
echo -e "\tPort ${{ secrets.PORTNUM }}" >> $HOME/.ssh/config
- name: Run
run: |
if [[ "${{ github.event_name }}" == "pull_request" ]]; then
branch_name="${{ github.head_ref }}"
else
branch_name="${{ github.ref_name }}"
fi
python3 tools/demikernel_ci.py \
--platform windows \
--server $SERVER \
--client $CLIENT \
--repository 'c:\demikernel' \
--config-path 'c:\config.yaml' \
--branch origin/$branch_name \
--libos catpowder \
--test-unit --test-integration --test-system all \
--debug \
--delay 2 \
--server-addr $SERVER_ADDR \
--client-addr $CLIENT_ADDR
- name: Archive Logs
if: always()
uses: actions/upload-artifact@v4
with:
name: catpowder-debug-pipeline-logs
path: |
**/*.stdout.txt
**/*.stderr.txt
catpowder-release-pipeline:
name: Catpowder Release Pipeline (Windows XDP)
needs: catpowder-debug-pipeline
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup SSH
shell: bash
run: |
mkdir -p $HOME/.ssh/
echo "${{ secrets.SSHKEY }}" > "$HOME/.ssh/id_rsa"
chmod 400 $HOME/.ssh/id_rsa
echo "Host *" > $HOME/.ssh/config
echo -e "\tStrictHostKeyChecking no" >> $HOME/.ssh/config
echo -e "\tIdentityFile $HOME/.ssh/id_rsa" >> $HOME/.ssh/config
echo -e "\tIdentitiesOnly yes" >> $HOME/.ssh/config
echo -e "\tPasswordAuthentication no" >> $HOME/.ssh/config
echo -e "\tUser ${{ secrets.USERNAME }}" >> $HOME/.ssh/config
echo -e "\tPort ${{ secrets.PORTNUM }}" >> $HOME/.ssh/config
- name: Run
run: |
if [[ "${{ github.event_name }}" == "pull_request" ]]; then
branch_name="${{ github.head_ref }}"
else
branch_name="${{ github.ref_name }}"
fi
python3 tools/demikernel_ci.py \
--platform windows \
--server $SERVER \
--client $CLIENT \
--repository 'c:\demikernel' \
--config-path 'c:\config.yaml' \
--branch origin/$branch_name \
--libos catpowder \
--test-unit --test-integration --test-system all \
--delay 2 \
--server-addr $SERVER_ADDR \
--client-addr $CLIENT_ADDR
- name: Archive Logs
if: always()
uses: actions/upload-artifact@v4
with:
name: catpowder-release-pipeline-logs
path: |
**/*.stdout.txt
**/*.stderr.txt