Skip to content

Commit 07f5f84

Browse files
authored
OPDATA-3845: Split changed-adapters.sh script (#4166)
* Copy .github/scripts/changed-adapters.sh * Move logic from changed-adapters.sh to list-packages-adapters.sh
1 parent 604ecdb commit 07f5f84

File tree

2 files changed

+46
-31
lines changed

2 files changed

+46
-31
lines changed
Lines changed: 6 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,16 @@
11
#!/bin/bash -e
22

3+
SOURCE_DIR=$(dirname "$0")
4+
35
# If BUILD_ALL is true, then we want to generate lists with all packages regardless of changes
46
if [[ $BUILD_ALL = true ]]; then
5-
PACKAGE_LIST=$(yarn workspaces list -R --json)
7+
CHANGED_PACKAGES_AND_ADAPTERS=$("$SOURCE_DIR/list-packages-adapters.sh")
68
else
7-
PACKAGE_LIST=$(yarn workspaces list -R --json --since=$UPSTREAM_BRANCH)
9+
CHANGED_PACKAGES_AND_ADAPTERS=$("$SOURCE_DIR/list-packages-adapters.sh" "$UPSTREAM_BRANCH")
810
fi
911

10-
# The yarn command used above will give us a list of the packages that have changed (including changes by dependencies)
11-
CHANGED_PACKAGES=$(
12-
echo $PACKAGE_LIST \
13-
| jq -cs '.' \
14-
| jq -cr '[.[] | select(.location | startswith("packages"))]' \
15-
)
16-
17-
# Add versions to the packages
18-
CHANGED_PACKAGES=$(
19-
for package in $(echo $CHANGED_PACKAGES | jq -c '.[]'); do
20-
location=$(echo $package | jq -r '.location')
21-
version=$(jq '.version' $location/package.json)
22-
echo $package | jq -c ".version = $version"
23-
done | jq -cs '.'
24-
)
25-
26-
# Build a list to use with matrix strategies
27-
CHANGED_ADAPTERS=$(
28-
echo $CHANGED_PACKAGES \
29-
| jq -cr '{
30-
adapter: [
31-
.[]
32-
| select(
33-
.location
34-
| startswith("packages/sources") or startswith("packages/composites") or startswith("packages/targets"))
35-
| .shortName = (.name | match("@chainlink/(.*)-adapter").captures[0].string)
36-
]
37-
}'
38-
)
12+
CHANGED_PACKAGES=$(echo $CHANGED_PACKAGES_AND_ADAPTERS | jq -c '.packages')
13+
CHANGED_ADAPTERS=$(echo $CHANGED_PACKAGES_AND_ADAPTERS | jq -c '{adapter: .adapters}')
3914

4015
echo "CHANGED_PACKAGES=$CHANGED_PACKAGES" >> $GITHUB_OUTPUT
4116
echo "CHANGED_ADAPTERS=$CHANGED_ADAPTERS" >> $GITHUB_OUTPUT
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
#!/bin/bash -e
2+
3+
SOURCE_DIR="$(dirname "$0")"
4+
5+
UPSTREAM_BRANCH="${1:-}"
6+
7+
if [[ -z "$UPSTREAM_BRANCH" ]]; then
8+
PACKAGE_LIST=$(yarn workspaces list -R --json)
9+
else
10+
PACKAGE_LIST=$(yarn workspaces list -R --json --since=$UPSTREAM_BRANCH)
11+
fi
12+
13+
# The yarn command used above will give us a list of the packages that have changed (including changes by dependencies)
14+
CHANGED_PACKAGES=$(
15+
echo $PACKAGE_LIST \
16+
| jq -cs '.' \
17+
| jq -cr '[.[] | select(.location | startswith("packages"))]' \
18+
)
19+
20+
# Add versions to the packages
21+
CHANGED_PACKAGES=$(
22+
for package in $(echo $CHANGED_PACKAGES | jq -c '.[]'); do
23+
location=$(echo $package | jq -r '.location')
24+
version=$(jq '.version' $location/package.json)
25+
echo $package | jq -c ".version = $version"
26+
done | jq -cs '.'
27+
)
28+
29+
# Build a list to use with matrix strategies
30+
echo $CHANGED_PACKAGES \
31+
| jq -cr '{
32+
packages: .,
33+
adapters: [
34+
.[]
35+
| select(
36+
.location
37+
| startswith("packages/sources") or startswith("packages/composites") or startswith("packages/targets"))
38+
| .shortName = (.name | match("@chainlink/(.*)-adapter").captures[0].string)
39+
]
40+
}'

0 commit comments

Comments
 (0)