Skip to content

17967 bug look into async options prop for business unit id for trustpilot returning bad info #6015

17967 bug look into async options prop for business unit id for trustpilot returning bad info

17967 bug look into async options prop for business unit id for trustpilot returning bad info #6015

Workflow file for this run

# TODO combine this with publish-components.yml
name: Components Checks
on:
pull_request:
branches:
- master
paths:
- 'components/**'
jobs:
check_version:
name: Ensure component commits modify component versions
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: write
steps:
- uses: actions/[email protected]
name: Checkout repo
with:
# See https://github.com/actions/checkout#checkout-v2
# This will be slow. The intent is to fetch all commits
# since the merge-base (the commit where we branched off)
# so we can check the git diff against all changed files.
# By default, the checkout action only returns the last commit,
# There's no native way to do this in the checkout action, so
# we have to fetch the entire history. See
# https://github.com/actions/checkout/issues/266#issuecomment-638346893
fetch-depth: 0
- uses: Ana06/[email protected]
id: changed_files
name: Get changed files
with:
format: json
- name: Check git diff for version changes
uses: ./.github/actions/git-diff-on-components
with:
all_files: ${{ steps.changed_files.outputs.all }}
base_commit: ${{ github.event.pull_request.base.sha }}
head_commit: ${{ github.event.pull_request.head.sha }}
verify-typescript-components:
name: Verify TypeScript components
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/[email protected]
- uses: pnpm/[email protected]
with:
version: 9.14.2
- name: Get pnpm store directory
id: pnpm-cache
run: |
echo "::set-output name=pnpm_cache_dir::$(pnpm store path)"
- uses: actions/cache@v4
name: Setup pnpm cache
with:
path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-
- name: Setup Node Env
uses: actions/[email protected]
with:
node-version: 18
registry-url: https://registry.npmjs.org/
cache: 'pnpm'
- name: Install Dependencies
run: pnpm install -r
- name: Compile TypeScript
id: compile
run: pnpm run build > files.txt
- name: Get Changed Files
id: files
uses: Ana06/[email protected]
with:
format: 'csv'
- name: Check For Compiled TypeScript Files
run: |
IFS=$'\n'
# Remove initial tsc output
output_files=$(cat files.txt | sed 1,3d)
declare -a ERRORS
declare -a SKIPPED
mapfile -d ',' -t added_modified_renamed_files < <(printf '%s,%s' '${{ steps.files.outputs.added_modified }}' '${{ steps.files.outputs.renamed }}')
for added_modified_file in "${added_modified_renamed_files[@]}";
do
echo "Checking if $added_modified_file is a publishable ts file"
if [[ $added_modified_file == components/* ]] && [[ $added_modified_file == *.ts ]] && [[ $added_modified_file != *.app.ts ]] \
&& [[ $added_modified_file != */common*.ts ]] && [[ $added_modified_file != */common/* ]]
then
# XXX This is a hacky way to publish only TS components with changes. If a changed
# file "path-a/path-b/c.ts" has a corresponding compiled output file
# "path-a/dist/path-b/c.mjs", attempt to publish the output `.mjs` file.
changed_output_file=""
for f in $output_files; # check each output file for a match
do
# Replaces /dist/path/filename.mjs with /path/filename.ts
maybe_source_file=$(echo "$f" | sed 's/\/dist\//\//;s/.mjs/\.ts/')
if [[ ${maybe_source_file} == **/${added_modified_file} ]]
then
changed_output_file=${f}
break
fi
done
if [[ $changed_output_file == "" ]]
then
ERROR_MESSAGE="cannot find an output .mjs file with ${added_modified_file}"
echo $ERROR_MESSAGE
ERRORS+=("*${ERROR_MESSAGE}")
fi
else
echo "$added_modified_file will not be added to the registry"
SKIPPED+=("*$added_modified_file")
fi
done
if [[ ${#SKIPPED[@]} -ne 0 ]]; then
echo "the following files were skipped:"
printf '%s\n' "${SKIPPED[@]}"
fi
if [[ ${#ERRORS[@]} -ne 0 ]]; then
echo "the following files generated errors:"
printf '%s\n' "${ERRORS[@]}"
echo "Please check if the components above were successfully compiled"
echo "More information here: https://pipedream.com/docs/components/typescript/#developing-typescript-components-in-the-pipedreamhq-pipedream-registry"
exit 1
fi
unset IFS
publish-typescript-components-dry-run:
name: Publish TypeScript components
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/[email protected]
- uses: pnpm/[email protected]
with:
version: 9.14.2
- name: Get pnpm store directory
id: pnpm-cache
run: |
echo "::set-output name=pnpm_cache_dir::$(pnpm store path)"
- uses: actions/cache@v4
name: Setup pnpm cache
with:
path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-
- name: Setup Node Env
uses: actions/[email protected]
with:
node-version: 18
registry-url: https://registry.npmjs.org/
cache: 'pnpm'
- name: Install Dependencies
run: pnpm install -r
- name: Compile TypeScript
id: compile
run: pnpm run build > files.txt
- name: Get Changed Files
id: files
uses: Ana06/[email protected]
with:
format: 'csv'
- name: Publish TypeScript components (dry run)
shell: bash {0} # don't fast fail
run: |
IFS=$'\n'
mapfile -d ',' -t added_modified_renamed_files < <(printf '%s,%s' '${{ steps.files.outputs.added_modified }}' '${{ steps.files.outputs.renamed }}')
# Remove initial tsc output
output_files=$(cat files.txt | sed 1,3d)
echo "The following files will be published on merge:"
for added_modified_file in "${added_modified_renamed_files[@]}";
do
# starts with components, ends with .ts and not app.ts, doesn't end with /common*.ts,
# and doesn't follow */common/
if [[ $added_modified_file == components/* ]] && [[ $added_modified_file == *.ts ]] && [[ $added_modified_file != *.app.ts ]] \
&& [[ $added_modified_file != */common*.ts ]] && [[ $added_modified_file != */common/* ]]
then
# XXX This is a hacky way to publish only TS components with changes. If a changed
# file "path-a/path-b/c.ts" has a corresponding compiled output file
# "path-a/dist/path-b/c.mjs", attempt to publish the output `.mjs` file.
for f in $output_files;
do
# Replaces /dist/path/filename.mjs with /path/filename.ts
maybe_source_file=$(echo "$f" | sed 's/\/dist\//\//;s/.mjs/\.ts/')
if [[ ${maybe_source_file} == **/${added_modified_file} ]]
then
echo "$f"
fi
done
fi
done
unset IFS