3 Commits

Author SHA1 Message Date
251d637a7b build: mc
All checks were successful
Build and Deploy to MinIO / build-and-deploy (push) Successful in 6m20s
2025-09-05 22:25:18 +02:00
711fbb12d5 build: add deployment 2025-09-05 22:09:43 +02:00
cadbaa163e feat: update version and refs 2025-09-05 22:09:32 +02:00
4 changed files with 96 additions and 13 deletions

View File

@@ -0,0 +1,75 @@
name: Build and Deploy to MinIO
on:
push:
branches:
# - master
- 2025-2026
jobs:
build-and-deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: true
fetch-depth: 0
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: "3.13"
- name: Install system dependencies
run: |
sudo apt-get update
sudo apt-get install -y imagemagick libmagickwand-dev
- name: Install Python dependencies
run: |
pip install --no-cache-dir -r requirements.txt
- name: Setup content directory for year branches
if: gitea.ref != 'refs/heads/master'
run: |
BRANCH_NAME=${GITEA_REF_NAME}
if [ ! -L content ]; then
rm -rf content
git clone https://git.opytex.org/lafrite/${BRANCH_NAME}.git content
fi
- name: Build site
run: |
export MAGICK_HOME=/usr
pelican ./content/ -o ./output -s publishconf.py --relative-urls
- name: Install MinIO client
run: |
wget https://dl.min.io/client/mc/release/linux-amd64/mc
chmod +x mc
sudo mv mc /usr/local/bin/
- name: Configure MinIO client
env:
MINIO_REPOSITORY: ${{ secrets.MINIO_REPOSITORY }}
MINIO_ACCESS_KEY: ${{ secrets.MINIO_ACCESS_KEY }}
MINIO_SECRET_KEY: ${{ secrets.MINIO_SECRET_KEY }}
run: |
mc alias set storage $MINIO_REPOSITORY $MINIO_ACCESS_KEY $MINIO_SECRET_KEY
- name: Deploy to MinIO - Master branch
env:
MINIO_BUCKET: ${{ secrets.MINIO_BUCKET }}
if: gitea.ref == 'refs/heads/master'
run: |
mc mirror --overwrite --exclude "enseignements/*" ./output/ storage/$MINIO_BUCKET
- name: Deploy to MinIO - Year branches
env:
MINIO_BUCKET: ${{ secrets.MINIO_BUCKET }}
if: gitea.ref != 'refs/heads/master'
run: |
BRANCH_NAME=${GITEA_REF_NAME}
mc mirror --overwrite --remove ./output/ storage/$MINIO_BUCKET/enseignements/${BRANCH_NAME}/

View File

@@ -10,7 +10,7 @@ from globalconf import *
AUTHOR = "Benjamin Bertrand"
SITENAME = "OpyTex"
SITETITLE = "OpyTex"
SITESUBTITLE = "2022-2023"
SITESUBTITLE = "2025-2026"
SITEURL = ""
CC_LICENSE_COMMERCIAL = True
@@ -50,7 +50,7 @@ PLUGINS = [
ALWAYS_MODIFIED = True
# Mirror source structure
PATH_METADATA = "(?P<path_no_ext>.*)\..*"
PATH_METADATA = r"(?P<path_no_ext>.*)\..*"
ARTICLE_URL = ARTICLE_SAVE_AS = PAGE_URL = PAGE_SAVE_AS = "{path_no_ext}.html"
# USE_FOLDER_AS_CATEGORY = True

View File

@@ -13,7 +13,7 @@ from pelicanconf import *
# If your site is available via HTTPS, make sure SITEURL begins with https://
SITEURL = "https://opytex.org/enseignements/2022-2023/"
SITEURL = "https://opytex.org/enseignements/2025-2026/"
RELATIVE_URLS = False
FEED_ALL_ATOM = "feeds/all.atom.xml"

View File

@@ -1,15 +1,23 @@
anyio==4.10.0
beautifulsoup4==4.9.1
blinker==1.4
blinker==1.9.0
bs4==0.0.1
docutils==0.16
feedgenerator==1.9.1
Jinja2==2.11.2
MarkupSafe==1.1.1
pelican==4.2.0
Pygments==2.6.1
python-dateutil==2.8.1
docutils==0.22
feedgenerator==2.2.1
idna==3.10
Jinja2==3.1.6
markdown-it-py==4.0.0
MarkupSafe==3.0.2
mdurl==0.1.2
ordered-set==4.1.0
pelican==4.11.0
Pygments==2.18.0
python-dateutil==2.9.0.post0
pytz==2020.1
six==1.15.0
rich==14.1.0
six==1.17.0
sniffio==1.3.1
soupsieve==2.0.1
Unidecode==1.1.1
Unidecode==1.4.0
Wand==0.6.2
watchfiles==1.1.0