Compare commits
5 Commits
f810cf0686
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
6fc22a7a7f
|
|||
|
de0c9f5e01
|
|||
|
c9d37811aa
|
|||
| 83b7c5f3bd | |||
|
9319d42aca
|
@@ -46,11 +46,19 @@ jobs:
|
|||||||
sed -i "s|__PROXY_URL__|${{ secrets.MATOMO_PROXY_URL }}|" static/config.php
|
sed -i "s|__PROXY_URL__|${{ secrets.MATOMO_PROXY_URL }}|" static/config.php
|
||||||
sed -i "s|__TOKEN_AUTH__|${{ secrets.MATOMO_TOKEN_AUTH }}|" static/config.php
|
sed -i "s|__TOKEN_AUTH__|${{ secrets.MATOMO_TOKEN_AUTH }}|" static/config.php
|
||||||
|
|
||||||
|
- name: Check for broken links
|
||||||
|
run: |
|
||||||
|
if [ "${{ gitea.ref }}" = "refs/heads/main" ]; then
|
||||||
|
mise linkcheck --offline || true
|
||||||
|
else
|
||||||
|
mise linkcheck --offline
|
||||||
|
fi
|
||||||
|
|
||||||
- name: Build website with Hugo
|
- name: Build website with Hugo
|
||||||
run: hugo
|
run: mise run build
|
||||||
|
|
||||||
- name: Copy website to host
|
- name: Copy website to host
|
||||||
uses: https://github.com/appleboy/scp-action@v1.0.0
|
uses: https://github.com/appleboy/scp-action@ff85246acaad7bdce478db94a363cd2bf7c90345 # v1.0.0
|
||||||
with:
|
with:
|
||||||
host: mehl.mx
|
host: mehl.mx
|
||||||
username: maxmehl
|
username: maxmehl
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ all its files isn't so trivial. This is because the files are stored in a layout
|
|||||||
similar to bare Git repositories, and Seafile's headless tool, seafile-cli,
|
similar to bare Git repositories, and Seafile's headless tool, seafile-cli,
|
||||||
is... suboptimal. So I created what started out as a wrapper for it and ended up
|
is... suboptimal. So I created what started out as a wrapper for it and ended up
|
||||||
as a full-blown tool for automatically synchronising your libraries to a backup
|
as a full-blown tool for automatically synchronising your libraries to a backup
|
||||||
location: [**Seafile Mirror**](https://src.mehl.mx/mxmehl/seafile-mirror).
|
location: [**Seafile Mirror**](https://github.com/mxmehl/seafile-mirror).
|
||||||
|
|
||||||
## My requirements
|
## My requirements
|
||||||
|
|
||||||
@@ -64,7 +64,7 @@ turned out that this tool has a number of fundamental issues:
|
|||||||
|
|
||||||
## The solution
|
## The solution
|
||||||
|
|
||||||
[seafile-mirror](https://src.mehl.mx/mxmehl/seafile-mirror) takes care of all
|
[seafile-mirror](https://github.com/mxmehl/seafile-mirror) takes care of all
|
||||||
these stumbling blocks:
|
these stumbling blocks:
|
||||||
|
|
||||||
* It downloads/syncs defined libraries in customisable intervals
|
* It downloads/syncs defined libraries in customisable intervals
|
||||||
@@ -95,13 +95,13 @@ and configuration.
|
|||||||
The tool has been running every day since a couple of months without any issues.
|
The tool has been running every day since a couple of months without any issues.
|
||||||
However, I could imagine a few more features to be helpful for more people:
|
However, I could imagine a few more features to be helpful for more people:
|
||||||
|
|
||||||
|
* Support of encrypted libraries: Shouldn't be a big issue, it would require
|
||||||
|
passing the password to the underlying seafile-cli command.
|
||||||
|
([#1](https://github.com/mxmehl/seafile-mirror/issues/1))
|
||||||
* Support of login tokens: Currently, only user/password auth is supported which
|
* Support of login tokens: Currently, only user/password auth is supported which
|
||||||
is fine for my use-case as it's just a read-only user. This wouldn't be hard
|
is fine for my use-case as it's just a read-only user. This wouldn't be hard
|
||||||
to fix either, seafile-cli supports it (at least in theory).
|
to fix either, seafile-cli supports it (at least in theory).
|
||||||
([#2](https://src.mehl.mx/mxmehl/seafile-mirror/issues/2))
|
([#2](https://github.com/mxmehl/seafile-mirror/issues/2))
|
||||||
* Support of encrypted libraries: Shouldn't be a big issue, it would require
|
|
||||||
passing the password to the underlying seafile-cli command.
|
|
||||||
([#3](https://src.mehl.mx/mxmehl/seafile-mirror/issues/3))
|
|
||||||
|
|
||||||
If you have encountered problems or would like to point out the need for
|
If you have encountered problems or would like to point out the need for
|
||||||
specific features, please feel free to contact me or comment on the Mastodon
|
specific features, please feel free to contact me or comment on the Mastodon
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ tags:
|
|||||||
- Community
|
- Community
|
||||||
- DeutscheBahn
|
- DeutscheBahn
|
||||||
- SupplyChain
|
- SupplyChain
|
||||||
|
summary: Ich wurde mal wieder von Ralf Hersel zum “Captain it’s Wednesday” Podcast von GNU/Linux.ch eingeladen, um über Software-Lieferketten bei der Deutschen Bahn zu sprechen. Anlass waren meine jüngsten Vorträge auf der FOSS Backstage und der FOSDEM, in denen ich über die Herausforderungen und Chancen von Software-Lieferketten bei der DB gesprochen habe.
|
||||||
headerimage:
|
headerimage:
|
||||||
src: ciw.jpg
|
src: ciw.jpg
|
||||||
alt: The famous "Captain it's Wednesday" comic
|
alt: The famous "Captain it's Wednesday" comic
|
||||||
@@ -17,6 +18,7 @@ audio: https://gnulinux.ch/podcast/CIW175.mp3
|
|||||||
event:
|
event:
|
||||||
name: Captain it's Wednesday Podcast
|
name: Captain it's Wednesday Podcast
|
||||||
href: https://gnulinux.ch/ciw175-podcast
|
href: https://gnulinux.ch/ciw175-podcast
|
||||||
|
mastodon_toot_url: https://mastodon.social/@mxmehl/116318946107759692
|
||||||
---
|
---
|
||||||
|
|
||||||
Ich wurde mal wieder von Ralf Hersel zum "Captain it's Wednesday" Podcast von GNU/Linux.ch eingeladen, um über Software-Lieferketten bei der Deutschen Bahn zu sprechen. Anlass waren meine jüngsten Vorträge auf der [FOSS Backstage](/blog/2026-03-foss-backstage-getting-real-supply-chain) und der [FOSDEM](/blog/2026-01-fosdem-supply-chain-strategy), in denen ich über die Herausforderungen und Chancen von Software-Lieferketten bei der DB gesprochen habe.
|
Ich wurde mal wieder von Ralf Hersel zum "Captain it's Wednesday" Podcast von GNU/Linux.ch eingeladen, um über Software-Lieferketten bei der Deutschen Bahn zu sprechen. Anlass waren meine jüngsten Vorträge auf der [FOSS Backstage](/blog/2026-03-foss-backstage-getting-real-supply-chain) und der [FOSDEM](/blog/2026-01-fosdem-supply-chain-strategy), in denen ich über die Herausforderungen und Chancen von Software-Lieferketten bei der DB gesprochen habe.
|
||||||
|
|||||||
@@ -14,18 +14,13 @@ depends = ["cleanup"]
|
|||||||
description = "Build the static site using Hugo"
|
description = "Build the static site using Hugo"
|
||||||
run = "hugo -d {{vars.build_dir}}"
|
run = "hugo -d {{vars.build_dir}}"
|
||||||
|
|
||||||
[tasks.build-root]
|
|
||||||
depends = ["cleanup"]
|
|
||||||
description = "Build the static site using Hugo, not using subdirectory as baseURL"
|
|
||||||
run = "hugo --baseURL / -d {{vars.build_dir}}"
|
|
||||||
|
|
||||||
[tasks.preview]
|
[tasks.preview]
|
||||||
depends = ["cleanup"]
|
depends = ["cleanup"]
|
||||||
description = "Preview the site locally using Hugo's built-in server"
|
description = "Preview the site locally using Hugo's built-in server"
|
||||||
run = "hugo server"
|
run = "hugo server"
|
||||||
|
|
||||||
[tasks.linkcheck]
|
[tasks.linkcheck]
|
||||||
depends = ["build-root"]
|
depends = ["build"]
|
||||||
description = "Check for broken links using lychee"
|
description = "Check for broken links using lychee"
|
||||||
run = '''
|
run = '''
|
||||||
lychee \
|
lychee \
|
||||||
@@ -33,5 +28,6 @@ lychee \
|
|||||||
--index-files 'index.html' \
|
--index-files 'index.html' \
|
||||||
--root-dir {{vars.build_dir}}/ \
|
--root-dir {{vars.build_dir}}/ \
|
||||||
-u 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) Apple WebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36' \
|
-u 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) Apple WebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36' \
|
||||||
|
--exclude 'glyphicons-halflings-regular\.(eot|woff|woff2|ttf|svg)' \
|
||||||
{{vars.build_dir}}/
|
{{vars.build_dir}}/
|
||||||
'''
|
'''
|
||||||
|
|||||||
@@ -65,7 +65,9 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="col-xs-9 col-md-10">
|
<div class="col-xs-9 col-md-10">
|
||||||
{{ if $selection }}
|
{{ if $selection }}
|
||||||
<span class="article-rss"><a class="label label-rss" href="/{{ .Data.Plural }}/{{lower .Title}}/index.xml" title="RSS Feed"><i class="fa fa-rss" aria-hidden="true"></i> Subscribe to »{{.Title}}«</a></span>
|
{{- with .OutputFormats.Get "RSS" -}}
|
||||||
|
<span class="article-rss"><a class="label label-rss" href="{{ .Permalink }}" title="RSS Feed"><i class="fa fa-rss" aria-hidden="true"></i> Subscribe to »{{ $.Title }}«</a></span>
|
||||||
|
{{- end -}}
|
||||||
{{ else }}
|
{{ else }}
|
||||||
<span class="article-rss"><a class="label label-rss" href="/blog/index.xml" title="RSS Feed"><i class="fa fa-rss" aria-hidden="true"></i> Subscribe to all posts</a></span>
|
<span class="article-rss"><a class="label label-rss" href="/blog/index.xml" title="RSS Feed"><i class="fa fa-rss" aria-hidden="true"></i> Subscribe to all posts</a></span>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|||||||
Reference in New Issue
Block a user