More tweaks on tw config #4579
Workflow file for this run
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: | |
build-and-upload-viewer-resources: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: 🔧 Install java | |
uses: actions/setup-java@v1 | |
with: | |
java-version: '11.0.7' | |
cache: 'maven' | |
- name: 🔧 Install clojure | |
uses: DeLaGuardo/setup-clojure@master | |
with: | |
cli: '1.10.3.943' | |
bb: latest | |
clj-kondo: latest | |
- name: 🗝 maven cache | |
uses: actions/cache@v3 | |
with: | |
path: | | |
~/.m2 | |
~/.gitlibs | |
~/.deps.clj | |
key: ${{ runner.os }}-maven-build-viewer-${{ hashFiles('deps.edn') }} | |
- name: Build and upload viewer resources | |
env: | |
GITHUB_TOKEN: ${{ secrets.CAS_AUTH_TOKEN }} | |
run: bb build+upload-viewer-resources | |
clj-kondo: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: 🔧 Install clojure | |
uses: DeLaGuardo/setup-clojure@master | |
with: | |
bb: latest | |
clj-kondo: latest | |
- name: 🗝 maven cache | |
uses: actions/cache@v3 | |
with: | |
path: | | |
~/.m2 | |
~/.gitlibs | |
~/.deps.clj | |
key: ${{ runner.os }}-maven-lint-${{ hashFiles('bb.edn') }} | |
- name: Run clj-kondo linter | |
run: bb lint | |
test: | |
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: | |
- 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' | |
bb: latest | |
- name: 🗝 maven cache | |
uses: actions/cache@v3 | |
with: | |
path: | | |
~/.m2 | |
~/.gitlibs | |
~/.deps.clj | |
key: ${{ runner.os }}-maven-test-${{ hashFiles('deps.edn') }} | |
- name: 🧪 Run tests | |
run: bb test:clj :kaocha/reporter '[kaocha.report/documentation]' | |
static-build: | |
runs-on: ubuntu-latest | |
needs: [build-and-upload-viewer-resources] | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- 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' | |
bb: latest | |
- name: 🗝 maven cache | |
uses: actions/cache@v3 | |
with: | |
path: | | |
~/.m2 | |
~/.gitlibs | |
~/.deps.clj | |
key: ${{ runner.os }}-maven-build-${{ hashFiles('deps.edn') }} | |
- name: 🗝 Clerk Cache | |
uses: actions/cache@v2 | |
with: | |
path: .clerk | |
key: ${{ runner.os }}-clerk-cache | |
- 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 Book | |
run: | | |
cp notebooks/editor.clj editor.clj | |
clojure -J-Dclojure.main.report=stderr -X:demo:nextjournal/clerk :git/sha '"${{ github.sha }}"' :git/url '"https://github.com/nextjournal/clerk"' :paths '["book.clj" "CHANGELOG.md" "editor.clj"]' | |
- name: 🏗 Build Clerk Static App with default Notebooks | |
run: clojure -J-Dclojure.main.report=stderr -X:demo:nextjournal/clerk :git/sha '"${{ github.sha }}"' :git/url '"https://github.com/nextjournal/clerk"' :bundle true | |
- name: 📠 Copy book & static build to bucket under SHA | |
run: | | |
gsutil cp -r public/build gs://nextjournal-snapshots/clerk/build/${{ github.sha }} | |
- name: ✅ Add success status to report with link to snapshot | |
uses: Sibz/github-status-action@v1 | |
with: | |
authToken: ${{secrets.GITHUB_TOKEN}} | |
context: 'Continuous Delivery / Static App' | |
description: 'Ready' | |
state: 'success' | |
sha: ${{github.event.pull_request.head.sha || github.sha}} | |
target_url: https://snapshots.nextjournal.com/clerk/build/${{ github.sha }} | |
ssr: | |
name: SSR + CSS compilation smoke test | |
runs-on: ubuntu-latest | |
needs: [build-and-upload-viewer-resources] | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- 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@v3 | |
with: | |
path: | | |
~/.m2 | |
~/.gitlibs | |
~/.deps.clj | |
key: ${{ runner.os }}-maven-ssr-${{ hashFiles('deps.edn') }} | |
- name: 🎨 Setup Tailwindcss | |
run: | | |
npm install | |
# we're affected by https://github.com/npm/cli/issues/5126 (touching yarn.lock messes up the frontend hash) | |
git status | |
git checkout yarn.lock | |
- name: 🧪 Build Rule 30 Notebook with SSR | |
run: clojure -J-Dclojure.main.report=stdout -X:demo:nextjournal/clerk :git/sha '"${{ github.sha }}"' :git/url '"https://github.com/nextjournal/clerk"' :paths '["notebooks/rule_30.clj" "notebooks/links.md"]' :ssr true :compile-css true :exclude-js true | |
- 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: 📠 Copy SSR static build to bucket under SHA | |
run: | | |
gsutil cp -r public/build gs://nextjournal-snapshots/clerk-ssr/build/${{ github.sha }} | |
- name: ✅ Add success status to report with link to ssr snapshot | |
uses: Sibz/github-status-action@v1 | |
with: | |
authToken: ${{secrets.GITHUB_TOKEN}} | |
context: 'Continuous Delivery / SSR Static App with compiled CSS' | |
description: 'Ready' | |
state: 'success' | |
sha: ${{github.event.pull_request.head.sha || github.sha}} | |
target_url: https://snapshots.nextjournal.com/clerk-ssr/build/${{ github.sha }} | |
ui-tests: | |
needs: [static-build] | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: 🔧 Install clojure | |
uses: DeLaGuardo/setup-clojure@master | |
with: | |
bb: latest | |
- name: 🗝 maven cache | |
uses: actions/cache@v3 | |
with: | |
path: | | |
~/.m2 | |
~/.gitlibs | |
~/.deps.clj | |
key: ${{ runner.os }}-maven-ui-tests-${{ hashFiles('deps.edn') }} | |
- name: Run Playwright tests against static assets | |
run: | | |
bb test:static-app ${{ github.sha }} | |
deploy: | |
needs: [build-and-upload-viewer-resources, test] | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: 🔧 Install clojure | |
uses: DeLaGuardo/setup-clojure@master | |
with: | |
bb: latest | |
- name: 🗝 maven cache | |
uses: actions/cache@v3 | |
with: | |
path: | | |
~/.m2 | |
~/.gitlibs | |
~/.deps.clj | |
key: ${{ runner.os }}-maven-deploy-${{ hashFiles('deps.edn') }} | |
- name: Install SSH key and start ssh-agent | |
uses: webfactory/[email protected] | |
with: | |
ssh-private-key: ${{ secrets.NEXTJOURNAL_CI_SSH_KEY }} | |
- name: Publish to clojars | |
env: | |
CLOJARS_USERNAME: mkvlr | |
CLOJARS_PASSWORD: ${{ secrets.CLOJARS_PASSWORD_MKVLR }} | |
run: | | |
bb ci:publish | |
- name: Clerk version | |
id: clerk-version | |
run: | | |
CLERK_VERSION=$(bb clerk-version) | |
echo "##[set-output name=version;]${CLERK_VERSION}" | |
- uses: actions/upload-artifact@v1 | |
with: | |
name: clerk-${{ steps.clerk-version.outputs.version }}.jar | |
path: target/clerk-${{ steps.clerk-version.outputs.version }}.jar |