mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-11-15 06:08:16 +00:00
116 lines
5.5 KiB
YAML
116 lines
5.5 KiB
YAML
name: 'Issues - Respond to old versions'
|
|
|
|
# the workflow to execute on is comments that are newly created
|
|
on:
|
|
issues:
|
|
types: [ opened ]
|
|
|
|
# permissions needed for reacting to IssueOps commands on issues and PRs
|
|
permissions:
|
|
contents: read
|
|
pull-requests: write
|
|
issues: write
|
|
checks: read
|
|
|
|
jobs:
|
|
respond:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- id: ff3version
|
|
uses: pozetroninc/github-action-get-latest-release@master
|
|
with:
|
|
owner: firefly-iii
|
|
repo: firefly-iii
|
|
excludes: prerelease, draft
|
|
token: ${{ secrets.GITHUB_TOKEN }}
|
|
- id: importerversion
|
|
uses: pozetroninc/github-action-get-latest-release@master
|
|
with:
|
|
owner: firefly-iii
|
|
repo: data-importer
|
|
excludes: prerelease, draft
|
|
token: ${{ secrets.GITHUB_TOKEN }}
|
|
- run: |
|
|
ISSUE_BODY=$(gh issue view $NUMBER --json body)
|
|
|
|
# sure this can be done in a single step but still.
|
|
FFNOV="${{ steps.ff3version.outputs.release }}"
|
|
FFNOV="${FFNOV:1}"
|
|
|
|
DDNOV="${{ steps.importerversion.outputs.release }}"
|
|
DDNOV="${DDNOV:1}"
|
|
|
|
echo "Firefly III version is ${{ steps.ff3version.outputs.release }}, without v is $FFNOV"
|
|
echo "Data importer version is ${{ steps.ff3version.outputs.release }}, without v is $FFNOV"
|
|
|
|
# user includes no debug info at all, and does not mention current version.
|
|
# user includes no debug info at all, but does mention current version
|
|
# user includes debug info, but not the current version.
|
|
# user includes debug info, and the current version.
|
|
|
|
# first test: user includes no debug info at all, and does not mention current version.
|
|
if [[ $ISSUE_BODY == *"MZ2udTpin6FL"* && $ISSUE_BODY != *"Debug information generated at"* && $ISSUE_BODY != *${{ steps.ff3version.outputs.release }}* && $ISSUE_BODY != *${{ steps.importerversion.outputs.release }}* && $ISSUE_BODY != *$FFNOV* && $ISSUE_BODY != *$DDNOV* ]]; then
|
|
MESSAGE="Hi there!
|
|
|
|
This is an automated reply. \`Share and enjoy\`
|
|
|
|
You triggered an automated reply, because it looks like you didn't include the output from the \`/debug\` page. Would you be so kind as to do that? It helps the developers debug your issue more easily.
|
|
|
|
If you *did* include debug information or of if the debug information isn't relevant (or even reachable), my apologies for the intrusion."
|
|
|
|
gh issue comment "$NUMBER" --body "$MESSAGE"
|
|
echo "Triggered on first test"
|
|
exit 0
|
|
fi
|
|
|
|
# second test: user includes no debug info at all, but does mention current version
|
|
if [[ $ISSUE_BODY == *"MZ2udTpin6FL"* && $ISSUE_BODY != *"Debug information generated at"* && ( $ISSUE_BODY == *${{ steps.ff3version.outputs.release }}* || $ISSUE_BODY == *${{ steps.importerversion.outputs.release }}* || $ISSUE_BODY == *$FFNOV* || $ISSUE_BODY == *$DDNOV* ) ]]; then
|
|
MESSAGE="Hi there!
|
|
|
|
This is an automated reply. \`Share and enjoy\`
|
|
|
|
Thank you for running the latest version of Firefly III (or the data importer). You triggered an automated reply, because it looks like you didn't include the output from the \`/debug\` page. Would you be so kind as to do that? It helps the developers debug your issue more easily.
|
|
|
|
If you *did* include debug information or of if the debug information isn't relevant (or even reachable), my apologies for the intrusion."
|
|
|
|
gh issue comment "$NUMBER" --body "$MESSAGE"
|
|
echo "Triggered on second test"
|
|
exit 0
|
|
fi
|
|
|
|
# third test: user includes debug info, but not the current version.
|
|
if [[ $ISSUE_BODY == *"MZ2udTpin6FL"* && $ISSUE_BODY == *"Debug information generated at"* && $ISSUE_BODY != *${{ steps.ff3version.outputs.release }}* && $ISSUE_BODY != *${{ steps.importerversion.outputs.release }}* && $ISSUE_BODY != *$FFNOV* && $ISSUE_BODY != *$DDNOV* ]]; then
|
|
|
|
MESSAGE="Hi there!
|
|
|
|
This is an automated reply. \`Share and enjoy\`
|
|
|
|
Thank you for including debug information. You triggered an automated reply, because it looks like you're not running Firefly III version **${{ steps.ff3version.outputs.release }}** or version **${{ steps.importerversion.outputs.release }}** of the data importer.
|
|
|
|
Please make sure to upgrade to the latest version of Firefly III (or the data importer) *first*. This may already solve your issue.
|
|
|
|
If you *are* running the latest version, and this message is wrong, my apologies for the intrusion."
|
|
|
|
gh issue comment "$NUMBER" --body "$MESSAGE"
|
|
echo "Triggered on third test"
|
|
exit 0
|
|
fi
|
|
|
|
# fourth test: user includes debug info, and the current version.
|
|
if [[ $ISSUE_BODY == *"MZ2udTpin6FL"* && $ISSUE_BODY == *"Debug information generated at"* && ( $ISSUE_BODY == *${{ steps.ff3version.outputs.release }}* || $ISSUE_BODY == *${{ steps.importerversion.outputs.release }}* || $ISSUE_BODY == *$FFNOV* || $ISSUE_BODY == *$DDNOV* ) ]]; then
|
|
|
|
MESSAGE="Hi there!
|
|
|
|
This is an automated reply. \`Share and enjoy\`
|
|
|
|
Thank you for running the latest version of Firefly III (or the data importer)."
|
|
|
|
# gh issue comment "$NUMBER" --body "$MESSAGE"
|
|
echo "Triggered on fourth test"
|
|
exit 0
|
|
fi
|
|
env:
|
|
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
GH_REPO: ${{ github.repository }}
|
|
NUMBER: ${{ github.event.issue.number }}
|