@@ -3,10 +3,14 @@ on: issues
33
44jobs :
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
12+ with :
13+ persist-credentials : false
1014
1115 - name : Test action - Create new task
1216 id : create_task
@@ -24,27 +28,36 @@ jobs:
2428 comment-on-issue : " false"
2529
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 } }"
37+ echo "Task created: ${TASK_CREATED }"
38+ echo "Task name: ${TASK_NAME }"
39+ echo "Task URL: ${TASK_URL }"
40+ echo "Coder username: ${CODER_USERNAME }"
3241
33- # Verify outputs are not empty
34- if [ -z "${{ steps.create_task.outputs.task-name }}" ]; then
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 is empty"
45+ exit 1
46+ fi
47+ if [[ "${TASK_NAME}" != "integration-test-1" ]]; then
3548 echo "ERROR: task-name output is empty"
3649 exit 1
3750 fi
38- if [ -z "${{ steps.create_task.outputs.task-url }}" ]; then
51+ if [[ "${TASK_URL}" != "https://coder.test/tasks/testuser/*" ] ]; then
3952 echo "ERROR: task-url output is empty"
4053 exit 1
4154 fi
42- if [ -z "${{ steps.create_task.outputs.coder-username }}" ]; then
55+ if [[ "${CODER_USERNAME}" != "testuser" ] ]; then
4356 echo "ERROR: coder-username output is empty"
4457 exit 1
4558 fi
4659
47- echo "✅ All outputs present "
60+ echo "✅ All outputs verified "
4861
4962 - name : Test action - Update existing task
5063 id : update_task
@@ -62,22 +75,45 @@ jobs:
6275 comment-on-issue : " false"
6376
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 }}"
87+ echo "Task created: ${TASK_CREATED}"
88+ echo "Task name: ${TASK_NAME}"
89+ echo "Task URL: ${TASK_URL}"
90+ echo "Coder username: ${CODER_USERNAME}"
6891
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
7497
75- # Verify task names match (same task)
76- if [ "${{ steps.create_task.outputs.task-name }} " != "${{ steps.update_task.outputs.task-name }}" ]; then
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
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
82118
83119 echo "✅ Update task behavior verified"
0 commit comments