Minor improvements #1488
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build Site | |
on: | |
push: | |
branches: | |
- '*' | |
- '!staging.tmp' | |
tags: | |
- '*' | |
pull_request: | |
schedule: | |
- cron: '0 0 1/4 * *' # every 4 days | |
jobs: | |
build_site: | |
name: "Zola Build" | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v1 | |
- name: 'Download Zola' | |
run: curl -sL https://github.com/getzola/zola/releases/download/v0.9.0/zola-v0.9.0-x86_64-unknown-linux-gnu.tar.gz | tar zxv | |
- name: "Install Python Tools" | |
run: python -m pip install --upgrade pip setuptools wheel | |
- name: 'Install Python Libraries' | |
run: python -m pip install --user -r requirements.txt | |
working-directory: "blog" | |
- name: "Run before_build.py script" | |
run: python before_build.py | |
working-directory: "blog" | |
- name: "Build Site" | |
run: ../zola build | |
working-directory: "blog" | |
- name: Upload Generated Site | |
uses: actions/[email protected] | |
with: | |
name: generated_site | |
path: blog/public | |
zola_check: | |
name: "Zola Check" | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v1 | |
- name: 'Download Zola' | |
run: curl -sL https://github.com/getzola/zola/releases/download/v0.9.0/zola-v0.9.0-x86_64-unknown-linux-gnu.tar.gz | tar zxv | |
- name: "Run zola check" | |
run: ../zola check | |
working-directory: "blog" | |
continue-on-error: true | |
check_spelling: | |
name: "Check Spelling" | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v1 | |
- run: curl -L https://git.io/misspell | bash | |
name: "Install misspell" | |
- run: bin/misspell -error blog/content | |
name: "Check for common typos" | |
deploy_site: | |
name: "Deploy Generated Site" | |
runs-on: ubuntu-latest | |
needs: [build_site, check_spelling] | |
if: github.ref == 'refs/heads/master' && (github.event_name == 'push' || github.event_name == 'schedule') | |
steps: | |
- name: "Download Generated Site" | |
uses: actions/download-artifact@v1 | |
with: | |
name: generated_site | |
- name: Setup SSH Keys and known_hosts | |
run: | | |
mkdir -p ~/.ssh | |
ssh-keyscan github.com >> ~/.ssh/known_hosts | |
ssh-agent -a $SSH_AUTH_SOCK > /dev/null | |
ssh-add - <<< "$deploy_key" | |
echo ::set-env name=SSH_AUTH_SOCK::$SSH_AUTH_SOCK | |
env: | |
SSH_AUTH_SOCK: /tmp/ssh_agent.sock | |
deploy_key: ${{ secrets.DEPLOY_SSH_KEY }} | |
- name: "Clone blog_os_deploy Repo" | |
run: git clone [email protected]:phil-opp/blog_os_deploy.git --branch gh-pages | |
- name: "Set Up Git Identity" | |
run: | | |
git config --local user.name "GitHub Actions Deploy" | |
git config --local user.email "[email protected]" | |
working-directory: "blog_os_deploy" | |
- name: "Delete Old Content" | |
run: "rm -r ./*" | |
working-directory: "blog_os_deploy" | |
- name: "Add New Content" | |
run: cp -r generated_site/* blog_os_deploy | |
- name: "Commit New Content" | |
run: | | |
git add . | |
git commit --allow-empty -m "Deploy ${GITHUB_SHA} | |
Deploy of commit https://github.com/phil-opp/blog_os/commit/${GITHUB_SHA}" | |
working-directory: "blog_os_deploy" | |
- name: "Show Changes" | |
run: "git show" | |
working-directory: "blog_os_deploy" | |
- name: "Push Changes" | |
run: "git push" | |
working-directory: "blog_os_deploy" |