add gitea workflows
All checks were successful
Build and Deploy Documentation / build-and-deploy (push) Successful in 12s

This commit is contained in:
2025-04-24 14:53:25 +02:00
parent 5a1f4e7bcf
commit 3a970492c7
8 changed files with 66 additions and 70 deletions

View File

@ -0,0 +1,39 @@
---
name: Build and Deploy Documentation
on:
push:
branches:
- master
workflow_dispatch:
jobs:
build-and-deploy:
runs-on: ubuntu-latest
container:
image: gitea.psi.ch/hpce/gitea-pages
env:
JEKYLL_ENV: production
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Build Jekyll website
run: |
bundle exec jekyll --version
bundle exec jekyll build -d public
- name: Configure Git
run: |
git config --global user.name "Gitea Actions"
git config --global user.email "actions@gitea.local"
- name: Push to gitea-pages branch
run: |
git checkout --orphan gitea-pages
git reset --hard
ls -la
cp -r ./public/* .
git add .
git commit -m "Deploy site"
git push -f https://${{secrets.GITHUB_TOKEN}}@gitea.psi.ch/${{ github.repository }}.git gitea-pages

View File

@ -1,48 +0,0 @@
stages:
- test
- deploy
image: alpine:3.13
variables:
JEKYLL_ENV: production
before_script:
- apk list -I
- >
apk --no-cache add libatomic readline readline-dev libxml2 libxml2-dev
ncurses-terminfo-base ncurses-terminfo
libxslt libxslt-dev zlib-dev zlib
ruby ruby-dev yaml yaml-dev
libffi-dev build-base git nodejs
- gem install etc --no-document
- gem install bundler -v 2.4.22 --no-document
- pwd
- ls -l
- bundle install
######################################################################
# this defines the job (for gitlab-pages it has the special name "pages")
pages:
stage: deploy
script:
- pwd
- ls -l
- bundle exec jekyll --version
- bundle exec jekyll build -d public
# defines what is produced by the scripts (the "artifacts")
artifacts:
paths:
- public
# the tags define which runners (builders) will be selected. A
# suitable runner must have an identical tag
tags:
- shared
- gitlab-pages
- docker
# the "pages" job is only to be run for the master branch
only:
- master

View File

@ -1,24 +1,24 @@
FROM alpine:3.13
WORKDIR /tmp
ADD Gemfile /tmp/
ADD Gemfile.lock /tmp/
COPY Gemfile /tmp/
COPY Gemfile.lock /tmp/
RUN apk list -I && \
apk --no-cache add libatomic readline readline-dev libxml2 libxml2-dev \
RUN apk list -I && apk --no-cache add \
libatomic readline readline-dev libxml2 libxml2-dev \
ncurses-terminfo-base ncurses-terminfo \
libxslt libxslt-dev zlib-dev zlib \
ruby ruby-dev yaml yaml-dev \
libffi-dev build-base git nodejs
RUN gem env
RUN gem install etc --no-document
RUN gem install bundler -v 2.4.22 --no-document
RUN pwd
RUN ls -l
RUN bundle install
libffi-dev build-base git nodejs \
&& gem env \
&& gem install etc --no-document \
&& gem install bundler -v 2.4.22 --no-document \
&& pwd \
&& ls -l \
&& bundle install
VOLUME /src
EXPOSE 4001
WORKDIR /src
ENTRYPOINT ["jekyll", "serve", "--livereload", "-H", "0.0.0.0"]
CMD ["jekyll", "serve", "--livereload", "-H", "0.0.0.0"]

View File

@ -1,8 +1,7 @@
# HPCE Documentation
This site documents HCPE services at Paul Scherrer Institute, particularly the *Merlin 6* cluster.
Live pages are available at https://lsm-hpce.gitpages.psi.ch.
This site contains internal documentation of HCPE services at Paul Scherrer Institute, particularly the *Merlin 6* and *Merlin 7* clusters.
Live pages are available at <https://hpce.pages.psi.ch>.
## Installation
@ -45,7 +44,8 @@ by Tom Johnson.
- Documentation is organized within the `pages` directory
- Add the following frontmatter to each (Merlin6) page:
```
```md
---
title: Introduction
sidebar: merlin6_sidebar
@ -53,12 +53,19 @@ by Tom Johnson.
keywords: key1, key2
---
```
- Sidebars are specified in data files, e.g. `_data/sidebars/merlin6_sidebar.yml`.
- The top menu is controlled by `_data/topnav.yml`
- News can be addin in `_posts`. Filenames must include the date.
- Lots of features still need to be configured (e.g. pdf output, tags, etc)
- The search bar uses finds substring of the title, tags, keywords, and summary frontmatter.
## Deployment
We use the Gitea workflow (see `.gitea/workflow/deploy-pages.yml` for details). The
pages are automatically re-generated on each push to `master` branch. The resulting website
is stored under the `gitea-pages` branch, and is automatically exposed.
## License
Theme content is licensed under the MIT license.

View File

@ -1,5 +1,3 @@
repository: lsm-hpce/lsm-hpce.gitpages.psi.ch
output: web
# this property is useful for conditional filtering of content that is separate from the PDF.
@ -123,7 +121,7 @@ description: "Merlin is the HPC cluster at Paul Scherrer Institute in Switzerlan
# the description is used in the feed.xml file
# needed for sitemap.xml file only
url: "https://lsm-hpce.gitpages.psi.ch"
url: "https://hpce.pages.psi.ch"
baseurl: /

View File

@ -6,6 +6,6 @@ summary: "More pages will be coming soon."
tags: [news, getting_started]
---
Merlin 6 docs are now available at https://lsm-hpce.gitpages.psi.ch/merlin6!
Merlin 6 docs are now available at https://hpce.pages.psi.ch/merlin6!
More complete documentation will be coming shortly.

View File

@ -9,6 +9,6 @@ tags: [news, getting_started]
The Merlin7 cluster is officially in preproduction. This phase will be tested by a few users
and slowly we will contact other users to be part of it. Keep in mind that access is restricted.
Merlin7 documentation is now available https://lsm-hpce.gitpages.psi.ch/merlin7/slurm-configuration.html.
Merlin7 documentation is now available https://hpce.pages.psi.ch/merlin7/slurm-configuration.html.
More complete documentation will be coming shortly.

View File

@ -12,7 +12,7 @@ permalink: /merlin7/slurm-examples.html
{{site.data.alerts.warning}}The Merlin7 documentation is <b>Work In Progress</b>.
Please do not use or rely on this documentation until this becomes official.
This applies to any page under <b><a href="https://lsm-hpce.gitpages.psi.ch/merlin7/">https://lsm-hpce.gitpages.psi.ch/merlin7/</a></b>
This applies to any page under <b><a href="https://hpce.pages.psi.ch/merlin7/">https://hpce.pages.psi.ch/merlin7/</a></b>
{{site.data.alerts.end}}
## Single core based job examples