Skip to content

Update build tools #364

Update build tools

Update build tools #364

Workflow file for this run

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/[email protected]
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.pdf
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