summaryrefslogtreecommitdiff
path: root/deploy.py
diff options
context:
space:
mode:
authorjaseg <git@jaseg.de>2025-07-26 13:46:13 +0200
committerjaseg <git@jaseg.de>2025-07-26 13:46:13 +0200
commit3281a5044261cb2d8bcce263f959ab9b0fbc93fb (patch)
treea8402de38c04aaa316ab5346cb38c2216d2222f4 /deploy.py
parent9d55ae84a8208abd714d6b35bd31b023e4ee2ce5 (diff)
parent61c112870d029ad5ec0510b105d157b8ffb86f55 (diff)
downloadblog-3281a5044261cb2d8bcce263f959ab9b0fbc93fb.tar.gz
blog-3281a5044261cb2d8bcce263f959ab9b0fbc93fb.tar.bz2
blog-3281a5044261cb2d8bcce263f959ab9b0fbc93fb.zip
deploy.py auto-commit
Diffstat (limited to 'deploy.py')
-rw-r--r--deploy.py33
1 files changed, 0 insertions, 33 deletions
diff --git a/deploy.py b/deploy.py
deleted file mode 100644
index f0cab5c..0000000
--- a/deploy.py
+++ /dev/null
@@ -1,33 +0,0 @@
-#!/usr/bin/env python3
-
-import os
-import tempfile
-import subprocess
-from pathlib import Path
-
-if __name__ == '__main__':
- with tempfile.TemporaryDirectory() as tmpdir:
- pagefind = Path('~/.cargo/bin/pagefind').expanduser()
- pagefind = str(pagefind) if pagefind.is_file() else 'pagefind'
-
- current_branch = subprocess.run(['git', 'symbolic-ref', '-q', 'HEAD'], check=False, capture_output=True).stdout.strip()
- if current_branch == 'refs/heads/deploy':
- raise SystemError('This script cannot be run from the deploy branch (run from main instead)')
-
- subprocess.run(['git', 'worktree', 'add', '--detach', tmpdir], check=True)
- try:
- env = dict(os.environ)
- env['PATH'] = f'{Path("hack").absolute()}:{env["PATH"]}'
- hugo = os.environ.get('HUGO', 'hugo')
- subprocess.run([hugo], cwd=tmpdir, check=True, env=env)
- subprocess.run([pagefind, '--site', 'public'], cwd=tmpdir, check=True, env=env)
- subprocess.run(['git', 'add', '--force', 'public'], cwd=tmpdir, check=True)
- write_tree = subprocess.run(['git', 'write-tree', '--prefix=public/'], cwd=tmpdir, check=True, capture_output=True)
- tree = write_tree.stdout.strip()
-
- commit = subprocess.run(['git', 'commit-tree', '-p', 'HEAD', '-p', 'refs/heads/deploy', '-m', 'deploy.py auto-commit', tree], cwd=tmpdir, check=True, capture_output=True).stdout.strip()
- subprocess.run(['git', 'update-ref', '-m', f'deploy.sh update deploy branch to {commit}', 'refs/heads/deploy', commit], cwd=tmpdir, check=True)
-
- subprocess.run(['git', 'push', 'git@git.jaseg.de:blog.git', 'deploy'], cwd=tmpdir, check=True)
- finally:
- subprocess.run(['git', 'worktree', 'remove', '-f', tmpdir], check=True)