mdbook: init
Some checks failed
Publish mdBook container / publish (push) Failing after 15s

This commit is contained in:
Adrian Wannenmacher 2023-12-14 04:47:54 +01:00
parent 2076396230
commit 5ae1f78881
Signed by: tfld
GPG Key ID: 19D986ECB1E492D5
3 changed files with 84 additions and 0 deletions

53
.github/workflows/mdbook.yml vendored Normal file
View File

@ -0,0 +1,53 @@
name: Publish mdBook container
on:
push:
branches:
- "main"
paths:
- "mdbook/**"
- ".github/workflows/mdbook.yml"
env:
IMAGE: tools-mdbook
VERSION: 0.4.35
VERSION_MERMAID: 0.12.6
jobs:
publish:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Log into Registry
uses: docker/login-action@v2
with:
registry: ${{ vars.REGISTRY }}
username: ${{ secrets.REGISTRY_USER }}
password: ${{ secrets.REGISTRY_PASSWORD }}
- name: Extract Metadata
id: meta
uses: docker/metadata-action@v5
with:
images: ${{ vars.REGISTRY }}/${{ secrets.REGISTRY_USER }}/${{ env.IMAGE }}
labels: |
org.opencontainers.image.title=mdBook
org.opencontainers.image.description=mdBook in a container
org.opencontainers.image.version=${{ env.VERSION }}
tags: |
type=semver,pattern={{version}},value=v${{ env.VERSION }}
type=semver,pattern={{major}}.{{minor}},value=v${{ env.VERSION }}
type=semver,pattern={{major}}=v${{ env.VERSION }}
- name: Build and Push
uses: docker/build-push-action@v4
with:
context: ./mdbook
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
build-args: |
VERSION=${{ env.VERSION }}
VERSION_MERMAID=${{ env.VERSION_MERMAID }}

13
mdbook/Containerfile Normal file
View File

@ -0,0 +1,13 @@
FROM rust:slim
LABEL org.opencontainers.image.description="mdBook container (from source)"
ARG VERSION
ARG VERSION_MERMAID
RUN cargo install mdbook --version $VERSION
RUN cargo install mdbook-mermaid --version $VERSION_MERMAID
ENV SOURCE=/book
EXPOSE 3000/tcp
CMD mdbook serve $SOURCE -n 0.0.0.0

18
mdbook/action.yml Normal file
View File

@ -0,0 +1,18 @@
name: mdBook
description: Build mdBook book
inputs:
source:
description: Where to find the books source.
default: /book
destination:
description: Where to put the rendered content.
default: /rendered
runs:
using: docker
image: docker://git.tfld.dev/tfld/tools-mdbook
args:
- mdbook
- build
- --dest-dir
- ${{ inputs.destination }}
- ${{ inputs.source }}