From 65a475902e34cb871f9ee92eb821ffe662f84252 Mon Sep 17 00:00:00 2001 From: Christian Meesters Date: Wed, 1 Oct 2025 14:05:46 +0200 Subject: [PATCH 1/2] feat: attempt to add a fediwall listening to Snakemake hashtags --- .github/workflows/build_and_deploy.yml | 50 ++++++++++++++++++++++++++ src/config.yaml | 2 ++ 2 files changed, 52 insertions(+) diff --git a/.github/workflows/build_and_deploy.yml b/.github/workflows/build_and_deploy.yml index 8080a81..0174304 100644 --- a/.github/workflows/build_and_deploy.yml +++ b/.github/workflows/build_and_deploy.yml @@ -26,6 +26,56 @@ jobs: - name: Checkout uses: actions/checkout@v4 + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: '18' + + - name: Download and setup Fediwall + run: | + # Download latest fediwall release + curl -L https://github.com/defnull/fediwall/releases/latest/download/fediwall.zip -o fediwall.zip + unzip fediwall.zip -d fediwall-temp + + # Create fediwall directory in build + mkdir -p build/fediwall + cp -r fediwall-temp/* build/fediwall/ + + # Create custom config for Snakemake hashtag + cat > build/fediwall/wall-config.json << 'EOF' + { + "title": "Snakemake Community Wall", + "subtitle": "Follow the #Snakemake hashtag on the Fediverse", + "hashtags": [ + "snakemake", + "SnakemakeHackathon", + "SnakemakeHackathon2025", + "SnakemakeHackathon2026", + "SnakemakeHackathon2027", + "SnakemakeWrapper", + "SnakemakeWrappers", + "Snakemake_Wrapper", + "Snakemake_Wrappers" + ], + "accounts": [], + "servers": [ + "mastodon.social", + "fosstodon.org", + "fediscience.org", + "scholar.social", + "genomic.social" + ], + "theme": "auto", + "autorefresh": 30, + "showboosts": true, + "showreplies": false, + "showsensitive": false + } + EOF + + # Clean up + rm -rf fediwall-temp fediwall.zip + - name: locosopa uses: koesterlab/locosopa@main with: diff --git a/src/config.yaml b/src/config.yaml index 4acbdbd..f685063 100644 --- a/src/config.yaml +++ b/src/config.yaml @@ -23,6 +23,8 @@ header: links: - text: Docs url: https://snakemake.readthedocs.io + - text: Community Wall + url: /fediwall/ - text: Github url: https://github.com/snakemake - text: Mastodon From 6fd5170880c3bba021a12ec20f779f6ff4a6782e Mon Sep 17 00:00:00 2001 From: Christian Meesters Date: Wed, 1 Oct 2025 16:07:44 +0200 Subject: [PATCH 2/2] fix: now with explicit checksum verification --- .github/workflows/build_and_deploy.yml | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build_and_deploy.yml b/.github/workflows/build_and_deploy.yml index 0174304..638231c 100644 --- a/.github/workflows/build_and_deploy.yml +++ b/.github/workflows/build_and_deploy.yml @@ -33,9 +33,22 @@ jobs: - name: Download and setup Fediwall run: | - # Download latest fediwall release - curl -L https://github.com/defnull/fediwall/releases/latest/download/fediwall.zip -o fediwall.zip - unzip fediwall.zip -d fediwall-temp + # Download specific fediwall release with checksum verification + FEDI_WALL_VERSION="v1.4.0" # bump deliberately + FEDI_WALL_SHA256="9aeca19df37e1c872efa0e8047660eb15cfe24f8b14e5c198a20d966e7e456bc" + curl -fL "https://github.com/defnull/fediwall/releases/download/$%7BFEDI_WALL_VERSION%7D/fediwall-1.4.0.tgz" -o fediwall.tgz + + # Double-check with explicit verification + ACTUAL_SHA256=$(sha256sum fediwall.tgz | cut -d' ' -f1) + if [ "${ACTUAL_SHA256}" != "${FEDI_WALL_SHA256}" ]; then + echo "ERROR: SHA256 checksum verification failed!" + echo "Expected: ${FEDI_WALL_SHA256}" + echo "Actual: ${ACTUAL_SHA256}" + exit 1 + fi + echo "✓ SHA256 checksum verification passed" + mkdir -p fediwall-temp + tar -xzf fediwall.tgz -C fediwall-temp --strip-components=1 # Create fediwall directory in build mkdir -p build/fediwall @@ -74,7 +87,7 @@ jobs: EOF # Clean up - rm -rf fediwall-temp fediwall.zip + rm -rf fediwall-temp fediwall.tgz - name: locosopa uses: koesterlab/locosopa@main