Skip to content

[WIP] Script to Compare Packages in Benchpark Against Spack Tag #3

[WIP] Script to Compare Packages in Benchpark Against Spack Tag

[WIP] Script to Compare Packages in Benchpark Against Spack Tag #3

Workflow file for this run

name: Check Packages Against Spack
on:
pull_request:
paths:
- repo/**/package.py
jobs:
diffPackages:
runs-on: ubuntu-22.04
steps:
- name: Checkout repository
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
- name: Add needed Python libs
run: |
pip install -r ./requirements.txt
# Step 4: Get the list of modified files and extract package names
- name: Get modified package names
id: get_modified_packages
run: |
# Handle first commit by comparing against an empty tree if HEAD^ doesn't exist
if git rev-parse HEAD^ >/dev/null 2>&1; then
MODIFIED_FILES=$(git diff --name-only HEAD^ HEAD | grep '^repo/')
else
MODIFIED_FILES=$(git diff --name-only $(git hash-object -t tree /dev/null) HEAD | grep '^repo/')
fi
# Extract package names (e.g., 'ad' from 'repo/ad/package.py')
PACKAGE_NAMES=$(echo "$MODIFIED_FILES" | sed -E 's|repo/([^/]+)/package.py|\1|' | sort -u)
echo "PACKAGE_NAMES=$PACKAGE_NAMES" >> $GITHUB_ENV
# Step 5: Run the diffPackages.py script with package names
- name: Run diffPackages.py
if: env.PACKAGE_NAMES != ''
run: |
./bin/benchpark-python lib/scripts/diffPackages.py --packages $PACKAGE_NAMES