name: Jekyll on: push: branches: - main pull_request: env: _UID: 1000 _GID: 1000 BASE_URL: www.lafs.eval.latfa.net PREFIX: "" SUFFIX: "" 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.4.0 with: template-variables: | { "asciidocOutcome": "${{ steps.asciidoc.outcome }}", "verifyOutcome": "${{ steps.verify.outcome }}", "verifyOutputsResult": ${{ toJSON(steps.verify.outputs.result) }}, "deployOutcome": "${{ steps.deploy.outcome }}", "deployUrl": "${{ format('{0}/{1}{2}/', env.BASE_URL, env.PREFIX, env.SUFFIX) }}", "githubActor": "${{ github.actor }}", "githubEventName": "${{ github.event_name }}", "githubWorkflow": "${{ github.workflow }}", "githubRunNumber": "${{ github.run_number }}", "githubRunAttempt": "${{ github.run_attempt }}" } - 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