Fix notebooks #331
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: Continuous Delivery | |
on: push | |
jobs: | |
tests: | |
name: Tests | |
runs-on: ${{matrix.sys.os}} | |
strategy: | |
matrix: | |
sys: | |
- { os: macos-latest, shell: bash } | |
- { os: ubuntu-latest, shell: bash } | |
- { os: windows-latest, shell: powershell } | |
defaults: | |
run: | |
shell: ${{matrix.sys.shell}} | |
steps: | |
- name: 🛎 Checkout | |
uses: actions/checkout@v2 | |
- name: 🔧 Install java | |
uses: actions/setup-java@v1 | |
with: | |
java-version: '11.0.7' | |
- name: 🔧 Install clojure | |
uses: DeLaGuardo/setup-clojure@master | |
with: | |
cli: '1.10.3.943' | |
- name: 🗝 maven cache | |
uses: actions/cache@v2 | |
with: | |
path: | | |
~/.m2 | |
~/.gitlibs | |
~/.deps.clj | |
key: ${{ runner.os }}-maven-${{ github.sha }} | |
restore-keys: | | |
${{ runner.os }}-maven- | |
- name: 🧪 Run tests | |
run: clojure -X:test | |
cljs-tests: | |
name: ClojureScript Tests | |
runs-on: ubuntu-latest | |
steps: | |
- name: 🛎 Checkout | |
uses: actions/checkout@v2 | |
- name: 🔧 Setup Babashka | |
uses: turtlequeue/[email protected] | |
with: | |
babashka-version: 0.7.8 | |
- name: 🗝 Yarn Cache | |
uses: c-hive/gha-yarn-cache@v2 | |
- name: 🗝 Shadow compiler cache | |
uses: actions/cache@v2 | |
with: | |
path: .shadow-cljs | |
key: ${{ runner.os }}-shadow-cljs-${{ github.sha }} | |
restore-keys: | | |
${{ runner.os }}-shadow-cljs- | |
- name: 🧪 Run tests | |
run: bb test:cljs | |
notebooks: | |
name: Clerk Notebooks Build | |
runs-on: ubuntu-latest | |
steps: | |
- name: 🛎 Checkout | |
uses: actions/checkout@v2 | |
- name: 🔧 Install java | |
uses: actions/setup-java@v1 | |
with: | |
java-version: '11.0.7' | |
- name: 🔧 Install clojure | |
uses: DeLaGuardo/setup-clojure@master | |
with: | |
cli: '1.10.3.943' | |
- name: 🔧 Setup Babashka | |
uses: turtlequeue/[email protected] | |
with: | |
babashka-version: 0.7.8 | |
- name: 🔧 Install Pandoc | |
run: | | |
curl -LO https://github.com/jgm/pandoc/releases/download/2.18/pandoc-2.18-1-amd64.deb | |
ls -lah | |
sudo dpkg -i pandoc-2.18-1-amd64.deb | |
- name: 🔧 Setup LaTeX | |
uses: wtfjoke/setup-tectonic@v1 | |
with: | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
- name: 🗝 maven cache | |
uses: actions/cache@v2 | |
with: | |
path: | | |
~/.m2 | |
~/.gitlibs | |
key: ${{ runner.os }}-maven-${{ github.sha }} | |
restore-keys: | | |
${{ runner.os }}-maven- | |
- name: 🗝 Clerk Cache | |
uses: actions/cache@v2 | |
with: | |
path: .clerk | |
key: ${{ runner.os }}-clerk-cache | |
- name: 🗝 Yarn Cache | |
uses: c-hive/gha-yarn-cache@v2 | |
- name: 🗝 Shadow compiler cache | |
uses: actions/cache@v2 | |
with: | |
path: .shadow-cljs | |
key: ${{ runner.os }}-shadow-cljs-${{ github.sha }} | |
restore-keys: | | |
${{ runner.os }}-shadow-cljs- | |
- name: 🔐 Google Auth | |
uses: google-github-actions/auth@v0 | |
with: | |
credentials_json: ${{ secrets.GCLOUD_SERVICE_KEY }} | |
- name: 🔧 Setup Google Cloud SDK | |
uses: google-github-actions/[email protected] | |
- name: 🏗 Build Clerk Notebooks with Bundled SCI Context | |
run: bb build:notebooks ${{ github.sha }} | |
- name: 📠 Copy static build to bucket under SHA | |
run: | | |
gsutil cp -r public/build gs://nextjournal-snapshots/markdown/build/${{ github.sha }} | |
- name: 📠 Copy static build to GitHub Pages | |
if: ${{ github.ref == 'refs/heads/main' }} | |
uses: JamesIves/[email protected] | |
with: | |
branch: gh-pages # The branch the action should deploy to. | |
folder: public/build # The folder the action should deploy. | |
- name: 📤 Upload Pdf demo notebook | |
uses: actions/upload-artifact@v4 | |
with: | |
name: demo | |
path: notebooks/demo.pdf | |
- name: ✅ Add success status to report with link to snapshot | |
uses: Sibz/github-status-action@v1 | |
with: | |
authToken: ${{secrets.GITHUB_TOKEN}} | |
context: 'Continuous Delivery / Clerk Static App' | |
description: 'Ready' | |
state: 'success' | |
sha: ${{github.event.pull_request.head.sha || github.sha}} | |
target_url: https://snapshots.nextjournal.com/markdown/build/${{ github.sha }} | |
deploy: | |
needs: [tests, cljs-tests] | |
runs-on: ubuntu-latest | |
steps: | |
- name: 🛎 Checkout | |
uses: actions/checkout@v3 | |
- name: 🏷 Get tags | |
run: git fetch --tags origin | |
- name: 🔧 Setup Babashka | |
uses: turtlequeue/[email protected] | |
with: | |
babashka-version: 0.8.156 | |
- name: 🗝 maven cache | |
uses: actions/cache@v2 | |
with: | |
path: | | |
~/.m2 | |
~/.gitlibs | |
key: ${{ runner.os }}-maven-${{ github.sha }} | |
restore-keys: | | |
${{ runner.os }}-maven- | |
- name: 🍯 Publish to clojars | |
env: | |
CLOJARS_USERNAME: mkvlr | |
CLOJARS_PASSWORD: ${{ secrets.CLOJARS_PASSWORD_MKVLR }} | |
run: bb ci:publish | |
- name: 🔢 Set lib version | |
id: jar-version | |
run: | | |
JAR_VERSION=$(bb current-version) | |
echo "##[set-output name=version;]${JAR_VERSION}" | |
- name: 📤 Upload JAR | |
uses: actions/upload-artifact@v4 | |
with: | |
name: markdown-${{ steps.jar-version.outputs.version }}.jar | |
path: target/markdown-${{ steps.jar-version.outputs.version }}.jar |