Skip to content

Commit 1730a16

Browse files
authored
chore: address zizmor complaints (#2)
1 parent c422d5e commit 1730a16

1 file changed

Lines changed: 66 additions & 29 deletions

File tree

test-workflow.yml

Lines changed: 66 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,15 @@ on: issues
33

44
jobs:
55
test-task-creation:
6+
permissions:
7+
contents: read
68
runs-on: ubuntu-latest
79
steps:
810
- name: Checkout code
911
uses: actions/checkout@v4
10-
12+
with:
13+
persist-credentials: false
14+
1115
- name: Test action - Create new task
1216
id: create_task
1317
uses: ./
@@ -22,30 +26,39 @@ jobs:
2226
github-token: ${{ secrets.GITHUB_TOKEN }}
2327
github-issue-url: ${{ github.event.issue.html_url }}
2428
comment-on-issue: "false"
25-
29+
2630
- name: Verify outputs from create
31+
env:
32+
TASK_CREATED: ${{ steps.create_task.outputs.task-created }}
33+
TASK_NAME: ${{ steps.create_task.outputs.task-name }}
34+
TASK_URL: ${{ steps.create_task.outputs.task-url }}
35+
CODER_USERNAME: ${{ steps.create_task.outputs.coder-username }}
2736
run: |
28-
echo "Task created: ${{ steps.create_task.outputs.task-created }}"
29-
echo "Task name: ${{ steps.create_task.outputs.task-name }}"
30-
echo "Task URL: ${{ steps.create_task.outputs.task-url }}"
31-
echo "Coder username: ${{ steps.create_task.outputs.coder-username }}"
32-
33-
# Verify outputs are not empty
34-
if [ -z "${{ steps.create_task.outputs.task-name }}" ]; then
35-
echo "ERROR: task-name output is empty"
37+
echo "Task created: ${TASK_CREATED}"
38+
echo "Task name: ${TASK_NAME}"
39+
echo "Task URL: ${TASK_URL}"
40+
echo "Coder username: ${CODER_USERNAME}"
41+
42+
# Verify outputs. These need to be kept in sync with test-event.json
43+
if [[ ${TASK_CREATED} != "true" ]]; then
44+
echo "ERROR: task-created output should be true"
3645
exit 1
3746
fi
38-
if [ -z "${{ steps.create_task.outputs.task-url }}" ]; then
39-
echo "ERROR: task-url output is empty"
47+
if [[ ${TASK_NAME} != "integration-test-1" ]]; then
48+
echo "ERROR: task-name output mismatch"
4049
exit 1
4150
fi
42-
if [ -z "${{ steps.create_task.outputs.coder-username }}" ]; then
43-
echo "ERROR: coder-username output is empty"
51+
if [[ ${CODER_USERNAME} != "testuser" ]]; then
52+
echo "ERROR: coder-username output mismatch"
4453
exit 1
4554
fi
46-
47-
echo "✅ All outputs present"
48-
55+
if [[ ! ${TASK_URL} =~ /tasks/${CODER_USERNAME}/[a-f0-9-]+$ ]]; then
56+
echo "ERROR: task-url output does not match expected format"
57+
exit 1
58+
fi
59+
60+
echo "✅ All outputs verified"
61+
4962
- name: Test action - Update existing task
5063
id: update_task
5164
uses: ./
@@ -60,24 +73,48 @@ jobs:
6073
github-token: ${{ secrets.GITHUB_TOKEN }}
6174
github-issue-url: ${{ github.event.issue.html_url }}
6275
comment-on-issue: "false"
63-
76+
6477
- name: Verify outputs from update
78+
env:
79+
PREV_TASK_NAME: ${{ steps.create_task.outputs.task-name }}
80+
PREV_TASK_URL: ${{ steps.create_task.outputs.task-url }}
81+
PREV_CODER_USERNAME: ${{ steps.create_task.outputs.coder-username }}
82+
TASK_CREATED: ${{ steps.update_task.outputs.task-created }}
83+
TASK_NAME: ${{ steps.update_task.outputs.task-name }}
84+
TASK_URL: ${{ steps.update_task.outputs.task-url }}
85+
CODER_USERNAME: ${{ steps.update_task.outputs.coder-username }}
6586
run: |
66-
echo "Task created: ${{ steps.update_task.outputs.task-created }}"
67-
echo "Task name: ${{ steps.update_task.outputs.task-name }}"
68-
87+
echo "Task created: ${TASK_CREATED}"
88+
echo "Task name: ${TASK_NAME}"
89+
echo "Task URL: ${TASK_URL}"
90+
echo "Coder username: ${CODER_USERNAME}"
91+
6992
# Verify task was not created (should be false for update)
70-
if [ "${{ steps.update_task.outputs.task-created }}" != "false" ]; then
71-
echo "ERROR: Expected task-created to be false for update, got: ${{ steps.update_task.outputs.task-created }}"
93+
if [[ "${TASK_CREATED}" != "false" ]]; then
94+
echo "ERROR: Expected task-created to be false for update, got: ${TASK_CREATED}"
7295
exit 1
7396
fi
74-
75-
# Verify task names match (same task)
76-
if [ "${{ steps.create_task.outputs.task-name }}" != "${{ steps.update_task.outputs.task-name }}" ]; then
97+
98+
# Verify other outputs match previous
99+
if [[ ${PREV_TASK_NAME} != "${TASK_NAME}" ]]; then
77100
echo "ERROR: Task names don't match"
78-
echo " Create: ${{ steps.create_task.outputs.task-name }}"
79-
echo " Update: ${{ steps.update_task.outputs.task-name }}"
101+
echo " Create: ${PREV_TASK_NAME}"
102+
echo " Update: ${TASK_NAME}"
103+
exit 1
104+
fi
105+
106+
if [[ ${PREV_TASK_URL} != "${TASK_URL}" ]]; then
107+
echo "ERROR: Task URLs don't match"
108+
echo " Create: ${PREV_TASK_URL}"
109+
echo " Update: ${TASK_URL}"
80110
exit 1
81111
fi
82-
112+
113+
if [[ ${PREV_CODER_USERNAME} != "${CODER_USERNAME}" ]]; then
114+
echo "ERROR: Coder usernames don't match"
115+
echo " Create: ${PREV_CODER_USERNAME}"
116+
echo " Update: ${CODER_USERNAME}"
117+
exit 1
118+
fi
119+
83120
echo "✅ Update task behavior verified"

0 commit comments

Comments
 (0)