Skip to content

Commit e2c3728

Browse files
authored
Update update-ckan-metadata.yml
1 parent bd742be commit e2c3728

File tree

1 file changed

+45
-7
lines changed

1 file changed

+45
-7
lines changed

.github/workflows/update-ckan-metadata.yml

Lines changed: 45 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
name: Update CKAN Extensions Metadata
2-
32
on:
43
schedule:
54
# Runs every Sunday at 2:00 AM UTC
@@ -66,9 +65,46 @@ jobs:
6665
python 3updateCatalog.py
6766
echo "✓ CKAN catalog update completed"
6867
69-
- name: Step 4 - Upload CSV to CKAN Dataset
68+
- name: Step 3.1 - Download Existing CSV from CKAN
69+
run: |
70+
echo "=== STEP 3.1: Downloading existing CSV from CKAN ==="
71+
python 31download.py existing_metadata.csv
72+
echo "✓ CSV download completed"
73+
74+
# Check if download was successful
75+
if [ -f "existing_metadata.csv" ]; then
76+
echo "✓ existing_metadata.csv downloaded successfully"
77+
wc -l existing_metadata.csv
78+
else
79+
echo "✗ existing_metadata.csv not found"
80+
exit 1
81+
fi
82+
83+
- name: Step 3.2 - Merge CSVs
84+
run: |
85+
echo "=== STEP 3.2: Merging existing and new CSV data ==="
86+
python 32merger.py existing_metadata.csv dynamic_metadata_update.csv dynamic_metadata_update.csv
87+
echo "✓ CSV merge completed"
88+
89+
# Check if merge was successful (32merger.py overwrites dynamic_metadata_update.csv)
90+
if [ -f "dynamic_metadata_update.csv" ]; then
91+
echo "✓ dynamic_metadata_update.csv merged successfully"
92+
wc -l dynamic_metadata_update.csv
93+
else
94+
echo "✗ dynamic_metadata_update.csv not found after merge"
95+
exit 1
96+
fi
97+
98+
- name: Step 3.3 - Delete Old Resource from CKAN
99+
run: |
100+
echo "=== STEP 3.3: Deleting old resource from CKAN ==="
101+
python 33delete.py
102+
echo "✓ Old resource deletion completed"
103+
104+
- name: Step 4 - Upload New CSV to CKAN Dataset
70105
run: |
71-
echo "=== STEP 4: Uploading CSV to CKAN dataset ==="
106+
echo "=== STEP 4: Uploading merged CSV to CKAN dataset ==="
107+
# The upload script will use dynamic_metadata_update.csv (which is now merged)
72108
python 4uploadDataset.py
73109
echo "✓ CSV upload completed"
74110
@@ -82,12 +118,14 @@ jobs:
82118
*.log
83119
retention-days: 7
84120

85-
- name: Upload generated CSV as artifact
121+
- name: Upload generated CSVs as artifacts
86122
if: success()
87123
uses: actions/upload-artifact@v4
88124
with:
89-
name: metadata-csv
90-
path: dynamic_metadata_update.csv
125+
name: metadata-csv-files
126+
path: |
127+
dynamic_metadata_update.csv
128+
existing_metadata.csv
91129
retention-days: 30
92130

93131
- name: Workflow Summary
@@ -98,7 +136,7 @@ jobs:
98136
echo "Timestamp: $(date -u)"
99137
100138
# Show file sizes if they exist
101-
for file in url_list.csv dynamic_metadata_update.csv; do
139+
for file in url_list.csv dynamic_metadata_update.csv existing_metadata.csv; do
102140
if [ -f "$file" ]; then
103141
echo "$file: $(wc -l < "$file") lines, $(du -h "$file" | cut -f1)"
104142
fi

0 commit comments

Comments
 (0)