Skip to content

Fix links in JS

Fix links in JS #20

name: LDES Server Primer Build
on:
pull_request:
paths: ["server-primer.bs", "*.svg", "*.png", "*.jpg", "*.jpeg", "*.webp", "header.include", "footer.include", "logo.include", "assets/**"]
push:
branches: ["master"]
tags: ["*"]
paths: ["server-primer.bs", "*.svg", "*.png", "*.jpg", "*.jpeg", "*.webp", "header.include", "footer.include", "logo.include", "assets/**", ".github/workflows/ldes-server-primer-build.yml"]
workflow_dispatch:
concurrency:
group: gh-pages-publish
cancel-in-progress: false
jobs:
build:
runs-on: ubuntu-latest
env:
SEMICMATOMOID: ${{ secrets.SEMICMATOMOID }}
steps:
- uses: actions/checkout@v3
- name: Publish Bikeshed document
if: ${{ env.SEMICMATOMOID == '' }}
uses: w3c/spec-prod@v2
with:
TOOLCHAIN: bikeshed
# Modify as appropriate
GH_PAGES_BRANCH: gh-pages
# The source file
SOURCE: server-primer.bs
# output filename defaults to your input
# with .html extension instead,
# but if you want to customize it:
DESTINATION: ${{ startsWith(github.ref, 'refs/tags/') && 'server-primer.html' || 'workingdraft/server-primer.html' }}
- name: Publish Bikeshed document with Matomo
if: ${{ env.SEMICMATOMOID != '' }}
uses: w3c/spec-prod@v2
with:
TOOLCHAIN: bikeshed
GH_PAGES_BRANCH: gh-pages
SOURCE: server-primer.bs
DESTINATION: ${{ startsWith(github.ref, 'refs/tags/') && 'server-primer.html' || 'workingdraft/server-primer.html' }}
GH_PAGES_BUILD_OVERRIDE: |
Text Macro: SEMICMATOMOID ${{ env.SEMICMATOMOID }}
copy-working-draft-assets:
name: Copy working draft assets
needs: build
runs-on: ubuntu-latest
if: github.ref == 'refs/heads/master'
permissions:
contents: write
steps:
- name: Checkout gh-pages
uses: actions/checkout@v3
with:
ref: gh-pages
fetch-depth: 0
- name: Checkout source snapshot
uses: actions/checkout@v3
with:
ref: ${{ github.sha }}
path: source-snapshot
- name: Set up Java
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: "17"
- name: Install GraphViz
run: sudo apt-get update && sudo apt-get install -y graphviz
- name: Download PlantUML
run: curl -L -o /tmp/plantuml.jar https://github.com/plantuml/plantuml/releases/download/v1.2024.7/plantuml-1.2024.7.jar
- name: Copy working draft assets
run: |
set -euo pipefail
java -Djava.awt.headless=true -jar /tmp/plantuml.jar -tsvg source-snapshot/assets/*.puml
mkdir -p assets
cp source-snapshot/assets/logo-ldes.svg assets/logo-ldes.svg
mkdir -p workingdraft/assets
find source-snapshot -maxdepth 1 -type f \( -iname "*.svg" -o -iname "*.png" -o -iname "*.jpg" -o -iname "*.jpeg" -o -iname "*.webp" \) -exec cp {} workingdraft/ \;
cp -R source-snapshot/assets/. workingdraft/assets/
rm -f workingdraft/assets/logo-ldes.svg
rm -rf source-snapshot
if git status --porcelain | grep . >/dev/null; then
git config user.email "semic-eu+github-actions[bot]@users.noreply.github.com"
git config user.name "SEMIC EU archival [bot]"
git add assets/logo-ldes.svg workingdraft
git commit -m "Update server primer working draft assets"
git push
else
echo "No changes to commit."
fi
copy-tag-version:
name: Copy tag snapshot
needs: build
runs-on: ubuntu-latest
if: startsWith(github.ref, 'refs/tags/')
permissions:
contents: write
steps:
- name: Checkout gh-pages
uses: actions/checkout@v3
with:
ref: gh-pages
fetch-depth: 0
- name: Checkout source snapshot
uses: actions/checkout@v3
with:
ref: ${{ github.ref }}
path: source-snapshot
- name: Set up Java
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: "17"
- name: Install GraphViz
run: sudo apt-get update && sudo apt-get install -y graphviz
- name: Download PlantUML
run: curl -L -o /tmp/plantuml.jar https://github.com/plantuml/plantuml/releases/download/v1.2024.7/plantuml-1.2024.7.jar
- name: Copy server-primer snapshot
run: |
set -euo pipefail
java -Djava.awt.headless=true -jar /tmp/plantuml.jar -tsvg source-snapshot/assets/*.puml
tag="${GITHUB_REF_NAME}"
dest="releases/${tag}"
mkdir -p "${dest}"
cp server-primer.html "${dest}/server-primer.html"
find source-snapshot -maxdepth 1 -type f \( -iname "*.svg" -o -iname "*.png" -o -iname "*.jpg" -o -iname "*.jpeg" -o -iname "*.webp" \) -exec cp {} "${dest}/" \;
mkdir -p assets
cp source-snapshot/assets/logo-ldes.svg assets/logo-ldes.svg
mkdir -p "${dest}/assets"
cp -R source-snapshot/assets/. "${dest}/assets/"
rm -f "${dest}/assets/logo-ldes.svg"
rm -rf source-snapshot
cat > server-primer.html <<EOF
<!doctype html>
<meta charset="utf-8">
<title>Redirecting to LDES Server Primer ${tag}</title>
<meta http-equiv="refresh" content="0; url=${dest}/server-primer.html">
<link rel="canonical" href="${dest}/server-primer.html">
<p>Latest release: <a href="${dest}/server-primer.html">${dest}/server-primer.html</a></p>
EOF
if git status --porcelain | grep . >/dev/null; then
git config user.email "semic-eu+github-actions[bot]@users.noreply.github.com"
git config user.name "SEMIC EU archival [bot]"
git add server-primer.html assets/logo-ldes.svg "${dest}"
git commit -m "Add server primer snapshot for ${tag}"
git push
else
echo "No changes to commit."
fi