website/.build.yml

62 lines
2.2 KiB
YAML

image: alpine/edge
environment:
FF_ENABLE_COMMIT_DATA: "true"
FF_GENERATE_SOCIAL_CARDS: "true"
#SKIP_VENV_SETUP: "true"
oauth: "pages.sr.ht/SITES:RW pages.sr.ht/PAGES:RW pages.sr.ht/PROFILE"
packages:
- openssh-client
- rsync
- python3
- py3-pip
- py3-wheel
- py3-setuptools
- cairo-dev
- freetype-dev
- libffi-dev
- jpeg-dev
- libpng-dev
- zlib-dev
sources:
- https://git.sr.ht/~ajhalili2006/web
secrets:
- b4ffc5fb-bc8c-4e89-b38a-48b56155a443
triggers:
- action: email
condition: always
to: ~ajhalili2006/public-inbox@lists.sr.ht
cc: ajhalili2006@gmail.com
tasks:
# in case of triggered from hottub
- setup: |
# https://www.jeffgeerling.com/blog/2023/how-solve-error-externally-managed-environment-when-installing-pip3
sudo rm /usr/lib/python3*/EXTERNALLY-MANAGED -rfv
# add pipenv for now
pip3 install pipenv --user
- build: |
cd web
# our build script handles both the install and build stuff itself
export PATH="$PATH:$HOME/.local/bin"
pipenv install --ignore-pipfile --deploy
TILDE_PUBLIC_HTML_BASE=https://ctrl-c.club/~ajhalili2006/ TARGET_DIR=build/ctrl-c.club ./bin/build.sh mkdocs.tilde.yml
TILDE_PUBLIC_HTML_BASE=https://ajhalili2006.p.psf.lt TARGET_DIR=build/p.psf.lt ./bin/build.sh mkdocs.tilde.yml
TILDE_PUBLIC_HTML_BASE=https://ajhalili2006.dimension.sh TARGET_DIR=build/dimension.sh ./bin/build.sh mkdocs.tilde.yml
- generate-archive: |
cd web
tar -C build -cvz . -f tildeweb-prod-build.tar.gz
- deploy-html: |
cd web
echo "StrictHostKeyChecking=no" >> ~/.ssh/config
rsync -rP -e 'ssh -i ~/.ssh/passwordless-auth-sshfs' build/p.psf.lt/ ajhalili2006@p.projectsegfau.lt:/home/ajhalili2006/public_html/
rsync -rP -e 'ssh -i ~/.ssh/passwordless-auth-sshfs' build/ctrl-c.club/ ajhalili2006@ctrl-c.club:/home/ajhalili2006/public_html/
rsync -rP -e 'ssh -i ~/.ssh/passwordless-auth-sshfs' build/dimension.sh/ ajhalili2006@s1.dimension.sh:/home/ajhalili2006/public_html/
- deploy-gemini: |
cd web
set +x
SOURCEHUT_PAGES_TOKEN=${OAUTH2_TOKEN} PRIVATE_SSH_KEY=~/.ssh/passwordless-auth-sshfs ./bin/deploy-gmi.sh
artifacts:
- web/tildeweb-prod-build.tar.gz
- web/gemini-site.tar.gz