Skip to content

Commit 21acc29

Browse files
Automate Publishing All Packages (#11)
1 parent 96594d0 commit 21acc29

1 file changed

Lines changed: 30 additions & 8 deletions

File tree

.github/workflows/publish-packages.yml

Lines changed: 30 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -40,16 +40,28 @@ jobs:
4040
4141
# Publish packages in dependency order
4242
# dart-lang/setup-dart handles OIDC token provisioning automatically
43-
# Adding delays between publishes to allow pub.dev to index each package
4443

4544
- name: Publish dart_node_core
4645
run: |
4746
cd packages/dart_node_core
4847
dart pub get
4948
dart pub publish --force
5049
51-
- name: Wait for pub.dev to index dart_node_core
52-
run: sleep 30
50+
- name: Wait for dart_node_core on pub.dev
51+
env:
52+
VERSION: ${{ steps.version.outputs.VERSION }}
53+
run: |
54+
echo "Waiting for dart_node_core $VERSION to be available on pub.dev..."
55+
for i in {1..60}; do
56+
if curl -s "https://pub.dev/api/packages/dart_node_core/versions/$VERSION" | grep -q '"version"'; then
57+
echo "dart_node_core $VERSION is now available!"
58+
exit 0
59+
fi
60+
echo "Attempt $i/60: Not yet available, waiting 10 seconds..."
61+
sleep 10
62+
done
63+
echo "Timeout waiting for dart_node_core to be available"
64+
exit 1
5365
5466
- name: Publish dart_node_express
5567
run: |
@@ -63,17 +75,27 @@ jobs:
6375
dart pub get
6476
dart pub publish --force
6577
66-
- name: Wait for pub.dev to index before dart_node_react
67-
run: sleep 30
68-
6978
- name: Publish dart_node_react
7079
run: |
7180
cd packages/dart_node_react
7281
dart pub get
7382
dart pub publish --force
7483
75-
- name: Wait for pub.dev to index dart_node_react
76-
run: sleep 30
84+
- name: Wait for dart_node_react on pub.dev
85+
env:
86+
VERSION: ${{ steps.version.outputs.VERSION }}
87+
run: |
88+
echo "Waiting for dart_node_react $VERSION to be available on pub.dev..."
89+
for i in {1..60}; do
90+
if curl -s "https://pub.dev/api/packages/dart_node_react/versions/$VERSION" | grep -q '"version"'; then
91+
echo "dart_node_react $VERSION is now available!"
92+
exit 0
93+
fi
94+
echo "Attempt $i/60: Not yet available, waiting 10 seconds..."
95+
sleep 10
96+
done
97+
echo "Timeout waiting for dart_node_react to be available"
98+
exit 1
7799
78100
- name: Publish dart_node_react_native
79101
run: |

0 commit comments

Comments
 (0)