Skip to content

Commit

Permalink
Create GitHub action for releasing _freeze folder
Browse files Browse the repository at this point in the history
  • Loading branch information
penelopeysm committed Nov 2, 2024
1 parent 385b160 commit 8a36907
Showing 1 changed file with 59 additions and 0 deletions.
59 changes: 59 additions & 0 deletions .github/workflows/create_release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
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: 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: 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.

0 comments on commit 8a36907

Please sign in to comment.