Skip to content

Load cached Julia packages / _freeze #6

Load cached Julia packages / _freeze

Load cached Julia packages / _freeze #6

Workflow file for this run

name: Create release with _freeze
on:
workflow_dispatch:
# Comment out before merging!!
push:
branches:
- py/release-workflow
permissions:
contents: write
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Julia
uses: julia-actions/setup-julia@v2
with:
version: '1.10'
- name: Load Julia packages from cache
uses: julia-actions/cache@v2
- name: Set up Quarto
uses: quarto-dev/quarto-actions/setup@v2
with:
# Needs Quarto 1.6 (which is currently a pre-release version) to fix #533
version: pre-release
- name: Restore cached _freeze folder
id: cache-restore
uses: actions/cache/restore@v4
with:
path: |
./_freeze/
key: |
${{ runner.os }}-${{ hashFiles('**/Manifest.toml') }}-${{ hashFiles('**/index.qmd') }}
restore-keys: |
${{ runner.os }}-${{ hashFiles('**/Manifest.toml') }}
- name: Render
run: quarto render
- name: Compress _freeze folder
run: tar -czf _freeze.tar.gz _freeze
- name: Generate tag name for release
id: tag
run: echo "tag_name=freeze_$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
- name: Create GitHub release
uses: softprops/action-gh-release@v2
with:
tag_name: ${{ steps.tag.outputs.tag_name }}
files: |
_freeze.tar.gz
Manifest.toml
body: |
This release contains the `_freeze` folder generated by Quarto when
rendering the docs. You can use this to speed up the rendering process
on your local machine by downloading and extracting the `_freeze` folder,
then placing it at the root of the project.
Note that the contents of the `_freeze` folder only hash the contents of
the .qmd files, and do not include information about the Julia environment.
Thus, each `_freeze` folder is only valid for a given Julia environment,
which is specified in the Manifest.toml file included in this release. To
ensure reproducibility, you should make sure to use the Manifest.toml file
locally as well.