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

88 lines
2.9 KiB
YAML

name: Jekyll
on:
push:
branches:
- main
pull_request:
env:
_UID: 1000
_GID: 1000
BASE_URL: https://www.lafs.eval.latfa.net
PREFIX: site
SUFFIX: preview
jobs:
jekyll:
runs-on: ubuntu-22.04
steps:
- 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
continue-on-error: true
- name: Prepare ssh key
id: prepare_ssh_key
if: ${{ gitea.ref == 'refs/heads/main' }}
run: |
echo "${{ secrets.WWW_DEPLOY_KEY }}" > ~/.ssh/id_ed25519
chmod 600 ~/.ssh/id_ed25519
- name: Deploy Jekyll site
id: deploy_site
if: ${{ gitea.ref == 'refs/heads/main' }}
run: |
rsync -halvi \
-e "ssh -a -x -o StrictHostKeyChecking=no" \
./_site/ www@lafs.eval.latfa.net:/var/www/site/
- name: Comment pull request
id: comment_pull_request
if: gitea.event_name == 'pull_request'
uses: exercism/pr-commenter-action@v1.5.1
with:
template-variables: |
{
"imageOutcome": "${{ steps.build_image.outcome }}",
"buildOutcome": "${{ steps.build_site.outcome }}",
"buildOutputsResult": ${{ toJSON(steps.build_site.outputs.result) }},
"deployOutcome": "${{ steps.deploy_site.outcome }}",
"deployUrl": "${{ format('{0}/{1}{2}/', env.BASE_URL, env.PREFIX, env.SUFFIX) }}",
"gitActor": "${{ gitea.actor }}",
"gitEventName": "${{ gitea.event_name }}",
"gitWorkflow": "${{ gitea.workflow }}",
"gitRunNumber": "${{ gitea.run_number }}",
"gitRunAttempt": "${{ gitea.run_attempt }}"
}
config-file: ".gitea/pr-commenter.yml"
- name: Fail on error
id: fail-on-error
if: |
steps.build_site.outcome != 'success'
|| (github.event_name == 'pull_request' && steps.deploy_site.outcome != 'success')
run: exit 1