Skip to content

Commit 23e4ad4

Browse files
committed
adapt nightly action so that it also triggers the screenshot tests if the commit contains a specific phrase (then it will be executed on the current branch)
1 parent c19ef21 commit 23e4ad4

File tree

1 file changed

+40
-10
lines changed

1 file changed

+40
-10
lines changed

.github/workflows/nightly.yml

+40-10
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,11 @@ on:
55
schedule:
66
# Runs every day at 12:00 AM UTC
77
- cron: '0 0 * * *'
8+
push:
9+
branches: ["*"] # Trigger on any branch
10+
11+
env:
12+
BRANCH_NAME: master # Default branch for cron triggers
813

914
jobs:
1015
nightly-screenshot-tests:
@@ -14,11 +19,36 @@ jobs:
1419
- name: Checkout code
1520
uses: actions/checkout@v3
1621

22+
- name: Determine Trigger Source
23+
id: trigger-source
24+
run: |
25+
if [[ "${{ github.event_name }}" == "push" ]]; then
26+
LAST_COMMIT_MESSAGE=$(git log -1 --pretty=%B)
27+
echo "Last commit message: $LAST_COMMIT_MESSAGE"
28+
if [[ "$LAST_COMMIT_MESSAGE" == *"trigger screenshot tests"* ]]; then
29+
echo "TRIGGER_SNAPSHOT_TESTS=true" >> $GITHUB_ENV
30+
echo "BRANCH_NAME=${{ github.ref_name }}" >> $GITHUB_ENV
31+
else
32+
echo "TRIGGER_SNAPSHOT_TESTS=false" >> $GITHUB_ENV
33+
fi
34+
else
35+
echo "TRIGGER_SNAPSHOT_TESTS=true" >> $GITHUB_ENV
36+
fi
37+
38+
- name: Skip if Not a Trigger
39+
if: env.TRIGGER_SNAPSHOT_TESTS == 'false'
40+
run: echo "Skipping workflow as the commit message did not contain 'trigger screenshot tests'."
41+
42+
- name: Set sanitized branch name
43+
id: sanitize-branch
44+
run: |
45+
echo "SANITIZED_BRANCH_NAME=$(echo $BRANCH_NAME | tr -dc '[:alpha:]' | tr '[:upper:]' '[:lower:]')" >> $GITHUB_ENV
46+
1747
- name: Remove dev-deployment
1848
run: |
1949
curl -X POST \
2050
-H "X-Auth-Token: ${{ secrets.RELEASE_API_TOKEN }}" \
21-
https://kubernetix.scm.io/hooks/remove/webknossos/dev/master?user=CI+%28nightly%29
51+
https://kubernetix.scm.io/hooks/remove/webknossos/dev/${{ env.SANITIZED_BRANCH_NAME }}?user=CI+%28nightly%29
2252
2353
- name: Wait 3 minutes
2454
run: sleep 180
@@ -27,32 +57,32 @@ jobs:
2757
run: |
2858
curl -X POST \
2959
-H "X-Auth-Token: ${{ secrets.RELEASE_API_TOKEN }}" \
30-
https://kubernetix.scm.io/hooks/install/webknossos/dev/master?user=CI+%28nightly%29
60+
https://kubernetix.scm.io/hooks/install/webknossos/dev/${{ env.SANITIZED_BRANCH_NAME }}?user=CI+%28nightly%29
3161
3262
- uses: actions/setup-node@v4
3363
with:
34-
node-version: 18
64+
node-version: 18
3565

3666
- name: Install dependencies and wait
3767
run: |
38-
corepack enable && yarn install --immutable &
39-
sleep 180 &
40-
wait
68+
corepack enable && yarn install --immutable &
69+
sleep 180 &
70+
wait
4171
4272
- name: Refresh datasets
4373
run: |
44-
curl -X POST --fail https://master.webknossos.xyz/data/triggers/checkInboxBlocking?token=${{ secrets.WK_AUTH_TOKEN }}
74+
curl -X POST --fail https://${{ env.SANITIZED_BRANCH_NAME }}.webknossos.xyz/data/triggers/checkInboxBlocking?token=${{ secrets.WK_AUTH_TOKEN }}
4575
4676
- name: Run screenshot tests
4777
run: |
48-
URL=https://master.webknossos.xyz/ \
78+
URL=https://${{ env.SANITIZED_BRANCH_NAME }}.webknossos.xyz/ \
4979
timeout 3000 \
5080
yarn test-screenshot
5181
env:
52-
URL: https://master.webknossos.xyz/
82+
URL: https://${{ env.SANITIZED_BRANCH_NAME }}.webknossos.xyz/
5383
WK_AUTH_TOKEN: ${{ secrets.WK_AUTH_TOKEN }}
5484
BROWSERSTACK_USERNAME: ${{ secrets.BROWSERSTACK_USERNAME }}
55-
BROWSERSTACK_ACCESS_KEY : ${{ secrets.BROWSERSTACK_ACCESS_KEY }}
85+
BROWSERSTACK_ACCESS_KEY: ${{ secrets.BROWSERSTACK_ACCESS_KEY }}
5686

5787
- name: Upload screenshots as artifact
5888
uses: actions/upload-artifact@v4

0 commit comments

Comments
 (0)