16 Commits

Author SHA1 Message Date
4e3af32f41 fix: link to sources
All checks were successful
Build and Deploy to MinIO / build (push) Successful in 1m19s
Build and Deploy to MinIO / deploy (push) Successful in 59s
2025-09-06 09:03:47 +02:00
bcd9480e66 fix: same for download-artifact
All checks were successful
Build and Deploy to MinIO / build (push) Successful in 1m17s
Build and Deploy to MinIO / deploy (push) Successful in 38s
2025-09-06 06:35:24 +02:00
4c22c889bf build: change version of upload-artifact
Some checks failed
Build and Deploy to MinIO / build (push) Successful in 1m53s
Build and Deploy to MinIO / deploy (push) Failing after 24s
2025-09-06 06:30:14 +02:00
fbd7a0ce54 build: add gostscrip to ci
Some checks failed
Build and Deploy to MinIO / build (push) Failing after 1m10s
Build and Deploy to MinIO / deploy (push) Has been skipped
2025-09-06 06:24:24 +02:00
5e5a40eebe build: split workflow in 2 jobs
Some checks failed
Build and Deploy to MinIO / build (push) Failing after 1m11s
Build and Deploy to MinIO / deploy (push) Has been skipped
2025-09-06 06:17:32 +02:00
5d81ca35c5 build: try other syntax
Some checks failed
Build and Deploy to MinIO / build-and-deploy (push) Failing after 51s
2025-09-06 05:52:04 +02:00
1aede656fa build: remove $
Some checks failed
Build and Deploy to MinIO / build-and-deploy (push) Failing after 41s
2025-09-06 05:48:13 +02:00
3c9feb0cf5 build: fix variable syntax
Some checks failed
Build and Deploy to MinIO / build-and-deploy (push) Failing after 43s
2025-09-06 05:44:06 +02:00
ec8d4d23b7 build: use vars.***
Some checks failed
Build and Deploy to MinIO / build-and-deploy (push) Failing after 43s
2025-09-05 22:55:58 +02:00
7577854064 build: add debugger for variables
Some checks failed
Build and Deploy to MinIO / build-and-deploy (push) Failing after 43s
2025-09-05 22:52:29 +02:00
9e8d523de1 build: add debugger
Some checks failed
Build and Deploy to MinIO / build-and-deploy (push) Failing after 42s
2025-09-05 22:47:43 +02:00
03290ee848 build: add echo $BRANCH_NAME
Some checks failed
Build and Deploy to MinIO / build-and-deploy (push) Failing after 42s
2025-09-05 22:40:58 +02:00
be17a9952c build: fix content source
Some checks failed
Build and Deploy to MinIO / build-and-deploy (push) Failing after 42s
2025-09-05 22:34:31 +02:00
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
5 changed files with 130 additions and 115 deletions

View File

@@ -1,101 +0,0 @@
---
kind: pipeline
name: Opytex Main
type: docker
trigger:
branch:
- master
steps:
- name: Build Opytex base
image: python:3.8-alpine
volumes:
- name: pelican-output
path: /output
commands:
- apk add --no-cache git imagemagick-dev imagemagick
- git submodule init
- git submodule update
- pip install --no-cache-dir -r requirements.txt
- export MAGICK_HOME=/usr
- pelican ./content/ -o /output -s publishconf.py --relative-urls
- ls /output
- name: Push to bucket opytex.org
image: plugins/s3
volumes:
- name: pelican-output
path: /output
settings:
bucket: opytex.org
endpoint: https://storage.opytex.org
access_key:
from_secret: minio_access_key
secret_key:
from_secret: minio_secret_key
source: /output/**/*
target: /
path_style: true
strip_prefix: /output
volumes:
- name: pelican-output
temp: {}
---
kind: pipeline
name: Opytex Year
type: docker
trigger:
branch:
- 2022-2023
- 2021-2022
- 2020-2021
- 2019-2020
- 2018-2019
- 2017-2018
- 2016-2017
- 2015-2016
steps:
- name: Build Opytex ${DRONE_BRANCH}
image: python:3.8-alpine
volumes:
- name: pelican-output
path: /output
commands:
- apk add --no-cache git imagemagick-dev imagemagick
- git submodule init
- git submodule update
- git clone https://git.opytex.org/lafrite/${DRONE_BRANCH}.git content
- pip install --no-cache-dir -r requirements.txt
- apk add --no-cache git imagemagick-dev imagemagick
- pip install --no-cache-dir -r requirements.txt
- export MAGICK_HOME=/usr
- pelican ./content/ -o /output -s publishconf.py --relative-urls
- ls /output
- name: Push to bucket opytex.org
image: plugins/s3-sync:1
volumes:
- name: pelican-output
path: /drone/src/output
settings:
bucket: opytex.org
endpoint: https://storage.opytex.org
access_key:
from_secret: minio_access_key
secret_key:
from_secret: minio_secret_key
source: /output
target: /enseignements/${DRONE_BRANCH}
path_style: true
delete: true
volumes:
- name: pelican-output
temp: {}

107
.gitea/workflows/deploy.yml Normal file
View File

@@ -0,0 +1,107 @@
name: Build and Deploy to MinIO
on:
push:
branches:
# - master
- 2025-2026
jobs:
build:
runs-on: ubuntu-latest
outputs:
branch-type: ${{ steps.branch-info.outputs.branch-type }}
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: true
fetch-depth: 0
- name: Set branch type
id: branch-info
run: |
if [ "${{ gitea.ref }}" = "refs/heads/master" ]; then
echo "branch-type=master" >> $GITEA_OUTPUT
else
echo "branch-type=year" >> $GITEA_OUTPUT
fi
- 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 ghostscript
- name: Install Python dependencies
run: |
pip install --no-cache-dir -r requirements.txt
- name: Setup content directory for year branches
env:
BRANCH_NAME: ${{ gitea.ref_name }}
if: gitea.ref != 'refs/heads/master'
run: |
echo "Branch name: $BRANCH_NAME"
echo "Testing URL: https://git.opytex.org/Cours/${BRANCH_NAME}.git"
curl -I "https://git.opytex.org/Cours/${BRANCH_NAME}.git" || echo "URL not accessible"
rm -rf content
git clone https://git.opytex.org/Cours/${BRANCH_NAME}.git content
- name: Build site
run: |
export MAGICK_HOME=/usr
pelican ./content/ -o ./output -s publishconf.py --relative-urls
- name: Upload build artifact
uses: actions/upload-artifact@v3
with:
name: site-build
path: output/
retention-days: 1
deploy:
runs-on: ubuntu-latest
needs: build
steps:
- name: Download build artifact
uses: actions/download-artifact@v3
with:
name: site-build
path: output/
- 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: needs.build.outputs.branch-type == 'master'
run: |
mc mirror --overwrite --exclude "enseignements/*" ./output/ storage/$MINIO_BUCKET
- name: Deploy to MinIO - Year branches
env:
MINIO_BUCKET: ${{ secrets.MINIO_BUCKET }}
BRANCH_NAME: ${{ gitea.ref_name }}
if: needs.build.outputs.branch-type == 'year'
run: |
mc mirror --overwrite --remove ./output/ storage/$MINIO_BUCKET/enseignements/${BRANCH_NAME}/

View File

@@ -7,10 +7,11 @@ import sys
sys.path.append(os.curdir) sys.path.append(os.curdir)
from globalconf import * from globalconf import *
YEAR = "2025-2026"
AUTHOR = "Benjamin Bertrand" AUTHOR = "Benjamin Bertrand"
SITENAME = "OpyTex" SITENAME = "OpyTex"
SITETITLE = "OpyTex" SITETITLE = "OpyTex"
SITESUBTITLE = "2022-2023" SITESUBTITLE = YEAR
SITEURL = "" SITEURL = ""
CC_LICENSE_COMMERCIAL = True CC_LICENSE_COMMERCIAL = True
@@ -50,7 +51,7 @@ PLUGINS = [
ALWAYS_MODIFIED = True ALWAYS_MODIFIED = True
# Mirror source structure # 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" ARTICLE_URL = ARTICLE_SAVE_AS = PAGE_URL = PAGE_SAVE_AS = "{path_no_ext}.html"
# USE_FOLDER_AS_CATEGORY = True # USE_FOLDER_AS_CATEGORY = True
@@ -93,5 +94,5 @@ AUTHOR_FEED_ATOM = None
AUTHOR_FEED_RSS = None AUTHOR_FEED_RSS = None
# SOURCE LINK # SOURCE LINK
GIT_SOURCE_BASE_URL = "https://git.opytex.org/spazz/2022-2023/src/branch/main" GIT_SOURCE_BASE_URL = f"https://git.opytex.org/Cours/{YEAR}/src/branch/main"
SOURCE_ICON_URL = "https://git.opytex.org/assets/img/logo.svg" SOURCE_ICON_URL = "https://git.opytex.org/assets/img/logo.svg"

View File

@@ -13,7 +13,7 @@ from pelicanconf import *
# If your site is available via HTTPS, make sure SITEURL begins with https:// # 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 RELATIVE_URLS = False
FEED_ALL_ATOM = "feeds/all.atom.xml" FEED_ALL_ATOM = "feeds/all.atom.xml"

View File

@@ -1,15 +1,23 @@
anyio==4.10.0
beautifulsoup4==4.9.1 beautifulsoup4==4.9.1
blinker==1.4 blinker==1.9.0
bs4==0.0.1 bs4==0.0.1
docutils==0.16 docutils==0.22
feedgenerator==1.9.1 feedgenerator==2.2.1
Jinja2==2.11.2 idna==3.10
MarkupSafe==1.1.1 Jinja2==3.1.6
pelican==4.2.0 markdown-it-py==4.0.0
Pygments==2.6.1 MarkupSafe==3.0.2
python-dateutil==2.8.1 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 pytz==2020.1
six==1.15.0 rich==14.1.0
six==1.17.0
sniffio==1.3.1
soupsieve==2.0.1 soupsieve==2.0.1
Unidecode==1.1.1 Unidecode==1.4.0
Wand==0.6.2 Wand==0.6.2
watchfiles==1.1.0