ftnotes wip #273
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/setup-babashka@v1.3.0 | |
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/setup-babashka@v1.3.0 | |
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/setup-gcloud@v0.3.0 | |
- 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/github-pages-deploy-action@4.1.6 | |
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@v2 | |
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/setup-babashka@v1.3.0 | |
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@v1 | |
with: | |
name: markdown-${{ steps.jar-version.outputs.version }}.jar | |
path: target/markdown-${{ steps.jar-version.outputs.version }}.jar |