2424 - name : Set up date variables
2525 id : date
2626 run : |
27- echo "today=$(date +'%Y-%m-%d')" >> $GITHUB_OUTPUT
28- echo "timestamp=$(date +'%Y%m%d%H%M%S')" >> $GITHUB_OUTPUT
27+ echo "today=$(date +'%Y-%m-%d')" >> " $GITHUB_OUTPUT"
28+ echo "timestamp=$(date +'%Y%m%d%H%M%S')" >> " $GITHUB_OUTPUT"
2929
3030 - name : Fetch Tranco list ID
3131 id : tranco-id
5555
5656 # Check if we got a valid ID (non-empty and contains alphanumeric characters)
5757 if [[ ! -z "$TRANCO_ID" && "$TRANCO_ID" =~ ^[A-Za-z0-9]+$ ]]; then
58- echo "id=$TRANCO_ID" >> $GITHUB_OUTPUT
58+ echo "id=$TRANCO_ID" >> " $GITHUB_OUTPUT"
5959 echo "Successfully fetched Tranco list ID: $TRANCO_ID"
6060 SUCCESS=true
6161 else
@@ -85,28 +85,30 @@ jobs:
8585
8686 - name : Download Tranco list
8787 id : download
88+ env :
89+ STEPS_TRANCO_ID_OUTPUTS_ID : ${{ steps.tranco-id.outputs.id }}
8890 run : |
8991 # Maximum retry count
9092 MAX_RETRIES=5
9193 RETRY_COUNT=0
9294 SUCCESS=false
9395
9496 while [ $RETRY_COUNT -lt $MAX_RETRIES ] && [ "$SUCCESS" = "false" ]; do
95- echo "Attempt $(($RETRY_COUNT + 1)) of $MAX_RETRIES: Downloading Tranco list ${{ steps.tranco-id.outputs.id } }..."
97+ echo "Attempt $(($RETRY_COUNT + 1)) of $MAX_RETRIES: Downloading Tranco list ${STEPS_TRANCO_ID_OUTPUTS_ID }..."
9698
9799 # Use -w to capture HTTP status code
98100 HTTP_STATUS=$(curl -s -L -o tranco.zip -w "%{http_code}" \
99101 --retry 3 --retry-delay 10 --retry-max-time 300 \
100102 --connect-timeout 15 --max-time 300 \
101- "https://tranco-list.eu/download_daily/${{ steps.tranco-id.outputs.id } }")
103+ "https://tranco-list.eu/download_daily/${STEPS_TRANCO_ID_OUTPUTS_ID }")
102104
103105 echo "HTTP Status Code: $HTTP_STATUS"
104106
105107 # Check if HTTP status code is 200 (OK)
106108 if [ "$HTTP_STATUS" -eq 200 ]; then
107109 # Check if file was actually downloaded and has content
108110 if [ -s tranco.zip ]; then
109- echo "Successfully downloaded Tranco list ${{ steps.tranco-id.outputs.id } }"
111+ echo "Successfully downloaded Tranco list ${STEPS_TRANCO_ID_OUTPUTS_ID }"
110112 SUCCESS=true
111113 else
112114 echo "Downloaded file is empty despite HTTP 200"
@@ -182,7 +184,7 @@ jobs:
182184 run : |
183185 # Configuration is defined here
184186 CONFIG='[{"count": 10000, "filename": "tranco_top_10k.csv"}, {"count": 50000, "filename": "tranco_top_50k.csv"}]'
185- echo "CONFIG=$CONFIG" >> $GITHUB_ENV
187+ echo "CONFIG=$CONFIG" >> " $GITHUB_ENV"
186188 echo "Using configuration: $CONFIG"
187189
188190 - name : Validate manifest.json
@@ -198,26 +200,26 @@ jobs:
198200 TEMP_FILE=$(mktemp)
199201
200202 # Check each output file in the configuration
201- echo $CONFIG | jq -c '.[]' | while read -r config; do
202- filename=$(echo $config | jq -r '.filename')
203+ echo " $CONFIG" | jq -c '.[]' | while read -r config; do
204+ filename=$(echo " $config" | jq -r '.filename')
203205
204206 # Check if the filename is in manifest.json
205207 if ! grep -q "\"file\": \"$filename\"" manifest.json; then
206208 echo "Error: $filename is not defined in manifest.json"
207- echo "VALIDATION_FAILED=true" >> $TEMP_FILE
209+ echo "VALIDATION_FAILED=true" >> " $TEMP_FILE"
208210 else
209211 echo "✓ $filename is defined in manifest.json"
210212 fi
211213 done
212214
213215 # Exit if any file is not defined in manifest.json
214- if grep -q "VALIDATION_FAILED=true" $TEMP_FILE; then
216+ if grep -q "VALIDATION_FAILED=true" " $TEMP_FILE" ; then
215217 echo "One or more output files are not defined in manifest.json. Please update manifest.json first."
216- rm $TEMP_FILE
218+ rm " $TEMP_FILE"
217219 exit 1
218220 fi
219221
220- rm $TEMP_FILE
222+ rm " $TEMP_FILE"
221223
222224 - name : Process Tranco CSV
223225 id : process
@@ -231,17 +233,17 @@ jobs:
231233 fi
232234
233235 # Parse the JSON configuration and process each output
234- echo $CONFIG | jq -c '.[]' | while read -r config; do
235- count=$(echo $config | jq -r '.count')
236- filename=$(echo $config | jq -r '.filename')
236+ echo " $CONFIG" | jq -c '.[]' | while read -r config; do
237+ count=$(echo " $config" | jq -r '.count')
238+ filename=$(echo " $config" | jq -r '.filename')
237239
238240 if [ -z "$count" ] || [ -z "$filename" ]; then
239241 echo "Skipping invalid configuration: $config"
240242 continue
241243 fi
242244
243245 # Get exactly the requested number of lines from the file
244- head -n $count tranco.csv > "$filename"
246+ head -n " $count" tranco.csv > "$filename"
245247
246248 lines=$(wc -l < "$filename")
247249 echo "Successfully created $filename with $lines rows"
@@ -254,35 +256,41 @@ jobs:
254256
255257 - name : Create and push branch
256258 id : create-branch
259+ env :
260+ STEPS_DATE_OUTPUTS_TODAY : ${{ steps.date.outputs.today }}
261+ STEPS_DATE_OUTPUTS_TIMESTAMP : ${{ steps.date.outputs.timestamp }}
262+ STEPS_TRANCO_ID_OUTPUTS_ID : ${{ steps.tranco-id.outputs.id }}
257263 run : |
258264 # Create a unique branch name with timestamp
259- BRANCH_NAME="tranco_update-${{ steps.date.outputs.today }} -${{ steps.date.outputs.timestamp } }"
260- echo "branch_name=$BRANCH_NAME" >> $GITHUB_OUTPUT
265+ BRANCH_NAME="tranco_update-${STEPS_DATE_OUTPUTS_TODAY} -${STEPS_DATE_OUTPUTS_TIMESTAMP }"
266+ echo "branch_name=$BRANCH_NAME" >> " $GITHUB_OUTPUT"
261267
262268 git checkout -b "$BRANCH_NAME"
263269 git add tranco.csv
264270
265271 # Parse the configuration to get the filenames
266- echo $CONFIG | jq -c '.[]' | while read -r config; do
267- filename=$(echo $config | jq -r '.filename')
272+ echo " $CONFIG" | jq -c '.[]' | while read -r config; do
273+ filename=$(echo " $config" | jq -r '.filename')
268274 # Add each generated file individually
269275 git add "$filename"
270276 done
271277
272- git commit -m "Update Tranco list for ${{ steps.date.outputs.today }} (ID: ${{ steps.tranco-id.outputs.id } })"
278+ git commit -m "Update Tranco list for ${STEPS_DATE_OUTPUTS_TODAY} (ID: ${STEPS_TRANCO_ID_OUTPUTS_ID })"
273279 git push origin "$BRANCH_NAME"
274-
280+
275281 - name : Create Pull Request
276282 env :
277283 GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
284+ STEPS_DATE_OUTPUTS_TODAY : ${{ steps.date.outputs.today }}
285+ STEPS_TRANCO_ID_OUTPUTS_ID : ${{ steps.tranco-id.outputs.id }}
278286 run : |
279287 gh pr create \
280- --title "Update Tranco list and derived files - ${{ steps.date.outputs.today } }" \
288+ --title "Update Tranco list and derived files - ${STEPS_DATE_OUTPUTS_TODAY }" \
281289 --body "This PR updates the Tranco top 1 million domains list and all derived files.
282290
283- - Date: ${{ steps.date.outputs.today } }
284- - Tranco List ID: ${{ steps.tranco-id.outputs.id } }
285- - List URL: https://tranco-list.eu/list/${{ steps.tranco-id.outputs.id } }
291+ - Date: ${STEPS_DATE_OUTPUTS_TODAY }
292+ - Tranco List ID: ${STEPS_TRANCO_ID_OUTPUTS_ID }
293+ - List URL: https://tranco-list.eu/list/${STEPS_TRANCO_ID_OUTPUTS_ID }
286294 - Automated update via GitHub Actions" \
287295 --head "$BRANCH_NAME" \
288296 --base "master"
0 commit comments