Commit 03f5fd0c authored by Tushar Shah's avatar Tushar Shah

add awk script to ignore single and multi line comments & require only 1 match

parent 93f38e6d
...@@ -1240,16 +1240,40 @@ jobs: ...@@ -1240,16 +1240,40 @@ jobs:
- image: us-docker.pkg.dev/oplabs-tools-artifacts/images/ci-builder:latest - image: us-docker.pkg.dev/oplabs-tools-artifacts/images/ci-builder:latest
steps: steps:
- checkout - checkout
- run:
name: Filter comments and match only 1 script
command: |
SCRIPT=$(cat <<'EOF'
BEGIN { in_comment = 0; matches = 0; }
/^ *\/\*/ { in_comment = 1; }
in_comment && /\*\// { in_comment = 0; next; }
!in_comment && !/^ *\/\// && /PATTERN/ { matches++; matched_line = $0; }
END {
if (matches == 1) {
print matched_line;
} else if (matches > 1) {
print "Multiple matches found. Exiting.";
exit 1;
} else {
print "No matches found. Exiting.";
exit 1;
}
}
EOF
)
echo "export SCRIPT=$SCRIPT" >> $BASH_ENV
- run: - run:
name: Extract value from file1 name: Extract value from file1
command: | command: |
VALUE1=$(grep '<< parameters.pattern_file1 >>' << parameters.file1_path >> | awk -F'=' '{print $2}' | tr -d ' ;') VALUE1=$(echo "$SCRIPT" | awk -v PATTERN='<< parameters.pattern_file1 >>' -f- << parameters.file1_path >> | awk -F'=' '{print $2}' | tr -d ' ;')
echo "export VALUE1=$VALUE1" >> $BASH_ENV echo "export VALUE1=$VALUE1" >> $BASH_ENV
- run: - run:
name: Extract value from file2 name: Extract value from file2
command: | command: |
VALUE2=$(grep '<< parameters.pattern_file2 >>' << parameters.file2_path >> | awk -F'=' '{print $2}' | tr -d ' ;') VALUE2=$(echo "$SCRIPT" | awk -v PATTERN='<< parameters.pattern_file2 >>' -f- << parameters.file2_path >> | awk -F'=' '{print $2}' | tr -d ' ;')
echo "export VALUE2=$VALUE2" >> $BASH_ENV echo "export VALUE2=$VALUE2" >> $BASH_ENV
- run: - run:
name: Compare values name: Compare values
command: | command: |
...@@ -1260,6 +1284,7 @@ jobs: ...@@ -1260,6 +1284,7 @@ jobs:
echo "Values match!" echo "Values match!"
fi fi
workflows: workflows:
main: main:
when: when:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment