aboutsummaryrefslogtreecommitdiff
path: root/.github/workflows/prhtmlgenerator.yml
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows/prhtmlgenerator.yml')
-rw-r--r--.github/workflows/prhtmlgenerator.yml126
1 files changed, 0 insertions, 126 deletions
diff --git a/.github/workflows/prhtmlgenerator.yml b/.github/workflows/prhtmlgenerator.yml
deleted file mode 100644
index 163d51e3..00000000
--- a/.github/workflows/prhtmlgenerator.yml
+++ /dev/null
@@ -1,126 +0,0 @@
-name: 'PR Testing'
-
-on:
- pull_request_target:
- branches: [ master ]
-
-jobs:
- check-bridges:
- name: Check if bridges were changed
- runs-on: ubuntu-latest
- outputs:
- BRIDGES: ${{ steps.check1.outputs.BRIDGES }}
- steps:
- - name: Check number of bridges
- id: check1
- run: |
- PR=${{github.event.number}};
- wget https://patch-diff.githubusercontent.com/raw/$GITHUB_REPOSITORY/pull/$PR.patch;
- bridgeamount=$(cat $PR.patch | grep "\bbridges/[A-Za-z0-9]*Bridge\.php\b" | sed "s=.*\bbridges/\([A-Za-z0-9]*\)Bridge\.php\b.*=\1=g" | sort | uniq | wc -l);
- echo "BRIDGES=$bridgeamount" >> "$GITHUB_OUTPUT"
- test-pr:
- name: Generate HTML
- runs-on: ubuntu-latest
- needs: check-bridges
- if: needs.check-bridges.outputs.BRIDGES > 0
- env:
- PYTHONUNBUFFERED: 1
- # Needs additional permissions https://github.com/actions/first-interaction/issues/10#issuecomment-1041402989
- steps:
- - name: Check out self
- uses: actions/checkout@v4
- with:
- ref: ${{github.event.pull_request.head.ref}}
- repository: ${{github.event.pull_request.head.repo.full_name}}
- - name: Check out rss-bridge
- run: |
- PR=${{github.event.number}};
- wget -O requirements.txt https://raw.githubusercontent.com/$GITHUB_REPOSITORY/${{ github.event.pull_request.base.ref }}/.github/prtester-requirements.txt;
- wget https://raw.githubusercontent.com/$GITHUB_REPOSITORY/${{ github.event.pull_request.base.ref }}/.github/prtester.py;
- wget https://patch-diff.githubusercontent.com/raw/$GITHUB_REPOSITORY/pull/$PR.patch;
- touch DEBUG;
- cat $PR.patch | grep "\bbridges/[A-Za-z0-9]*Bridge\.php\b" | sed "s=.*\bbridges/\([A-Za-z0-9]*\)Bridge\.php\b.*=\1=g" | sort | uniq > whitelist.txt
- - name: Start Docker - Current
- run: |
- docker run -d -v $GITHUB_WORKSPACE/whitelist.txt:/app/whitelist.txt -v $GITHUB_WORKSPACE/DEBUG:/app/DEBUG -p 3000:80 ghcr.io/rss-bridge/rss-bridge:latest
- - name: Start Docker - PR
- run: |
- docker build -t prbuild .;
- docker run -d -v $GITHUB_WORKSPACE/whitelist.txt:/app/whitelist.txt -v $GITHUB_WORKSPACE/DEBUG:/app/DEBUG -p 3001:80 prbuild
- - name: Setup python
- uses: actions/setup-python@v5
- with:
- python-version: '3.13'
- cache: 'pip'
- - name: Install requirements
- run: |
- cd $GITHUB_WORKSPACE
- pip install -r requirements.txt
- - name: Run bridge tests
- id: testrun
- run: |
- mkdir results;
- python prtester.py;
- body="$(cat comment.txt)";
- body="${body//'%'/'%25'}";
- body="${body//$'\n'/'%0A'}";
- body="${body//$'\r'/'%0D'}";
- echo "bodylength=${#body}" >> $GITHUB_OUTPUT
- env:
- PR: ${{ github.event.number }}
- - name: Upload generated tests
- uses: actions/upload-artifact@v4
- id: upload-generated-tests
- with:
- name: tests
- path: '*.html'
- - name: Find Comment
- if: ${{ steps.testrun.outputs.bodylength > 130 }}
- uses: peter-evans/find-comment@v3
- id: fc
- with:
- issue-number: ${{ github.event.pull_request.number }}
- comment-author: 'github-actions[bot]'
- body-includes: Pull request artifacts
- - name: Create or update comment
- if: ${{ steps.testrun.outputs.bodylength > 130 }}
- uses: peter-evans/create-or-update-comment@v4
- with:
- comment-id: ${{ steps.fc.outputs.comment-id }}
- issue-number: ${{ github.event.pull_request.number }}
- body-file: comment.txt
- edit-mode: replace
- upload_tests:
- name: Upload tests
- runs-on: ubuntu-latest
- needs: test-pr
- steps:
- - uses: actions/checkout@v4
- with:
- repository: 'RSS-Bridge/rss-bridge-tests'
- ref: 'main'
- token: ${{ secrets.RSSTESTER_ACTION }}
-
- - name: Setup git config
- run: |
- git config --global user.name "GitHub Actions"
- git config --global user.email "<>"
-
- - name: Download tests
- uses: actions/download-artifact@v4
- with:
- name: tests
-
- - name: Move tests
- run: |
- cd prs
- mkdir -p ${{github.event.number}}
- cd ${{github.event.number}}
- mv -f $GITHUB_WORKSPACE/*.html .
-
- - name: Commit and push generated tests
- run: |
- export COMMIT_MESSAGE="Added tests for PR ${{github.event.number}}"
- git add .
- git commit -m "$COMMIT_MESSAGE"
- git push