Skip to content

Commit 45deb93

Browse files
authored
Merge pull request #2977 from opentensor/feat/roman/add-labels-checker
Add labels checker
2 parents edf482e + f09d690 commit 45deb93

File tree

1 file changed

+57
-28
lines changed

1 file changed

+57
-28
lines changed

.github/workflows/e2e-subtensor-tests.yaml

Lines changed: 57 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,14 @@
11
name: E2E Subtensor Tests
22

33
concurrency:
4-
group: e2e-subtensor-${{ github.ref }}
4+
group: e2e-subtensor-${{ github.event.pull_request.number || github.ref }}
55
cancel-in-progress: true
66

77
on:
8-
push:
9-
branches:
10-
- '**'
118
pull_request:
129
branches:
1310
- '**'
14-
types: [ opened, synchronize, reopened, ready_for_review ]
11+
types: [ opened, synchronize, reopened, ready_for_review, labeled, unlabeled ]
1512

1613
workflow_dispatch:
1714
inputs:
@@ -29,7 +26,7 @@ jobs:
2926
# Looking for e2e tests
3027
find-tests:
3128
runs-on: ubuntu-latest
32-
if: ${{ github.event_name != 'pull_request' || github.event.pull_request.draft == false }}
29+
if: ${{ github.event.pull_request.draft == false }}
3330
outputs:
3431
test-files: ${{ steps.get-tests.outputs.test-files }}
3532
steps:
@@ -50,28 +47,61 @@ jobs:
5047
pull-docker-image:
5148
runs-on: ubuntu-latest
5249
outputs:
53-
image-name: ${{ steps.set-output.outputs.image-name }}
50+
image-name: ${{ steps.set-image.outputs.image }}
5451
steps:
55-
- name: Set Docker image tag based on branch
56-
id: set-output
52+
- name: Set Docker image tag based on label or branch
53+
id: set-image
5754
run: |
58-
ref="${{ github.ref_name }}"
59-
if [[ "$ref" == "master" ]]; then
60-
image="ghcr.io/opentensor/subtensor-localnet:main"
55+
echo "Event: $GITHUB_EVENT_NAME"
56+
echo "Branch: $GITHUB_REF_NAME"
57+
58+
echo "Reading labels ..."
59+
if [[ "${GITHUB_EVENT_NAME}" == "pull_request" ]]; then
60+
labels=$(jq -r '.pull_request.labels[].name' "$GITHUB_EVENT_PATH")
6161
else
62-
image="ghcr.io/opentensor/subtensor-localnet:devnet-ready"
62+
labels=""
63+
fi
64+
65+
image=""
66+
67+
for label in $labels; do
68+
echo "Found label: $label"
69+
case "$label" in
70+
"subtensor-localnet:main")
71+
image="ghcr.io/opentensor/subtensor-localnet:main"
72+
break
73+
;;
74+
"subtensor-localnet:testnet")
75+
image="ghcr.io/opentensor/subtensor-localnet:testnet"
76+
break
77+
;;
78+
"subtensor-localnet:devnet")
79+
image="ghcr.io/opentensor/subtensor-localnet:devnet"
80+
break
81+
;;
82+
esac
83+
done
84+
85+
if [[ -z "$image" ]]; then
86+
# fallback to default based on branch
87+
if [[ "${GITHUB_REF_NAME}" == "master" ]]; then
88+
image="ghcr.io/opentensor/subtensor-localnet:main"
89+
else
90+
image="ghcr.io/opentensor/subtensor-localnet:devnet-ready"
91+
fi
6392
fi
64-
echo "Using image: $image"
65-
echo "image-name=$image" >> "$GITHUB_OUTPUT"
93+
94+
echo "✅ Final selected image: $image"
95+
echo "image=$image" >> "$GITHUB_OUTPUT"
6696

6797
- name: Log in to GitHub Container Registry
6898
run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u $GITHUB_ACTOR --password-stdin
6999

70100
- name: Pull Docker Image
71-
run: docker pull ${{ steps.set-output.outputs.image-name }}
101+
run: docker pull ${{ steps.set-image.outputs.image }}
72102

73103
- name: Save Docker Image to Cache
74-
run: docker save -o subtensor-localnet.tar ${{ steps.set-output.outputs.image-name }}
104+
run: docker save -o subtensor-localnet.tar ${{ steps.set-image.outputs.image }}
75105

76106
- name: Upload Docker Image as Artifact
77107
uses: actions/upload-artifact@v4
@@ -122,22 +152,21 @@ jobs:
122152
env:
123153
LOCALNET_IMAGE_NAME: ${{ needs.pull-docker-image.outputs.image-name }}
124154
run: |
125-
set +e
126155
for i in 1 2 3; do
127-
echo "🔁 Attempt $i: Running tests"
128-
uv run pytest ${{ matrix.test-file }} -s
129-
status=$?
130-
if [ $status -eq 0 ]; then
156+
echo "::group::🔁 Test attempt $i"
157+
if uv run pytest ${{ matrix.test-file }} -s; then
131158
echo "✅ Tests passed on attempt $i"
132-
break
159+
echo "::endgroup::"
160+
exit 0
133161
else
134162
echo "❌ Tests failed on attempt $i"
135-
if [ $i -eq 3 ]; then
136-
echo "Tests failed after 3 attempts"
137-
exit 1
163+
echo "::endgroup::"
164+
if [ "$i" -lt 3 ]; then
165+
echo "Retrying..."
166+
sleep 5
138167
fi
139-
echo "Retrying..."
140-
sleep 5
141168
fi
142169
done
143170
171+
echo "Tests failed after 3 attempts"
172+
exit 1

0 commit comments

Comments
 (0)