[WIP] Script to Compare Packages in Benchpark Against Spack Tag #3
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
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 |