forked from hannibal002/SkyHanni
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'refs/heads/beta' into fork/catgirlseraid/farming-stuff
# Conflicts: # src/main/java/at/hannibal2/skyhanni/features/garden/pests/PestAPI.kt
- Loading branch information
Showing
534 changed files
with
9,620 additions
and
5,510 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
const fs = require('fs'); | ||
const path = require('path'); | ||
|
||
const PR_SHA = process.env.PR_SHA; | ||
const GITHUB_REPOSITORY = process.env.GITHUB_REPOSITORY; | ||
|
||
// Read detekt_output.txt | ||
const detektOutput = fs.readFileSync('detekt_output.txt', 'utf8'); | ||
|
||
let comment = '### One or more Detekt Failures were detected:\n\n'; | ||
|
||
const lines = detektOutput.split('\n'); | ||
lines.forEach((line) => { | ||
if (!line.trim()) return; // Skip empty lines | ||
|
||
// Extract file path and line number | ||
const filePathMatch = line.match(/file=([^,]+)/); | ||
const lineNumberMatch = line.match(/line=(\d+)/); | ||
if (!filePathMatch || !lineNumberMatch) return; | ||
|
||
const filePath = filePathMatch[1]; | ||
const lineNumber = lineNumberMatch[1]; | ||
|
||
// Remove everything before 'src/' in the file path (if it exists) | ||
const srcIndex = filePath.indexOf('src/'); | ||
const cleanedFilePath = srcIndex !== -1 ? filePath.substring(srcIndex) : filePath; | ||
|
||
// Extract file name | ||
const fileName = path.basename(cleanedFilePath); | ||
|
||
// Clean up the line to remove everything between '::' and '::' (inclusive) | ||
const cleanMessage = line.replace(/::.*?::/g, ''); | ||
|
||
// Append to comment | ||
comment += `- [${fileName}#L${lineNumber}](https://github.com/${GITHUB_REPOSITORY}/blob/${PR_SHA}/${cleanedFilePath}#L${lineNumber}): ${cleanMessage}\n`; | ||
}); | ||
|
||
// Write comment to file | ||
fs.writeFileSync('detekt_comment.txt', comment); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,124 @@ | ||
name: Detekt | ||
|
||
on: | ||
pull_request_target: | ||
branches: | ||
- "*" | ||
workflow_dispatch: | ||
|
||
permissions: | ||
contents: read | ||
pull-requests: write | ||
|
||
jobs: | ||
detekt: | ||
name: Run detekt | ||
runs-on: ubuntu-latest | ||
permissions: | ||
contents: read | ||
pull-requests: write | ||
outputs: | ||
sarif_exists: ${{ steps.check_sarif.outputs.exists }} | ||
steps: | ||
- name: Checkout PR code | ||
uses: actions/checkout@v4 | ||
with: | ||
ref: ${{ github.event.pull_request.head.ref }} | ||
repository: ${{ github.event.pull_request.head.repo.full_name }} | ||
- uses: ./.github/actions/setup-normal-workspace | ||
- name: Run detekt main (w/ typing analysis) | ||
run: | | ||
./gradlew detektMain --stacktrace | ||
- name: Check if SARIF file exists | ||
if: always() | ||
id: check_sarif | ||
run: | | ||
if [ -f "versions/1.8.9/build/reports/detekt/main.sarif" ]; then | ||
echo "exists=true" >> $GITHUB_OUTPUT | ||
else | ||
echo "exists=false" >> $GITHUB_OUTPUT | ||
fi | ||
- name: Add label if detekt fails | ||
if: failure() | ||
uses: actions-ecosystem/action-add-labels@v1 | ||
with: | ||
github_token: ${{ secrets.GITHUB_TOKEN }} | ||
labels: 'Detekt' | ||
- name: Remove label if detekt passes | ||
if: success() | ||
uses: actions-ecosystem/action-remove-labels@v1 | ||
with: | ||
github_token: ${{ secrets.GITHUB_TOKEN }} | ||
labels: 'Detekt' | ||
|
||
- name: Annotate detekt failures | ||
if: ${{ !cancelled() && steps.check_sarif.outputs.exists == 'true' }} | ||
run: | | ||
chmod +x .github/scripts/process_detekt_sarif.sh | ||
./.github/scripts/process_detekt_sarif.sh versions/1.8.9/build/reports/detekt/main.sarif | tee detekt_output.txt | ||
- name: Upload detekt output as artifact | ||
if: ${{ !cancelled() && steps.check_sarif.outputs.exists == 'true' }} | ||
uses: actions/upload-artifact@v4 | ||
with: | ||
name: detekt-output | ||
path: detekt_output.txt | ||
|
||
detekt_comment: | ||
name: Comment detekt failures on PR | ||
runs-on: ubuntu-latest | ||
needs: detekt | ||
if: ${{ needs.detekt.outputs.sarif_exists == 'true' && failure() }} | ||
permissions: | ||
pull-requests: write | ||
steps: | ||
- name: Checkout base repo code | ||
uses: actions/checkout@v4 | ||
with: | ||
ref: ${{ github.event.pull_request.head.sha }} | ||
repository: ${{ github.event.pull_request.head.repo.full_name }} | ||
- name: Download detekt output | ||
uses: actions/download-artifact@v4 | ||
with: | ||
name: detekt-output | ||
path: . | ||
- name: Set up Node.js | ||
uses: actions/setup-node@v4 | ||
with: | ||
node-version: '>=21' | ||
- name: Process detekt output and create comment | ||
env: | ||
PR_SHA: ${{ github.event.pull_request.head.sha }} | ||
GITHUB_REPOSITORY: ${{ github.repository }} | ||
run: | | ||
node .github/scripts/process_detekt_output.js | ||
- name: Check if this is the latest workflow run | ||
id: check_latest | ||
run: | | ||
PR_LATEST_SHA=$(curl -s -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \ | ||
"https://api.github.com/repos/${{ github.repository }}/pulls/${{ github.event.pull_request.number }}" \ | ||
| jq -r '.head.sha') | ||
echo "Latest commit SHA from PR: $PR_LATEST_SHA" | ||
echo "Current workflow SHA: ${{ github.event.pull_request.head.sha }}" | ||
# Compare the SHAs and set a result variable | ||
if [[ "${PR_LATEST_SHA}" == "${{ github.event.pull_request.head.sha }}" ]]; then | ||
echo "is_latest=true" >> $GITHUB_ENV | ||
else | ||
echo "is_latest=false" >> $GITHUB_ENV | ||
fi | ||
- name: Add comment to PR | ||
if: env.is_latest == 'true' | ||
uses: actions/github-script@v6 | ||
with: | ||
github-token: ${{ secrets.GITHUB_TOKEN }} | ||
script: | | ||
const fs = require('fs'); | ||
const commentBody = fs.readFileSync('detekt_comment.txt', 'utf8'); | ||
github.rest.issues.createComment({ | ||
issue_number: context.issue.number, | ||
owner: context.repo.owner, | ||
repo: context.repo.repo, | ||
body: commentBody | ||
}) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
name: Run detekt on push | ||
|
||
on: | ||
push: | ||
branches: | ||
- "beta" | ||
paths-ignore: | ||
- ".gitignore" | ||
jobs: | ||
detekt: | ||
name: Run detekt | ||
runs-on: ubuntu-latest | ||
permissions: | ||
contents: read | ||
steps: | ||
- name: Checkout PR code | ||
uses: actions/checkout@v4 | ||
- uses: ./.github/actions/setup-normal-workspace | ||
- name: Run detekt main (w/ typing analysis) | ||
run: | | ||
./gradlew detektMain --stacktrace | ||
- name: Check if SARIF file exists | ||
id: check_sarif | ||
run: | | ||
if [ -f "versions/1.8.9/build/reports/detekt/main.sarif" ]; then | ||
echo "exists=true" >> $GITHUB_OUTPUT | ||
else | ||
echo "exists=false" >> $GITHUB_OUTPUT | ||
fi | ||
- name: Annotate detekt failures | ||
if: ${{ !cancelled() && steps.check_sarif.outputs.exists == 'true' }} | ||
run: | | ||
chmod +x .github/scripts/process_detekt_sarif.sh | ||
./.github/scripts/process_detekt_sarif.sh versions/1.8.9/build/reports/detekt/main.sarif |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
Oops, something went wrong.