Fix generate manifest validation and pin raw artifact download action (#324)
* Initial plan * Fix generate job by downloading raw-data artifact * Pin generate raw artifact download action --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Copilot committed
Jun 8, 2026 at 14:34 UTC
80be6b4ac96f2fbb1ed5035e8a92ea42803872b3
2 files changed
+19
.github/workflows/crawl-and-publish.yml
+6
@@ -854,6 +854,12 @@ jobs:
854
name: analysis-candidate
855
path: data/candidates/
856
857
+ - name: Download raw crawl artifact
858
+ uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093
859
+ with:
860
+ name: raw-data
861
+ path: data/raw/
862
+
863
- name: Set up Python
864
uses: actions/setup-python@v5
865
with:
tests/test_pipeline.py
+13
@@ -457,6 +457,19 @@ class WorkflowConfigTests(unittest.TestCase):
457
self.assertEqual(upload_candidate["if"], "always()")
458
459
generate = workflow["jobs"]["generate"]
460
+ generate_raw_download = next(
461
+ (
462
+ s
463
+ for s in generate["steps"]
464
+ if s.get("name") == "Download raw crawl artifact"
465
+ and s.get("uses") == "actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093"
466
+ and s.get("with", {}).get("name") == "raw-data"
467
+ and s.get("with", {}).get("path") == "data/raw/"
468
+ ),
469
+ None,
470
+ )
471
+ self.assertIsNotNone(generate_raw_download)
472
+
473
generate_step = next((s for s in generate["steps"] if s.get("name") == "Generate weekly content"), None)
474
self.assertIsNotNone(generate_step)
475
self.assertIn('assert-eligible --manifest "$MANIFEST_FILE"', generate_step["run"])