Publish snippets and Markdown posts through authenticated uploads
This commit is contained in:
@@ -7,4 +7,8 @@ import re
|
||||
photos = sorted(set(re.findall(r'id="photo-([a-f0-9]{64})"', Path('_site/art/index.html').read_text())))
|
||||
Path('_site/photo-publication.json').write_text(json.dumps({
|
||||
'commit': os.environ['GITHUB_SHA'], 'photos': photos,
|
||||
'snippets': sorted(set(re.findall(r'id="snippet-([a-f0-9]{64})"',
|
||||
Path('_site/snippets/index.html').read_text()))),
|
||||
'posts': sorted(set(revision for page in Path('_site').rglob('*.html')
|
||||
for revision in re.findall(r'<meta name="upload-revision" content="([a-f0-9]{64})">', page.read_text()))),
|
||||
}) + '\n')
|
||||
|
||||
@@ -15,12 +15,14 @@ class DeploymentTests(unittest.TestCase):
|
||||
with tempfile.TemporaryDirectory() as folder:
|
||||
root = Path(folder)
|
||||
(root / '_site/art').mkdir(parents=True)
|
||||
(root / '_site/snippets').mkdir(parents=True)
|
||||
job = 'a' * 64
|
||||
(root / '_site/art/index.html').write_text(f'<div id="photo-{job}"></div>')
|
||||
(root / '_site/snippets/index.html').write_text(f'<div id="snippet-{job}"></div>')
|
||||
subprocess.run(['python3', str(ROOT / 'scripts/photo-manifest.py')], cwd=root,
|
||||
env=dict(os.environ, GITHUB_SHA='b' * 40), check=True)
|
||||
self.assertEqual(json.loads((root / '_site/photo-publication.json').read_text()),
|
||||
{'commit': 'b' * 40, 'photos': [job]})
|
||||
{'commit': 'b' * 40, 'photos': [job], 'snippets': [job], 'posts': []})
|
||||
|
||||
@unittest.skipUnless(platform.system() == 'Linux', 'Production activation uses GNU mv and flock')
|
||||
def test_activation_failure_and_stale_workflow(self):
|
||||
|
||||
Reference in New Issue
Block a user