web-landing-page/.gitea/workflows/jekyll.yaml

66 lines
2.0 KiB
YAML

name: Jekyll
on:
push:
branches:
- main
pull_request:
env:
_UID: 1000
_GID: 1000
jobs:
jekyll:
runs-on: ubuntu-22.04
steps:
- name: Check environment
id: check_environment
run: |
echo "The job was automatically triggered by a ${{ gitea.event_name }} event."
echo "This job is now running on a ${{ runner.os }} server hosted by Gitea!"
echo "The name of your branch is ${{ github.ref }} and your repository is ${{ gitea.repository }}."
echo "This job's status is ${{ job.status }}."
- name: Check out repository
id: checkout
uses: actions/checkout@v4
- name: Change file ownership
id: file_ownership
run: |
chown -R ${_UID}:${_GID} .
- name: Install requirements
id: install_requirements
run: |
apt-get -q update
apt-get -q install -y docker-compose rsync
apt-get -q clean
- name: Verify docker
id: verify_docker
run: |
docker run --rm hello-world:latest > /dev/null
docker rmi hello-world:latest > /dev/null
docker version
docker-compose version
docker volume ls
- name: Build Jekyll image
id: build_image
run: |
# The environment variables _UID and _GID can impact this image
docker-compose build jekyll
- name: Build Jekyll site
id: build_site
run: |
docker-compose run --rm -v "${JOB_CONTAINER_NAME}:/site" -w /site \
jekyll build --verbose
- name: Prepare ssh key
id: prepare_ssh_key
if: ${{ gitea.ref == 'main' }}
run: |
echo "${{ secrets.WWW_DEPLOY_KEY }}" > ~/.ssh/id_ed25519
chmod 600 ~/.ssh/id_ed25519
- name: Publish Jekyll site
id: publish_site
if: ${{ gitea.ref == 'main' }}
run: |
rsync -halvi \
-e "ssh -a -x -o StrictHostKeyChecking=no" \
./_site/ www@lafs.eval.latfa.net:/var/www/site/