@suffolklitlab/alkiln 5.13.0-logs3 ā 5.13.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/github_server.yml +8 -8
- package/.github/workflows/playground.yml +3 -3
- package/CHANGELOG.md +1 -0
- package/action.yml +28 -70
- package/action_for_github_server/action.yml +29 -61
- package/lib/docassemble/docassemble_api_interface.js +34 -63
- package/lib/docassemble/server_install.js +9 -23
- package/lib/docassemble/setup.js +20 -33
- package/lib/docassemble/takedown.js +7 -27
- package/lib/run_cucumber.js +33 -81
- package/lib/scope.js +75 -61
- package/lib/steps.js +41 -70
- package/lib/utils/files.js +6 -8
- package/lib/utils/log.js +84 -477
- package/lib/utils/reports.js +4 -13
- package/lib/utils/session_vars.js +18 -25
- package/lib/utils/time.js +0 -44
- package/npm-shrinkwrap.json +19 -15
- package/package.json +2 -2
- package/tests/log_codes/check_codes.sh +1 -2
- package/tests/log_codes/log_code_expected_instances.txt +7 -11
- package/tests/unit_tests/getAllFields.test.js +0 -5
- package/tests/unit_tests/getMatchingRows.test.js +0 -5
- package/tests/unit_tests/normalizeTable.test.js +0 -5
- package/docs/decisions/006_which_log_level_to_pick_2024_09_5.md +0 -46
- package/docs/decisions/reports_and_logs_2024_08_11.md +0 -141
- package/tests/unit_tests/log.test.js +0 -20
|
@@ -45,15 +45,15 @@ jobs:
|
|
|
45
45
|
#### keyword or values at all. See
|
|
46
46
|
#### https://assemblyline.suffolklitlab.org/docs/alkiln/writing#env-vars
|
|
47
47
|
env:
|
|
48
|
-
NORMAL_USER_EMAIL: alkiln@example.com
|
|
49
|
-
NORMAL_USER_PASSWORD: User123^
|
|
50
|
-
WRONG_EMAIL: wrong_email@example.com
|
|
51
|
-
WRONG_PASSWORD: wrong_password
|
|
52
|
-
INVALID_API_KEY: invalidAPIkey
|
|
53
|
-
EMPTY_STRING: ""
|
|
54
48
|
SECRET_VAR1: secret-var1-value
|
|
55
49
|
SECRET_VAR2: secret-var2-value
|
|
56
50
|
SECRET_FOR_MISSING_FIELD: secret for missing field
|
|
51
|
+
INVALID_API_KEY: invalidAPIkey
|
|
52
|
+
EMPTY_STRING: ""
|
|
53
|
+
NORMAL_USER_EMAIL: alkiln@example.com
|
|
54
|
+
NORMAL_USER_PASSWORD: User123^
|
|
55
|
+
WRONG_EMAIL=wrong_email@example.com
|
|
56
|
+
WRONG_PASSWORD=wrong_password
|
|
57
57
|
|
|
58
58
|
steps:
|
|
59
59
|
# Place the root directory in this branch to access
|
|
@@ -160,7 +160,7 @@ jobs:
|
|
|
160
160
|
#### Developer note: You can probably leave the rest out
|
|
161
161
|
#### To learn more, see https://assemblyline.suffolklitlab.org/docs/alkiln/writing/#optional-inputs
|
|
162
162
|
ALKILN_TAG_EXPRESSION: "${{ env.ALKILN_TAG_EXPRESSION }}"
|
|
163
|
-
ALKILN_VERSION:
|
|
163
|
+
ALKILN_VERSION: delete
|
|
164
164
|
|
|
165
165
|
#### Developer note: Example of making an issue when tests fail
|
|
166
166
|
#### that includes the text of the failure output file
|
|
@@ -169,7 +169,7 @@ jobs:
|
|
|
169
169
|
if: ${{ failure() }}
|
|
170
170
|
env:
|
|
171
171
|
GH_TOKEN: ${{ github.token }}
|
|
172
|
-
|
|
172
|
+
PATH_TO_REPORT_FILE: "${{ steps.alkiln.outputs.PATH_TO_REPORT_FILE }}"
|
|
173
173
|
PATH_TO_UNEXPECTED_RESULTS_FILE: "${{ steps.alkiln.outputs.PATH_TO_UNEXPECTED_RESULTS_FILE }}"
|
|
174
174
|
PATH_TO_DEBUG_LOG_FILE: "${{ steps.alkiln.outputs.PATH_TO_DEBUG_LOG_FILE }}"
|
|
175
175
|
run: |
|
|
@@ -47,8 +47,8 @@ jobs:
|
|
|
47
47
|
NORMAL_USER_PASSWORD: ${{ secrets.USER_NO_PERMISSIONS_PASSWORD }}
|
|
48
48
|
NORMAL_USER_API_KEY: ${{ secrets.USER_NO_PERMISSIONS_API_KEY }}
|
|
49
49
|
INVALID_API_KEY: invalidAPIkey
|
|
50
|
-
WRONG_EMAIL
|
|
51
|
-
WRONG_PASSWORD
|
|
50
|
+
WRONG_EMAIL=wrong_email@example.com
|
|
51
|
+
WRONG_PASSWORD=wrong_password
|
|
52
52
|
EMPTY_STRING: ""
|
|
53
53
|
SECRET_VAR1: secret-var1-value
|
|
54
54
|
SECRET_VAR2: secret-var2-value
|
|
@@ -81,4 +81,4 @@ jobs:
|
|
|
81
81
|
# want to check up on this.
|
|
82
82
|
ALKILN_TAG_EXPRESSION: "${{ env.ALKILN_TAG_EXPRESSION }}"
|
|
83
83
|
#### Developer note: You can probably leave this out
|
|
84
|
-
ALKILN_VERSION:
|
|
84
|
+
ALKILN_VERSION: delete
|
package/CHANGELOG.md
CHANGED
package/action.yml
CHANGED
|
@@ -41,9 +41,6 @@ outputs:
|
|
|
41
41
|
PATH_TO_REPORT_FILE:
|
|
42
42
|
description: 'An empty string ("") or the path to report.txt. Remember to check for the existence of the file before using it.'
|
|
43
43
|
value: ${{ steps.alkiln_outputs.outputs.PATH_TO_REPORT_FILE }}
|
|
44
|
-
PATH_TO_REPORT_LOG_FILE:
|
|
45
|
-
description: 'An empty string ("") or the path to report_log.txt. Remember to check for the existence of the file before using it.'
|
|
46
|
-
value: ${{ steps.alkiln_outputs.outputs.PATH_TO_REPORT_LOG_FILE }}
|
|
47
44
|
PATH_TO_UNEXPECTED_RESULTS_FILE:
|
|
48
45
|
description: 'An empty string ("") or the path to unexpected_results.txt. Remember to check for the existence of the file before using it.'
|
|
49
46
|
value: ${{ steps.alkiln_outputs.outputs.PATH_TO_UNEXPECTED_RESULTS_FILE }}
|
|
@@ -70,20 +67,9 @@ runs:
|
|
|
70
67
|
DOCASSEMBLECLI_VERSION: ${{ inputs.DOCASSEMBLECLI_VERSION }}
|
|
71
68
|
shell: bash
|
|
72
69
|
run: |
|
|
73
|
-
|
|
74
|
-
|
|
70
|
+
# š” ALK0023 INFO: Set environment variables
|
|
75
71
|
# Human-readable date/time: https://www.shell-tips.com/linux/how-to-format-date-and-time-in-linux-macos-and-bash/#how-to-format-a-date-in-bash
|
|
76
|
-
|
|
77
|
-
artifact_folder="alkiln-${timestamp}UTC"
|
|
78
|
-
debug_path="${artifact_folder}/debug_log.txt"
|
|
79
|
-
mkdir -p "$artifact_folder"
|
|
80
|
-
echo "$log" >> "$debug_path"
|
|
81
|
-
|
|
82
|
-
# Action-specific vars
|
|
83
|
-
echo "ARTIFACT_FOLDER=$artifact_folder" >> $GITHUB_ENV
|
|
84
|
-
echo "DEBUG_PATH=$debug_path" >> $GITHUB_ENV
|
|
85
|
-
|
|
86
|
-
# Required for all tests
|
|
72
|
+
echo "ARTIFACT_NAME=alkiln-$(date +'%Y-%m-%d at %Hh%Mm%Ss' -u)UTC" >> $GITHUB_ENV
|
|
87
73
|
echo "REPO_URL=${{ github.server_url }}/${{ github.repository }}" >> $GITHUB_ENV
|
|
88
74
|
echo "BRANCH_PATH=$BRANCH_PATH" >> $GITHUB_ENV
|
|
89
75
|
# Workflow inputs
|
|
@@ -98,21 +84,18 @@ runs:
|
|
|
98
84
|
- name: "š” ALK0024 INFO: Confirm environment variables"
|
|
99
85
|
shell: bash
|
|
100
86
|
run: |
|
|
101
|
-
|
|
102
|
-
echo -e "\
|
|
103
|
-
vars_log="\nALKiln version is $ALKILN_VERSION\nRepo is $REPO_URL\nBranch ref is $BRANCH_PATH\nMAX_SECONDS_FOR_SETUP is $MAX_SECONDS_FOR_SETUP\nSERVER_RELOAD_TIMEOUT_SECONDS is $SERVER_RELOAD_TIMEOUT_SECONDS\n"
|
|
104
|
-
echo -e "$vars_log" >> "${{ env.DEBUG_PATH }}" && echo -e "$vars_log"
|
|
87
|
+
# š” ALK0024 INFO: Confirm environment variables
|
|
88
|
+
echo -e "\nALKiln version is $ALKILN_VERSION\nRepo is $REPO_URL\nBranch ref is $BRANCH_PATH\nMAX_SECONDS_FOR_SETUP is $MAX_SECONDS_FOR_SETUP\nSERVER_RELOAD_TIMEOUT_SECONDS is $SERVER_RELOAD_TIMEOUT_SECONDS\n"
|
|
105
89
|
|
|
106
90
|
# Install
|
|
107
|
-
- name: "š” ALK0025 INFO:
|
|
91
|
+
- name: "š” ALK0025 INFO: Install node packages"
|
|
108
92
|
uses: actions/setup-node@v4
|
|
109
93
|
with:
|
|
110
94
|
node-version: "18"
|
|
111
95
|
- name: "š” ALK0026 INFO: Install ALKiln directly from npm"
|
|
112
96
|
shell: bash
|
|
113
97
|
run: |
|
|
114
|
-
|
|
115
|
-
echo -e "\n$log" >> "${{ env.DEBUG_PATH }}"
|
|
98
|
+
# š” ALK0026 INFO: Install ALKiln directly from npm
|
|
116
99
|
npm install -g "@suffolklitlab/alkiln@$ALKILN_VERSION"
|
|
117
100
|
|
|
118
101
|
# Install on playground
|
|
@@ -126,32 +109,26 @@ runs:
|
|
|
126
109
|
if: ${{ inputs.INSTALL_METHOD == 'playground' }}
|
|
127
110
|
shell: bash
|
|
128
111
|
run: |
|
|
129
|
-
|
|
130
|
-
echo -e "\n$log" >> "${{ env.DEBUG_PATH }}"
|
|
112
|
+
# š” ALK0027 INFO: Create a Project and install the package from GitHub
|
|
131
113
|
pip install "docassemblecli==$DOCASSEMBLECLI_VERSION"
|
|
132
|
-
alkiln-setup
|
|
133
|
-
- name: "
|
|
114
|
+
alkiln-setup
|
|
115
|
+
- name: "š ALK0028 ERROR: Unable to create a Project"
|
|
134
116
|
if: ${{ inputs.INSTALL_METHOD == 'playground' && failure() }}
|
|
135
117
|
shell: bash
|
|
136
118
|
run: |
|
|
137
|
-
#
|
|
138
|
-
|
|
139
|
-
echo -e "$long_log" >> "${{ env.DEBUG_PATH }}" && echo -e "$long_log"
|
|
119
|
+
# š ALK0028 ERROR: Unable to create a Project
|
|
120
|
+
echo -e "\n\n====\nš ALK0028 ERROR: Unable to create a Project on your server's testing account or pull your package into it. Check the messages above this line.\n\n"
|
|
140
121
|
|
|
141
122
|
# Server installations - find folders and save session vars
|
|
142
123
|
- name: "š” ALK0029 INFO: Install the GitHub package onto the server"
|
|
143
124
|
if: ${{ inputs.INSTALL_METHOD == 'server' }}
|
|
144
125
|
shell: bash
|
|
145
|
-
run:
|
|
146
|
-
|
|
147
|
-
echo -e "\n$log" >> "${{ env.DEBUG_PATH }}"
|
|
148
|
-
alkiln-server-install --path="${{ env.ARTIFACT_FOLDER }}"
|
|
149
|
-
- name: "š¤ ALK0030 ERROR: Unable to install the package"
|
|
126
|
+
run: alkiln-server-install
|
|
127
|
+
- name: "š ALK0030 ERROR: Unable to install the package"
|
|
150
128
|
if: ${{ inputs.INSTALL_METHOD == 'server' && failure() }}
|
|
151
129
|
shell: bash
|
|
152
130
|
run: |
|
|
153
|
-
|
|
154
|
-
echo -e "$log" >> "${{ env.DEBUG_PATH }}" && echo -e "$log"
|
|
131
|
+
echo -e "\n\n====\nš ALK0030 ERROR: Unable to install the package on the temporary GitHub docassemble server. Check the steps above this line.\n\n"
|
|
155
132
|
|
|
156
133
|
# run tests
|
|
157
134
|
- name: "š” ALK0031 INFO: Run tests"
|
|
@@ -159,26 +136,20 @@ runs:
|
|
|
159
136
|
env:
|
|
160
137
|
ALKILN_TAG_EXPRESSION: ${{ inputs.ALKILN_TAG_EXPRESSION || github.event.inputs.tags && format('{0}', github.event.inputs.tags) }}
|
|
161
138
|
shell: bash
|
|
162
|
-
run:
|
|
163
|
-
log="š” ALK0031 INFO: Run tests"
|
|
164
|
-
echo -e "\n$log" >> "${{ env.DEBUG_PATH }}"
|
|
165
|
-
alkiln-run "$ALKILN_TAG_EXPRESSION" --path="${{ env.ARTIFACT_FOLDER }}"
|
|
139
|
+
run: alkiln-run "$ALKILN_TAG_EXPRESSION"
|
|
166
140
|
|
|
167
141
|
# on playground, delete project
|
|
168
142
|
- name: "š” ALK0032 INFO: Delete the Project from the Playground"
|
|
169
143
|
if: ${{ always() && inputs.INSTALL_METHOD == 'playground' }}
|
|
144
|
+
run: alkiln-takedown
|
|
170
145
|
shell: bash
|
|
171
|
-
run: |
|
|
172
|
-
log="š” ALK0032 INFO: Delete the Project from the Playground"
|
|
173
|
-
echo -e "\n$log" >> "${{ env.DEBUG_PATH }}"
|
|
174
|
-
alkiln-takedown --path="${{ env.ARTIFACT_FOLDER }}"
|
|
175
146
|
|
|
176
147
|
# Upload artifacts that subscribers can download on the Actions summary page
|
|
177
148
|
- name: "š” ALK0033 INFO: Upload artifacts folder"
|
|
178
149
|
if: ${{ always() }}
|
|
179
150
|
uses: actions/upload-artifact@v4
|
|
180
151
|
with:
|
|
181
|
-
name: ${{ env.
|
|
152
|
+
name: ${{ env.ARTIFACT_NAME }}
|
|
182
153
|
path: ./alkiln-*
|
|
183
154
|
|
|
184
155
|
# Download artifacts folder internally to create action output
|
|
@@ -186,56 +157,45 @@ runs:
|
|
|
186
157
|
if: ${{ always() }}
|
|
187
158
|
uses: actions/download-artifact@v4
|
|
188
159
|
with:
|
|
189
|
-
name: ${{ env.
|
|
160
|
+
name: ${{ env.ARTIFACT_NAME }}
|
|
190
161
|
|
|
191
162
|
- name: "š” ALK0184 INFO: Prepare ALKiln output file paths"
|
|
192
163
|
if: ${{ always() }}
|
|
193
164
|
id: alkiln_outputs
|
|
194
165
|
shell: bash
|
|
195
166
|
run: |
|
|
196
|
-
|
|
197
|
-
echo -e "\n$log" >> "${{ env.DEBUG_PATH }}" && echo "$log"
|
|
167
|
+
# š” ALK0184 INFO: Prepare ALKiln output file paths
|
|
198
168
|
|
|
199
169
|
FOLDER=$(ls -d */ | grep -E '^alkiln-*' || true)
|
|
200
170
|
|
|
201
|
-
|
|
202
|
-
echo -e "\n$log_folder" >> "${{ env.DEBUG_PATH }}" && echo "$log_folder"
|
|
171
|
+
echo "Test results artifacts folder is $FOLDER"
|
|
203
172
|
|
|
204
173
|
if [[ "$FOLDER" = "" ]]; then
|
|
205
|
-
|
|
206
|
-
echo -e "\n$log_missing" >> "${{ env.DEBUG_PATH }}" && echo "$log_missing"
|
|
174
|
+
echo "Artifacts folder is missing. The path is an empty string: '$FOLDER'"
|
|
207
175
|
|
|
208
176
|
else
|
|
209
177
|
REPORT_PATH="${FOLDER}report.txt"
|
|
210
|
-
REPORT_LOG_PATH="${FOLDER}report_log.txt"
|
|
211
178
|
UNEXPECTED_RESULTS_PATH="${FOLDER}unexpected_results.txt"
|
|
212
179
|
DEBUG_LOG_PATH="${FOLDER}debug_log.txt"
|
|
213
180
|
|
|
214
181
|
if [ -f "$REPORT_PATH" ]; then
|
|
215
|
-
echo
|
|
182
|
+
echo "$REPORT_PATH exists"
|
|
216
183
|
else
|
|
217
|
-
echo
|
|
184
|
+
echo "$REPORT_PATH is missing"
|
|
218
185
|
REPORT_PATH=""
|
|
219
186
|
fi
|
|
220
187
|
|
|
221
|
-
if [ -f "$REPORT_LOG_PATH" ]; then
|
|
222
|
-
echo -e "\n$REPORT_LOG_PATH exists" >> "${{ env.DEBUG_PATH }}" && echo "$REPORT_LOG_PATH exists"
|
|
223
|
-
else
|
|
224
|
-
echo -e "\n$REPORT_LOG_PATH is missing" >> "${{ env.DEBUG_PATH }}" && echo "$REPORT_LOG_PATH is missing"
|
|
225
|
-
REPORT_LOG_PATH=""
|
|
226
|
-
fi
|
|
227
|
-
|
|
228
188
|
if [ -f "$UNEXPECTED_RESULTS_PATH" ]; then
|
|
229
|
-
echo
|
|
189
|
+
echo "$UNEXPECTED_RESULTS_PATH exists"
|
|
230
190
|
else
|
|
231
|
-
echo
|
|
191
|
+
echo "$UNEXPECTED_RESULTS_PATH is missing"
|
|
232
192
|
UNEXPECTED_RESULTS_PATH=""
|
|
233
193
|
fi
|
|
234
194
|
|
|
235
195
|
if [ -f "$DEBUG_LOG_PATH" ]; then
|
|
236
|
-
echo
|
|
196
|
+
echo "$DEBUG_LOG_PATH exists"
|
|
237
197
|
else
|
|
238
|
-
echo
|
|
198
|
+
echo "$DEBUG_LOG_PATH is missing"
|
|
239
199
|
DEBUG_LOG_PATH=""
|
|
240
200
|
fi
|
|
241
201
|
|
|
@@ -243,7 +203,6 @@ runs:
|
|
|
243
203
|
|
|
244
204
|
echo "PATH_TO_ARTIFACTS=$FOLDER" >> "$GITHUB_OUTPUT"
|
|
245
205
|
echo "PATH_TO_REPORT_FILE=$REPORT_PATH" >> "$GITHUB_OUTPUT"
|
|
246
|
-
echo "PATH_TO_REPORT_LOG_FILE=$REPORT_LOG_PATH" >> "$GITHUB_OUTPUT"
|
|
247
206
|
echo "PATH_TO_UNEXPECTED_RESULTS_FILE=$UNEXPECTED_RESULTS_PATH" >> "$GITHUB_OUTPUT"
|
|
248
207
|
echo "PATH_TO_DEBUG_LOG_FILE=$DEBUG_LOG_PATH" >> "$GITHUB_OUTPUT"
|
|
249
208
|
|
|
@@ -253,5 +212,4 @@ runs:
|
|
|
253
212
|
- shell: bash
|
|
254
213
|
if: ${{ always() }}
|
|
255
214
|
run: |
|
|
256
|
-
|
|
257
|
-
echo -e "\n$log" >> "${{ env.DEBUG_PATH }}" && echo "$log"
|
|
215
|
+
echo "š” ALK0034 INFO: ALkiln finished running tests"
|
|
@@ -47,29 +47,12 @@ runs:
|
|
|
47
47
|
# Place the root directory in this branch
|
|
48
48
|
- uses: actions/checkout@v4
|
|
49
49
|
|
|
50
|
-
- shell: bash
|
|
51
|
-
run: |
|
|
52
|
-
log="š” ALK0018 INFO: Get path names with date and time"
|
|
53
|
-
timestamp="$(date +'%Y-%m-%d at %Hh%Mm%Ss' -u)"
|
|
54
|
-
debug_dir="/tmp"
|
|
55
|
-
debug_path="$debug_dir/alkiln_docker_logs-${timestamp}UTC.txt"
|
|
56
|
-
artifact_folder="alkiln_github_server-${timestamp}UTC"
|
|
57
|
-
|
|
58
|
-
mkdir -p "$debug_dir"
|
|
59
|
-
mkdir -p "$artifact_folder"
|
|
60
|
-
echo -e "$log" >> "$debug_path"
|
|
61
|
-
|
|
62
|
-
echo "DEBUG_PATH=$debug_path" >> $GITHUB_ENV
|
|
63
|
-
echo "GITHUB_SERVER_ARTIFACT_NAME=$artifact_folder" >> $GITHUB_ENV
|
|
64
|
-
|
|
65
50
|
- shell: bash
|
|
66
51
|
env:
|
|
67
52
|
MAX_SECONDS_FOR_DOCKER: ${{ inputs.MAX_SECONDS_FOR_DOCKER }}
|
|
68
53
|
DOCASSEMBLECLI_VERSION: ${{ inputs.DOCASSEMBLECLI_VERSION }}
|
|
69
54
|
run: |
|
|
70
|
-
|
|
71
|
-
echo -e "\n$log" >> "${{ env.DEBUG_PATH }}" && echo "$log"
|
|
72
|
-
|
|
55
|
+
# š”ALK0001 INFO: Set environment variables
|
|
73
56
|
echo "MAX_SECONDS_FOR_DOCKER=$MAX_SECONDS_FOR_DOCKER" >> $GITHUB_ENV
|
|
74
57
|
echo "DOCASSEMBLECLI_VERSION=$DOCASSEMBLECLI_VERSION" >> $GITHUB_ENV
|
|
75
58
|
echo "DA_ADMIN_API_KEY=abcd1234abcd1234abcd5678abdc5678" >> $GITHUB_ENV
|
|
@@ -80,8 +63,7 @@ runs:
|
|
|
80
63
|
id: api_key_output_step
|
|
81
64
|
shell: bash
|
|
82
65
|
run: |
|
|
83
|
-
|
|
84
|
-
echo -e "\n$log" >> "${{ env.DEBUG_PATH }}"
|
|
66
|
+
# š” ALK0002 INFO: Create GitHub step output variables
|
|
85
67
|
echo "DOCASSEMBLE_DEVELOPER_API_KEY=$DA_ADMIN_API_KEY" >> "$GITHUB_OUTPUT"
|
|
86
68
|
echo "DA_ADMIN_EMAIL=$DA_ADMIN_EMAIL" >> "$GITHUB_OUTPUT"
|
|
87
69
|
echo "DA_ADMIN_PASSWORD=$DA_ADMIN_PASSWORD" >> "$GITHUB_OUTPUT"
|
|
@@ -91,20 +73,16 @@ runs:
|
|
|
91
73
|
CONFIG: ${{ inputs.CONFIG_CONTENTS }}
|
|
92
74
|
shell: bash
|
|
93
75
|
run: |
|
|
94
|
-
|
|
95
|
-
echo -e "\n$log" >> "${{ env.DEBUG_PATH }}"
|
|
96
|
-
|
|
76
|
+
# š” ALK0003 INFO: Get config
|
|
97
77
|
mkdir /tmp/config
|
|
98
78
|
# Worth making this silent by defining a variable with > /dev/null...?
|
|
99
79
|
if [ -n "$CONFIG" ]
|
|
100
80
|
then
|
|
101
|
-
|
|
102
|
-
echo -e "\n$log2" >> "${{ env.DEBUG_PATH }}" echo "$log2"
|
|
81
|
+
echo "š” ALK0004 INFO: The developer did provide a custom docassemble config file as an input into this action."
|
|
103
82
|
echo "$CONFIG" > /tmp/config/myconfig.yml
|
|
104
83
|
echo "CONFIG_ARGS=--env DA_CONFIG=/tmp/config/myconfig.yml --volume /tmp/config:/tmp/config " >> $GITHUB_ENV
|
|
105
84
|
else
|
|
106
|
-
|
|
107
|
-
echo -e "\n$log3" >> "${{ env.DEBUG_PATH }}" echo "$log3"
|
|
85
|
+
echo "š” ALK0005 INFO: The developer did NOT provide a custom docassemble config file as an input into this action. Docassemble will use its default config."
|
|
108
86
|
echo "CONFIG_ARGS=" >> $GITHUB_ENV
|
|
109
87
|
fi
|
|
110
88
|
|
|
@@ -119,14 +97,11 @@ runs:
|
|
|
119
97
|
SHOW_DOCKER_OUTPUT: ${{ inputs.SHOW_DOCKER_OUTPUT }}
|
|
120
98
|
shell: bash
|
|
121
99
|
run: |
|
|
122
|
-
|
|
123
|
-
echo -e "\n$log" >> "${{ env.DEBUG_PATH }}"
|
|
100
|
+
# š” ALK0006 INFO: Determine docker logs visibility
|
|
124
101
|
if [[ "${{ github.event_name }}" == "workflow_dispatch" ]]; then
|
|
125
102
|
echo "OUTPUT_DOCKER=$SHOW_DOCKER_OUTPUT" >> $GITHUB_ENV
|
|
126
|
-
echo -e "\n$SHOW_DOCKER_OUTPUT" >> "${{ env.DEBUG_PATH }}"
|
|
127
103
|
else
|
|
128
104
|
echo "OUTPUT_DOCKER=false" >> $GITHUB_ENV
|
|
129
|
-
echo -e "\nfalse" >> "${{ env.DEBUG_PATH }}"
|
|
130
105
|
fi
|
|
131
106
|
|
|
132
107
|
# Messages about output
|
|
@@ -135,15 +110,13 @@ runs:
|
|
|
135
110
|
shell: bash
|
|
136
111
|
run: |
|
|
137
112
|
# š” ALK0007 INFO: ALKiln will now hide docker output
|
|
138
|
-
|
|
139
|
-
echo -e "\n$log" >> "${{ env.DEBUG_PATH }}" && echo -e "$log"
|
|
113
|
+
echo -e '===\nš” ALK0007 INFO: ALKiln will now hide docker output to avoid possibly showing details about your config. If you want to get output to see more of what is going on, use "with:" and set the input "SHOW_DOCKER_OUTPUT" to "true". This output will only be visible to those who can already see the action output, like people with admin or write permissions.\n==='
|
|
140
114
|
- name: "š” ALK0008 INFO: ALKiln will show docker output"
|
|
141
115
|
if: ${{ env.OUTPUT_DOCKER == 'true' }}
|
|
142
116
|
shell: bash
|
|
143
117
|
run: |
|
|
144
118
|
# š” ALK0008 INFO: ALKiln will show docker output
|
|
145
|
-
|
|
146
|
-
echo -e "\n$log" >> "${{ env.DEBUG_PATH }}" && echo -e "$log"
|
|
119
|
+
echo -e '===\nš” ALK0008 INFO: ALKiln will show docker output. ALKiln cannot control this output. If you want to prevent output, use "with:" and set the input "SHOW_DOCKER_OUTPUT" to "false". This output will only be visible to those who can already see the action output, like people with admin or write permissions.\n==='
|
|
147
120
|
|
|
148
121
|
# TODO: Reduce these to 1 block by putting ` > /dev/null 2>&1` into an env var
|
|
149
122
|
# No docker output
|
|
@@ -153,8 +126,7 @@ runs:
|
|
|
153
126
|
CONFIG_ARGS: ${{ env.CONFIG_ARGS }}
|
|
154
127
|
shell: bash
|
|
155
128
|
run: |
|
|
156
|
-
|
|
157
|
-
echo -e "\n$log" >> "${{ env.DEBUG_PATH }}"
|
|
129
|
+
# š” ALK0009 INFO: Download and start docker silently
|
|
158
130
|
docker pull jhpyle/docassemble > /dev/null 2>&1
|
|
159
131
|
docker run --name docassemble_container \
|
|
160
132
|
--env DA_ADMIN_EMAIL="$DA_ADMIN_EMAIL" \
|
|
@@ -170,8 +142,7 @@ runs:
|
|
|
170
142
|
CONFIG_ARGS: ${{ env.CONFIG_ARGS }}
|
|
171
143
|
shell: bash
|
|
172
144
|
run: |
|
|
173
|
-
|
|
174
|
-
echo -e "\n$log" >> "${{ env.DEBUG_PATH }}"
|
|
145
|
+
# š” ALK0010 INFO: Download and start docker
|
|
175
146
|
docker pull jhpyle/docassemble
|
|
176
147
|
docker run --name docassemble_container \
|
|
177
148
|
--env DA_ADMIN_EMAIL="$DA_ADMIN_EMAIL" \
|
|
@@ -188,14 +159,12 @@ runs:
|
|
|
188
159
|
shell: bash
|
|
189
160
|
run: |
|
|
190
161
|
# š” ALK0011 INFO: The following messages are not docker output
|
|
191
|
-
|
|
192
|
-
echo -e "\n$log" >> "${{ env.DEBUG_PATH }}" && echo -e "$log"
|
|
162
|
+
echo "š” ALK0011 INFO: The following messages are not docker output, just ALKiln waiting for the server to start"
|
|
193
163
|
|
|
194
164
|
- name: "š” ALK0012 INFO: Waiting for server to start"
|
|
195
165
|
shell: bash
|
|
196
166
|
run: |
|
|
197
|
-
|
|
198
|
-
echo -e "\n$log" >> "${{ env.DEBUG_PATH }}"
|
|
167
|
+
# š” ALK0012 INFO: Waiting for server to start
|
|
199
168
|
|
|
200
169
|
# Reset the SECONDS variable
|
|
201
170
|
SECONDS=0
|
|
@@ -204,28 +173,23 @@ runs:
|
|
|
204
173
|
|
|
205
174
|
response="start"
|
|
206
175
|
while [[ $response != *"200"* ]]; do
|
|
207
|
-
|
|
208
|
-
echo -e "\n$log2" >> "${{ env.DEBUG_PATH }}" && echo -e "$log2"
|
|
176
|
+
echo "š” ALK0013 INFO: Time elapsed: $SECONDS seconds"
|
|
209
177
|
|
|
210
178
|
# Check if max seconds till loading has passed
|
|
211
179
|
if [[ $SECONDS -ge $MAX_SECONDS_FOR_DOCKER ]]; then
|
|
212
|
-
|
|
213
|
-
echo -e "\n$log3" >> "${{ env.DEBUG_PATH }}" && echo -e "$log3"
|
|
180
|
+
echo "š¤ ALK0014 ERROR: Timed out waiting for docker container to serve the site. If you want to give your docker container more timem to install, set the MAX_SECONDS_FOR_DOCKER input for this action."
|
|
214
181
|
exit 1
|
|
215
182
|
fi
|
|
216
183
|
|
|
217
184
|
# Set the variable to a new string value in each iteration
|
|
218
185
|
response=$(curl -o /dev/null -s -w "%{http_code}\n" http://localhost:80/health_check?ready=1)
|
|
219
|
-
|
|
220
|
-
echo -e "\n$log4" >> "${{ env.DEBUG_PATH }}" && echo -e "$log4"
|
|
186
|
+
echo "š” ALK0015 INFO: Response is $response"
|
|
221
187
|
|
|
222
188
|
# Check if the string includes the desired text
|
|
223
189
|
if [[ $response == *"200"* ]]; then
|
|
224
|
-
|
|
225
|
-
echo -e "\n$log5" >> "${{ env.DEBUG_PATH }}" && echo -e "$log5"
|
|
190
|
+
echo "š ALK0016 SUCCESS: Success! The docker container is ready!"
|
|
226
191
|
else
|
|
227
|
-
|
|
228
|
-
echo -e "\n$log6" >> "${{ env.DEBUG_PATH }}" && echo -e "$log6"
|
|
192
|
+
echo "š” ALK0017 INFO: The docker container is not ready yet. Will check again in 30 seconds."
|
|
229
193
|
sleep 30
|
|
230
194
|
fi
|
|
231
195
|
|
|
@@ -255,28 +219,32 @@ runs:
|
|
|
255
219
|
|
|
256
220
|
# Upload artifacts that devs can download on the Actions summary page
|
|
257
221
|
# Only if the developer wants to get that info, though
|
|
222
|
+
- name: "š” ALK0018 INFO: Get path names with date and time"
|
|
223
|
+
if: ${{ always() && env.OUTPUT_DOCKER == 'true' }}
|
|
224
|
+
shell: bash
|
|
225
|
+
run: |
|
|
226
|
+
# š” ALK0018 INFO: Get path names with date and time
|
|
227
|
+
echo "GITHUB_SERVER_LOG_FILE_NAME=/tmp/alkiln_docker_logs-$(date +'%Y-%m-%d at %Hh%Mm%Ss' -u)UTC.txt" >> $GITHUB_ENV
|
|
228
|
+
echo "GITHUB_SERVER_ARTIFACT_NAME=alkiln_github_server-$(date +'%Y-%m-%d at %Hh%Mm%Ss' -u)UTC" >> $GITHUB_ENV
|
|
258
229
|
- name: "š” ALK0019 INFO: Create docker artifact data"
|
|
259
230
|
if: ${{ always() && env.OUTPUT_DOCKER == 'true' }}
|
|
260
231
|
shell: bash
|
|
261
232
|
run: |
|
|
262
|
-
|
|
263
|
-
echo
|
|
264
|
-
echo "$(docker output docassemble_container)" >> "${{ env.DEBUG_PATH }}"
|
|
233
|
+
# š” ALK0019 INFO: Create docker artifact data
|
|
234
|
+
echo "$(docker output docassemble_container)" > "${{ env.GITHUB_SERVER_LOG_FILE_NAME }}"
|
|
265
235
|
- name: "š” ALK0020 INFO: Upload artifacts folder"
|
|
266
236
|
if: ${{ always() && env.OUTPUT_DOCKER == 'true' }}
|
|
267
237
|
uses: actions/upload-artifact@v4
|
|
268
238
|
with:
|
|
269
239
|
name: ${{ env.GITHUB_SERVER_ARTIFACT_NAME }}
|
|
270
|
-
path: ${{ env.
|
|
240
|
+
path: ${{ env.GITHUB_SERVER_LOG_FILE_NAME }}
|
|
271
241
|
|
|
272
242
|
- shell: bash
|
|
273
243
|
if: ${{ success() }}
|
|
274
244
|
run: |
|
|
275
|
-
|
|
276
|
-
echo -e "\n$log" >> "${{ env.DEBUG_PATH }}" && echo -e "$log"
|
|
245
|
+
echo "š ALK0021 SUCCESS: ALKiln created the docker container and started the server!"
|
|
277
246
|
|
|
278
247
|
- shell: bash
|
|
279
248
|
if: ${{ failure() }}
|
|
280
249
|
run: |
|
|
281
|
-
|
|
282
|
-
echo -e "\n$log" >> "${{ env.DEBUG_PATH }}" && echo -e "$log"
|
|
250
|
+
echo "š¤ ALK0022 ERROR: Something went wrong. See above for more details."
|