Fix syntax for workflow update testing #30
Workflow file for this run
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: Update | |
on: | |
pull_request: | |
branches: [main] | |
jobs: | |
ruletype-update: | |
runs-on: ubuntu-latest | |
name: Check ruletype validate-update | |
steps: | |
- name: Checkout current | |
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 | |
with: | |
fetch-depth: ${{github.event_name == 'pull_request' && 2 || 0}} | |
- name: Checkout comparison branch (main) in subdirectory | |
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 | |
with: | |
# Checkout the comparison branch (main) into a subdirectory | |
ref: main | |
path: before_files | |
- name: Set up Go | |
uses: actions/setup-go@41dfa10bad2bb2ae585af6ee5bb4d7d973ad74ed # v5 | |
with: | |
check-latest: true | |
- name: Determine Changed Files | |
run: | | |
# Fail the script if any command fails | |
set -e | |
git branch -a | |
# Determine the current branch and compare branch (default to 'main') | |
GITHUB_BRANCH=remotes/${GITHUB_REF#*/} | |
COMPARE_BRANCH="main" | |
git log | |
# Show changed files between the current branch and the comparison branch | |
# See https://stackoverflow.com/a/74268200 for why diffing with HEAD^1 is used | |
echo "Comparing $GITHUB_BRANCH (from '$GITHUB_REF') with $COMPARE_BRANCH..." | |
CHANGED_FILES=$(git diff --name-only -r HEAD^1 HEAD) | |
echo $CHANGED_FILES | |
echo ---- | |
git diff --name-only "$COMPARE_BRANCH" "$GITHUB_BRANCH" | |
if [ -z "$CHANGED_FILES" ]; then | |
echo "No changes found." | |
else | |
echo "Files changed in branch $GITHUB_BRANCH (compared to $COMPARE_BRANCH):" | |
echo "$CHANGED_FILES" | |
# Set the output to be used in later GitHub Action steps | |
echo "changed_files=$CHANGED_FILES" >> $GITHUB_ENV | |
fi | |
- name: Run go command on each changed file | |
run: | | |
# Fail the script if any command fails | |
set -e | |
go build -o ./mindev github.com/mindersec/minder/cmd/dev@latest | |
# Loop through the changed files and run the go command for each | |
for FILE in ${{ env.changed_files }}; do | |
echo "Processing file: $FILE" | |
# Path to the "before" file in the subdirectory (from main branch) | |
BEFORE_FILE="before_files/$FILE" | |
AFTER_FILE="$FILE" | |
if [ -f "$BEFORE_FILE" ]; then | |
echo "Running ruletype validate-update command for $BEFORE_FILE and $AFTER_FILE..." | |
# Run the go command with the before and after files | |
./mindev ruletype validate-update --before "$BEFORE_FILE" --after "$AFTER_FILE" | |
else | |
echo "Warning: $BEFORE_FILE does not exist, skipping." | |
fi | |
done |