Skip to content

Improve Juvix Markdown pipeline, caching and Python project codebase … #32

Improve Juvix Markdown pipeline, caching and Python project codebase …

Improve Juvix Markdown pipeline, caching and Python project codebase … #32

Workflow file for this run

name: Mkdocs+Juvix CI
'on':
push:
branches:
- main
env:
CI: true
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
PYTHON_VERSION: 3.x
POETRY_VERSION: 1.8.3
GIT_COMMITTER_EMAIL: [email protected]
GIT_COMMITTER_NAME: Tara
BRANCH_NAME: ${{ github.head_ref || github.ref_name }}
concurrency:
group: "${{ github.workflow }}-${{ github.head_ref || github.run_id }}"
cancel-in-progress: true
permissions:
contents: write
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/[email protected]
with:
submodules: true
fetch-depth: 0
- run: |
git config --global user.name 'Tara'
git config --global user.email '[email protected]'
- name: Install Juvix
uses: jaxxstorm/[email protected]
with:
repo: anoma/juvix
tag: v0.6.6
cache: enable
rename-to: juvix
chmod: 0755
- uses: actions/[email protected]
with:
key: juvix-cache-${{ hashFiles('**/*.juvix.md') }}-${{ hashFiles('**/*.juvix') }}
path: .juvix-build
restore-keys: |
juvix-cache-
- name: Install Python
uses: actions/[email protected]
with:
python-version: ${{ env.PYTHON_VERSION }}
- name: Install Poetry
uses: abatilo/[email protected]
with:
poetry-version: ${{ env.POETRY_VERSION }}
- name: Cache .cache
uses: actions/[email protected]
with:
key: mkdocs-material-${{ env.cache_id }}
path: .cache
restore-keys: |
mkdocs-material-
- name: Install Linux dependencies
run: sudo apt-get install -y libcairo2-dev libfreetype6-dev libffi-dev libjpeg-dev libpng-dev libz-dev pngquant graphviz
- run: |
poetry config virtualenvs.create false --local
poetry config virtualenvs.in-project false --local
- name: Install Python dependencies
run: poetry install
- name: Run test
run: poetry run pytest
- name: Create MkDocs Project
run: |
juvix-mkdocs new -f -n --no-run-server --no-open --project-name my-juvix-project --anoma-setup
- name: Build MkDocs Project
run: juvix-mkdocs build -p my-juvix-project
env:
SITE_URL: https://anoma.github.io/juvix-mkdocs
- if: success()
uses: JamesIves/[email protected]
with:
folder: my-juvix-project/site
token: ${{ secrets.GITHUB_TOKEN }}
clean: true
git-config-name: ${{ env.GIT_COMMITTER_NAME }}
git-config-email: ${{ env.GIT_COMMITTER_EMAIL }}