From 3a900964c01677d4285f87d73b0b3c00045b196d Mon Sep 17 00:00:00 2001 From: Benoit Donneaux Date: Tue, 19 Aug 2025 10:35:28 +0200 Subject: [PATCH 1/7] Support checks in forked repositories Signed-off-by: Benoit Donneaux --- .forgejo/workflows/jekyll.yaml | 3 ++- .forgejo/workflows/jekyll_cleanup.yml | 1 + README.md | 1 + 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/.forgejo/workflows/jekyll.yaml b/.forgejo/workflows/jekyll.yaml index 9ec32f6..8868c20 100644 --- a/.forgejo/workflows/jekyll.yaml +++ b/.forgejo/workflows/jekyll.yaml @@ -56,6 +56,7 @@ jobs: jekyll build --verbose - name: Deploy Jekyll site id: deploy_site + if: forge.repository == 'Tahoe-LAFS/web-landing-page' run: | if [ "${{ forge.ref }}" = 'refs/heads/main' ]; then WEB_ROOT="${WEB_DIR}/live" @@ -79,7 +80,7 @@ jobs: ./_site/ "${WEB_USER}@${WEB_HOST}:${WEB_ROOT}${WEB_CONTEXT}" - name: Comment pull request id: comment_pull_request - if: ${{ always() && forge.event_name == 'pull_request' }} + if: ${{ always() && forge.event_name == 'pull_request' && forge.repository == 'Tahoe-LAFS/web-landing-page' }} uses: https://github.com/exercism/pr-commenter-action@v1.5.1 with: template-variables: | diff --git a/.forgejo/workflows/jekyll_cleanup.yml b/.forgejo/workflows/jekyll_cleanup.yml index f3422e9..2d35876 100644 --- a/.forgejo/workflows/jekyll_cleanup.yml +++ b/.forgejo/workflows/jekyll_cleanup.yml @@ -12,6 +12,7 @@ env: WEB_CONTEXT: "/${{ forge.event.pull_request.number }}/" jobs: jekyll_cleanup: + if: forge.repository == 'Tahoe-LAFS/web-landing-page' runs-on: ubuntu-22.04 permissions: pull-requests: read diff --git a/README.md b/README.md index 1e2f062..b16b693 100644 --- a/README.md +++ b/README.md @@ -21,3 +21,4 @@ docker-compose up We welcome contributions! Easiest is to open tickets or pull requests directly. If unsure, join the IRC or ask on the Tahoe-LAFS developer mailing list. +**Caveat**: because they need access to the repository secrets (e.g. SSH private key), the deployment step will be skipped on forked repositories. Which means preview sites will only be published from local branches pushed by collaborators with permissions to write in this repository. From a353d9963c4992f018ec9e6a17c2d70107954cee Mon Sep 17 00:00:00 2001 From: Benoit Donneaux Date: Tue, 19 Aug 2025 10:44:26 +0200 Subject: [PATCH 2/7] Debug forge object to filter events Signed-off-by: Benoit Donneaux --- .forgejo/workflows/jekyll.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.forgejo/workflows/jekyll.yaml b/.forgejo/workflows/jekyll.yaml index 8868c20..e5d1eb4 100644 --- a/.forgejo/workflows/jekyll.yaml +++ b/.forgejo/workflows/jekyll.yaml @@ -58,6 +58,7 @@ jobs: id: deploy_site if: forge.repository == 'Tahoe-LAFS/web-landing-page' run: | + echo '${{ toJson(forge) }}' if [ "${{ forge.ref }}" = 'refs/heads/main' ]; then WEB_ROOT="${WEB_DIR}/live" WEB_VHOST="home.of.${WEB_DOMAIN}" From 8bcea717dfefb84e2f59a8d05fce5609a28b0583 Mon Sep 17 00:00:00 2001 From: Benoit Donneaux Date: Tue, 19 Aug 2025 10:58:52 +0200 Subject: [PATCH 3/7] Try head.repo.fork Signed-off-by: Benoit Donneaux --- .forgejo/workflows/jekyll.yaml | 2 +- .forgejo/workflows/jekyll_cleanup.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.forgejo/workflows/jekyll.yaml b/.forgejo/workflows/jekyll.yaml index e5d1eb4..bcf33de 100644 --- a/.forgejo/workflows/jekyll.yaml +++ b/.forgejo/workflows/jekyll.yaml @@ -56,7 +56,7 @@ jobs: jekyll build --verbose - name: Deploy Jekyll site id: deploy_site - if: forge.repository == 'Tahoe-LAFS/web-landing-page' + if: ${{ ! forge.pull_request.head.repo.fork }} run: | echo '${{ toJson(forge) }}' if [ "${{ forge.ref }}" = 'refs/heads/main' ]; then diff --git a/.forgejo/workflows/jekyll_cleanup.yml b/.forgejo/workflows/jekyll_cleanup.yml index 2d35876..9c2ce4d 100644 --- a/.forgejo/workflows/jekyll_cleanup.yml +++ b/.forgejo/workflows/jekyll_cleanup.yml @@ -12,7 +12,7 @@ env: WEB_CONTEXT: "/${{ forge.event.pull_request.number }}/" jobs: jekyll_cleanup: - if: forge.repository == 'Tahoe-LAFS/web-landing-page' + if: ${{ ! forge.pull_request.head.repo.fork }} runs-on: ubuntu-22.04 permissions: pull-requests: read From 6be872c78bd90c115347c0e2bf33bcc64e967986 Mon Sep 17 00:00:00 2001 From: Benoit Donneaux Date: Tue, 19 Aug 2025 11:04:50 +0200 Subject: [PATCH 4/7] Debug pull_request Signed-off-by: Benoit Donneaux --- .forgejo/workflows/jekyll.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.forgejo/workflows/jekyll.yaml b/.forgejo/workflows/jekyll.yaml index bcf33de..236d54f 100644 --- a/.forgejo/workflows/jekyll.yaml +++ b/.forgejo/workflows/jekyll.yaml @@ -58,7 +58,7 @@ jobs: id: deploy_site if: ${{ ! forge.pull_request.head.repo.fork }} run: | - echo '${{ toJson(forge) }}' + echo '${{ toJson(forge.pull_request.head.repo) }}' if [ "${{ forge.ref }}" = 'refs/heads/main' ]; then WEB_ROOT="${WEB_DIR}/live" WEB_VHOST="home.of.${WEB_DOMAIN}" From f019d1951a6bba7a35bcb9a36d58e6ba34488782 Mon Sep 17 00:00:00 2001 From: Benoit Donneaux Date: Tue, 19 Aug 2025 11:07:00 +0200 Subject: [PATCH 5/7] Try event Signed-off-by: Benoit Donneaux --- .forgejo/workflows/jekyll.yaml | 4 ++-- .forgejo/workflows/jekyll_cleanup.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.forgejo/workflows/jekyll.yaml b/.forgejo/workflows/jekyll.yaml index 236d54f..cf58ab0 100644 --- a/.forgejo/workflows/jekyll.yaml +++ b/.forgejo/workflows/jekyll.yaml @@ -56,9 +56,9 @@ jobs: jekyll build --verbose - name: Deploy Jekyll site id: deploy_site - if: ${{ ! forge.pull_request.head.repo.fork }} + if: ${{ ! forge.event.pull_request.head.repo.fork }} run: | - echo '${{ toJson(forge.pull_request.head.repo) }}' + echo '${{ toJson(forge.event.pull_request.head.repo) }}' if [ "${{ forge.ref }}" = 'refs/heads/main' ]; then WEB_ROOT="${WEB_DIR}/live" WEB_VHOST="home.of.${WEB_DOMAIN}" diff --git a/.forgejo/workflows/jekyll_cleanup.yml b/.forgejo/workflows/jekyll_cleanup.yml index 9c2ce4d..77a9b77 100644 --- a/.forgejo/workflows/jekyll_cleanup.yml +++ b/.forgejo/workflows/jekyll_cleanup.yml @@ -12,7 +12,7 @@ env: WEB_CONTEXT: "/${{ forge.event.pull_request.number }}/" jobs: jekyll_cleanup: - if: ${{ ! forge.pull_request.head.repo.fork }} + if: ${{ ! forge.event.pull_request.head.repo.fork }} runs-on: ubuntu-22.04 permissions: pull-requests: read From 454dbc522b058b78a1418b56e5a214ce7493ad3f Mon Sep 17 00:00:00 2001 From: Benoit Donneaux Date: Tue, 19 Aug 2025 11:10:25 +0200 Subject: [PATCH 6/7] Cleanup Signed-off-by: Benoit Donneaux --- .forgejo/workflows/jekyll.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.forgejo/workflows/jekyll.yaml b/.forgejo/workflows/jekyll.yaml index cf58ab0..683012e 100644 --- a/.forgejo/workflows/jekyll.yaml +++ b/.forgejo/workflows/jekyll.yaml @@ -58,7 +58,6 @@ jobs: id: deploy_site if: ${{ ! forge.event.pull_request.head.repo.fork }} run: | - echo '${{ toJson(forge.event.pull_request.head.repo) }}' if [ "${{ forge.ref }}" = 'refs/heads/main' ]; then WEB_ROOT="${WEB_DIR}/live" WEB_VHOST="home.of.${WEB_DOMAIN}" @@ -81,7 +80,7 @@ jobs: ./_site/ "${WEB_USER}@${WEB_HOST}:${WEB_ROOT}${WEB_CONTEXT}" - name: Comment pull request id: comment_pull_request - if: ${{ always() && forge.event_name == 'pull_request' && forge.repository == 'Tahoe-LAFS/web-landing-page' }} + if: ${{ always() && forge.event_name == 'pull_request' && ! forge.event.pull_request.head.repo.fork }} uses: https://github.com/exercism/pr-commenter-action@v1.5.1 with: template-variables: | From 8348cd8bfdd37f05c09515eccb352e8fbc99f103 Mon Sep 17 00:00:00 2001 From: Benoit Donneaux Date: Tue, 19 Aug 2025 10:35:28 +0200 Subject: [PATCH 7/7] Support checks in forked repositories Signed-off-by: Benoit Donneaux --- .forgejo/workflows/jekyll.yaml | 3 ++- .forgejo/workflows/jekyll_cleanup.yml | 1 + README.md | 1 + 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/.forgejo/workflows/jekyll.yaml b/.forgejo/workflows/jekyll.yaml index 9ec32f6..683012e 100644 --- a/.forgejo/workflows/jekyll.yaml +++ b/.forgejo/workflows/jekyll.yaml @@ -56,6 +56,7 @@ jobs: jekyll build --verbose - name: Deploy Jekyll site id: deploy_site + if: ${{ ! forge.event.pull_request.head.repo.fork }} run: | if [ "${{ forge.ref }}" = 'refs/heads/main' ]; then WEB_ROOT="${WEB_DIR}/live" @@ -79,7 +80,7 @@ jobs: ./_site/ "${WEB_USER}@${WEB_HOST}:${WEB_ROOT}${WEB_CONTEXT}" - name: Comment pull request id: comment_pull_request - if: ${{ always() && forge.event_name == 'pull_request' }} + if: ${{ always() && forge.event_name == 'pull_request' && ! forge.event.pull_request.head.repo.fork }} uses: https://github.com/exercism/pr-commenter-action@v1.5.1 with: template-variables: | diff --git a/.forgejo/workflows/jekyll_cleanup.yml b/.forgejo/workflows/jekyll_cleanup.yml index f3422e9..77a9b77 100644 --- a/.forgejo/workflows/jekyll_cleanup.yml +++ b/.forgejo/workflows/jekyll_cleanup.yml @@ -12,6 +12,7 @@ env: WEB_CONTEXT: "/${{ forge.event.pull_request.number }}/" jobs: jekyll_cleanup: + if: ${{ ! forge.event.pull_request.head.repo.fork }} runs-on: ubuntu-22.04 permissions: pull-requests: read diff --git a/README.md b/README.md index 1e2f062..b16b693 100644 --- a/README.md +++ b/README.md @@ -21,3 +21,4 @@ docker-compose up We welcome contributions! Easiest is to open tickets or pull requests directly. If unsure, join the IRC or ask on the Tahoe-LAFS developer mailing list. +**Caveat**: because they need access to the repository secrets (e.g. SSH private key), the deployment step will be skipped on forked repositories. Which means preview sites will only be published from local branches pushed by collaborators with permissions to write in this repository.