Skip to content

Release 1.0.0

Release 1.0.0 #9

name: LDES Server Primer Build
on:
pull_request:
paths: ["server-primer.bs", "header.include", "footer.include", "logo.include", "assets/**"]
push:
branches: ["master"]
tags: ["*"]
paths: ["server-primer.bs", "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: Copy working draft assets
run: |
set -euo pipefail
mkdir -p workingdraft/assets
cp -R source-snapshot/assets/. workingdraft/assets/
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 workingdraft/assets
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: Copy server-primer snapshot
run: |
set -euo pipefail
tag="${GITHUB_REF_NAME}"
dest="releases/${tag}"
mkdir -p "${dest}"
cp server-primer.html "${dest}/server-primer.html"
mkdir -p "${dest}/assets"
cp -R assets/. "${dest}/assets/"
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 "${dest}/server-primer.html" "${dest}/assets"
git commit -m "Add server primer snapshot for ${tag}"
git push
else
echo "No changes to commit."
fi