chore: improve performance significantly
All checks were successful
Pull Request Labeler / labeler (pull_request_target) Successful in 7s
All checks were successful
Pull Request Labeler / labeler (pull_request_target) Successful in 7s
This commit is contained in:
parent
4c7bff1b31
commit
d13de25433
248 changed files with 0 additions and 16017 deletions
|
@ -1,14 +0,0 @@
|
|||
frontend:
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- "frontend/**"
|
||||
|
||||
backend:
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- "backend/**"
|
||||
|
||||
ci:
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- ".gitea/**"
|
|
@ -1,19 +0,0 @@
|
|||
buckets:
|
||||
- maxSize: 80
|
||||
label: size/small
|
||||
comment: null
|
||||
- maxSize: 200
|
||||
label: size/medium
|
||||
comment: null
|
||||
- maxSize: 2000
|
||||
label: size/large
|
||||
comment: >
|
||||
👮♀️⚠️ This is a friendly reminder that the diff size of this PR is bigger than
|
||||
200 lines we aim for. Please consider splitting this PR into more digestible pieces!
|
||||
- maxSize: Infinity
|
||||
label: size/huge
|
||||
comment: >
|
||||
👮♀️🛑 This PR's diff size is quite huge.
|
||||
Hopefully you know what you're doing.
|
||||
If you did not commit a lot of autogenerated files intentionally,
|
||||
there are few good reasons for this.
|
|
@ -1,255 +0,0 @@
|
|||
name: CI
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
|
||||
concurrency:
|
||||
group: ci-${{ github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
changed_files:
|
||||
name: Get Changed Files
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
backend: ${{ steps.filter.outputs.backend }}
|
||||
frontend: ${{ steps.filter.outputs.frontend }}
|
||||
workflow: ${{ steps.filter.outputs.workflow }}
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Check for file changes
|
||||
uses: dorny/paths-filter@v3
|
||||
id: filter
|
||||
with:
|
||||
filters: |
|
||||
backend:
|
||||
- 'backend/**'
|
||||
frontend:
|
||||
- 'frontend/**'
|
||||
workflow:
|
||||
- '.gitea/workflows/**'
|
||||
|
||||
test-backend:
|
||||
runs-on: ubuntu-latest
|
||||
name: "Backend Tests"
|
||||
needs: changed_files
|
||||
if: ${{ needs.changed_files.outputs.backend == 'true' || needs.changed_files.outputs.workflow == 'true' }}
|
||||
container:
|
||||
image: "cimg/openjdk:23.0-node"
|
||||
steps:
|
||||
- name: "Checkout"
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: "Run tests"
|
||||
working-directory: ./backend
|
||||
run: |
|
||||
./gradlew test
|
||||
|
||||
- name: "Cache checkstyle results"
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: checkstyle-results
|
||||
path: backend/build/reports/checkstyle
|
||||
|
||||
- name: "Stop Gradle"
|
||||
working-directory: ./backend
|
||||
run: ./gradlew --stop
|
||||
|
||||
checkstyle:
|
||||
runs-on: ubuntu-latest
|
||||
name: "Checkstyle Main"
|
||||
needs: changed_files
|
||||
if: ${{ needs.changed_files.outputs.backend == 'true' || needs.changed_files.outputs.workflow == 'true' }}
|
||||
container:
|
||||
image: "cimg/openjdk:23.0-node"
|
||||
steps:
|
||||
- name: "Checkout"
|
||||
uses: actions/checkout@v4
|
||||
- name: "Cache Gradle dependencies"
|
||||
uses: https://github.com/actions/cache@v4
|
||||
with:
|
||||
path: |
|
||||
~/.gradle/caches
|
||||
~/.gradle/wrapper
|
||||
backend/build/reports/checkstyle
|
||||
key: gradle-${{ runner.os }}-${{ hashFiles('backend/**/*.java', 'backend/config/checkstyle/checkstyle.xml') }}
|
||||
restore-keys: |
|
||||
gradle-${{ runner.os }}-
|
||||
- name: "Check cache for checkstyle reports"
|
||||
id: check-cache
|
||||
run: |
|
||||
if [ -d "backend/build/reports/checkstyle" ] && [ -f "backend/build/reports/checkstyle/main.xml" ]; then
|
||||
echo "Cache hit! Using cached checkstyle results"
|
||||
echo "cache-hit=true" >> $GITHUB_OUTPUT
|
||||
else
|
||||
echo "Cache miss! Running checkstyle check"
|
||||
echo "cache-hit=false" >> $GITHUB_OUTPUT
|
||||
fi
|
||||
|
||||
- name: "Run checkstyle"
|
||||
if: steps.check-cache.outputs.cache-hit != 'true'
|
||||
working-directory: ./backend
|
||||
run: |
|
||||
gradle checkstyleMain
|
||||
|
||||
- name: "Cache checkstyle results"
|
||||
if: steps.check-cache.outputs.cache-hit != 'true'
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: checkstyle-results
|
||||
path: backend/build/reports/checkstyle
|
||||
|
||||
- name: "Stop Gradle"
|
||||
if: steps.check-cache.outputs.cache-hit != 'true'
|
||||
working-directory: ./backend
|
||||
run: gradle --stop
|
||||
|
||||
validate-docker-frontend:
|
||||
runs-on: ubuntu-latest
|
||||
name: Docker frontend validation
|
||||
needs: changed_files
|
||||
if: ${{ needs.changed_files.outputs.frontend == 'true' || needs.changed_files.outputs.workflow == 'true' }}
|
||||
container:
|
||||
image: catthehacker/ubuntu:act-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
- name: Build
|
||||
uses: docker/build-push-action@v6
|
||||
with:
|
||||
context: frontend/
|
||||
file: frontend/.docker/Dockerfile
|
||||
push: false
|
||||
|
||||
validate-docker-backend:
|
||||
runs-on: ubuntu-latest
|
||||
name: Docker backend validation
|
||||
needs: changed_files
|
||||
if: ${{ needs.changed_files.outputs.backend == 'true' || needs.changed_files.outputs.workflow == 'true' }}
|
||||
container:
|
||||
image: catthehacker/ubuntu:act-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
- name: Build
|
||||
uses: docker/build-push-action@v6
|
||||
with:
|
||||
context: backend/
|
||||
file: backend/.docker/Dockerfile
|
||||
push: false
|
||||
|
||||
eslint:
|
||||
runs-on: docker
|
||||
container:
|
||||
image: git.kjan.de/actions/runner-bun:latest
|
||||
name: eslint
|
||||
needs: changed_files
|
||||
if: ${{ needs.changed_files.outputs.frontend == 'true' || needs.changed_files.outputs.workflow == 'true' }}
|
||||
steps:
|
||||
- name: Checkout Code
|
||||
uses: actions/checkout@v4
|
||||
- uses: actions/cache@v4
|
||||
working-directory: ./frontend
|
||||
with:
|
||||
path: |
|
||||
frontend/node_modules/
|
||||
key: ${{ runner.os }}-bun-
|
||||
restore-keys: |
|
||||
${{ runner.os }}-bun-
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
cd frontend
|
||||
bun install
|
||||
- name: Run Eslint
|
||||
run: |
|
||||
cd frontend
|
||||
bun run lint
|
||||
|
||||
oxlint:
|
||||
runs-on: docker
|
||||
name: oxlint
|
||||
needs: changed_files
|
||||
if: ${{ needs.changed_files.outputs.frontend == 'true' || needs.changed_files.outputs.workflow == 'true' }}
|
||||
container:
|
||||
image: git.kjan.de/actions/runner-bun:latest
|
||||
steps:
|
||||
- name: Checkout Code
|
||||
uses: actions/checkout@v4
|
||||
- uses: actions/cache@v4
|
||||
working-directory: ./frontend
|
||||
with:
|
||||
path: |
|
||||
frontend/node_modules/
|
||||
key: ${{ runner.os }}-bun-
|
||||
restore-keys: |
|
||||
${{ runner.os }}-bun-
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
cd frontend
|
||||
bun install
|
||||
- name: Run oxlint
|
||||
run: |
|
||||
cd frontend
|
||||
bun run oxlint
|
||||
|
||||
prettier:
|
||||
runs-on: docker
|
||||
name: prettier
|
||||
needs: changed_files
|
||||
if: ${{ needs.changed_files.outputs.frontend == 'true' || needs.changed_files.outputs.workflow == 'true' }}
|
||||
container:
|
||||
image: git.kjan.de/actions/runner-bun:latest
|
||||
steps:
|
||||
- name: Checkout Code
|
||||
uses: actions/checkout@v4
|
||||
- uses: actions/cache@v4
|
||||
working-directory: ./frontend
|
||||
with:
|
||||
path: |
|
||||
frontend/node_modules/
|
||||
key: ${{ runner.os }}-bun-
|
||||
restore-keys: |
|
||||
${{ runner.os }}-bun-
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
cd frontend
|
||||
bun install
|
||||
- name: Run prettier
|
||||
run: |
|
||||
cd frontend
|
||||
bun run format:check
|
||||
|
||||
test-build:
|
||||
runs-on: docker
|
||||
name: test-build
|
||||
needs: changed_files
|
||||
if: ${{ needs.changed_files.outputs.frontend == 'true' || needs.changed_files.outputs.workflow == 'true' }}
|
||||
container:
|
||||
image: git.kjan.de/actions/runner-bun:latest
|
||||
steps:
|
||||
- name: Checkout Code
|
||||
uses: actions/checkout@v4
|
||||
- uses: actions/cache@v4
|
||||
working-directory: ./frontend
|
||||
with:
|
||||
path: |
|
||||
frontend/node_modules/
|
||||
key: ${{ runner.os }}-bun-
|
||||
restore-keys: |
|
||||
${{ runner.os }}-bun-
|
||||
- uses: actions/cache@v4
|
||||
working-directory: ./frontend
|
||||
with:
|
||||
path: |
|
||||
frontend/dist/
|
||||
key: ${{ runner.os }}-dist-
|
||||
restore-keys: |
|
||||
${{ runner.os }}-dist-
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
cd frontend
|
||||
bun install
|
||||
- name: Test build
|
||||
run: |
|
||||
cd frontend
|
||||
bun run build
|
|
@ -1,124 +0,0 @@
|
|||
name: Claude Gitea PR Interaction via Comment
|
||||
|
||||
on:
|
||||
issue_comment:
|
||||
types: [created]
|
||||
|
||||
jobs:
|
||||
claude-interact-on-comment:
|
||||
runs-on: ubuntu-latest
|
||||
if: |
|
||||
github.event.issue.pull_request &&
|
||||
contains(github.event.comment.body, '@Claude')
|
||||
steps:
|
||||
- name: Check out code
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0 # Required for git diff against main/master
|
||||
|
||||
- name: Set Tea Version
|
||||
id: tea_version
|
||||
run: echo "version=0.9.2" >> $GITHUB_OUTPUT # Check for the latest stable version
|
||||
|
||||
- name: Download Tea CLI
|
||||
run: |
|
||||
TEA_VERSION=$(echo "${{ steps.tea_version.outputs.version }}")
|
||||
wget "https://gitea.com/gitea/tea/releases/download/v${TEA_VERSION}/tea-${TEA_VERSION}-linux-amd64" -O tea
|
||||
chmod +x tea
|
||||
sudo mv tea /usr/local/bin/tea
|
||||
|
||||
- name: Verify Tea Installation
|
||||
run: tea --version
|
||||
|
||||
- name: Add Gitea Login
|
||||
env:
|
||||
GITEA_URL: ${{ secrets._GITEA_URL }}
|
||||
GITEA_TOKEN: ${{ secrets._GITEA_TOKEN }}
|
||||
run: |
|
||||
if [ -z "$GITEA_URL" ]; then
|
||||
echo "Error: GITEA_URL secret is not set."
|
||||
exit 1
|
||||
fi
|
||||
if [ -z "$GITEA_TOKEN" ]; then
|
||||
echo "Error: GITEA_TOKEN secret is not set."
|
||||
exit 1
|
||||
fi
|
||||
INSECURE_FLAG=""
|
||||
if [[ "${GITEA_URL}" == http://* ]]; then
|
||||
INSECURE_FLAG="--insecure"
|
||||
fi
|
||||
tea login add --name mygitea --url "$GITEA_URL" --token "$GITEA_TOKEN" $INSECURE_FLAG
|
||||
|
||||
- name: Install bun
|
||||
uses: oven-sh/setup-bun@v2
|
||||
|
||||
- name: Install claude-code
|
||||
run: bun i -g @anthropic-ai/claude-code
|
||||
|
||||
- name: Claude Process PR Comment
|
||||
env:
|
||||
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
|
||||
PR_NUMBER: ${{ github.event.issue.number }}
|
||||
COMMENT_BODY: ${{ github.event.comment.body }}
|
||||
COMMENT_AUTHOR: ${{ github.event.comment.user.login }}
|
||||
GITEA_URL: ${{ secrets._GITEA_URL }}
|
||||
run: |
|
||||
claude --allowedTools "Bash(tea:*)" --allowedTools "Bash(git:*)" --allowedTools "Read" --allowedTools "Grep" --allowedTools "WebFetch" --allowedTools "Glob" --allowedTools "LS" -p "You are an AI assistant integrated with Gitea (at ${GITEA_URL}) via the 'tea' CLI.
|
||||
You have been invoked because user '${COMMENT_AUTHOR}' left the following comment on Pull Request #${PR_NUMBER}:
|
||||
---
|
||||
${COMMENT_BODY}
|
||||
---
|
||||
|
||||
Your primary task is to:
|
||||
1. Carefully understand the user's request within their comment.
|
||||
2. Use the 'tea' CLI to perform the requested action(s) on Pull Request #${PR_NUMBER}.
|
||||
3. If the request is to review the PR, fetch the diff against the PR's base branch (e.g., 'git fetch origin main && git diff origin/main...HEAD' or similar; adapt branch name if necessary, or use 'tea pr diff ${PR_NUMBER}') and provide constructive feedback.
|
||||
4. For other actions, translate the user's intent into the appropriate 'tea' command.
|
||||
|
||||
**How to Post Reviews and Other Feedback:**
|
||||
- When you provide a review, post it as a comment using:
|
||||
\`tea pr comment ${PR_NUMBER} \"Claude's Review:\n[Your detailed review, mentioning files and line numbers.]\"\`
|
||||
- For other informational responses or clarifications, also use \`tea pr comment ...\`.
|
||||
|
||||
**Critical: Handling Approval, Rejection, or Merge Requests:**
|
||||
Pull Request approval, rejection, and merging are critical actions and should not be used to 'cheat' the review process. You cannot verify Gitea user permissions.
|
||||
- If a user comments asking you to directly approve (e.g., '@claude approve this'), merge, or reject a PR:
|
||||
1. **Do NOT blindly execute these commands.**
|
||||
2. **Approval/Merge:**
|
||||
- State in a comment (using \`tea pr comment ...\`) that direct approval/merge requests via you are typically for convenience after a proper human review process has been implicitly completed or if the requester is a designated maintainer explicitly overriding.
|
||||
- If the PR has not been reviewed by you yet, and the comment implies a review is also needed, perform the review FIRST and post it.
|
||||
- You should only consider proceeding with a \`tea pr approve ${PR_NUMBER}\` or \`tea pr merge ${PR_NUMBER}\` command if:
|
||||
a. The comment explicitly states that all necessary human reviews are complete and this is just a formal step by a trusted user.
|
||||
b. OR, your own comprehensive review found no critical issues and the request seems appropriate in context.
|
||||
- If in doubt, default to posting your review (if applicable) and stating that a maintainer should perform the final approval/merge. Your goal is to assist, not to bypass established review procedures.
|
||||
3. **Rejection/Requesting Changes:**
|
||||
- If asked to reject or request changes, you should typically base this on your own review of the PR's changes.
|
||||
- First, perform a review if you haven't already.
|
||||
- Then, you can use \`tea pr reject ${PR_NUMBER} \"Claude's Review Summary: [summary of reasons for rejection/changes based on your review]\"\`. Ensure your detailed review is also available as a comment.
|
||||
|
||||
Examples of interpreting comments and generating appropriate \`tea\` commands (keeping the above critical guidelines in mind):
|
||||
- User: '@claude LGTM, approve this' -> You: First, consider if a review is implied or done. If so, and you agree, you might generate \`tea pr approve ${PR_NUMBER}\`. If not, you might generate \`tea pr comment ${PR_NUMBER} \"Claude: I can approve this if the standard review process is complete. Have maintainers reviewed this?\"\` or perform your own review and then comment.
|
||||
- User: '@claude please review this PR' -> You: Get diffs, review, then generate \`tea pr comment ${PR_NUMBER} \"Claude's Review: ...\"\`.
|
||||
- User: '@claude close this PR' -> You: Generate \`tea pr close ${PR_NUMBER}\` and optionally \`tea pr comment ${PR_NUMBER} \"Claude: PR #${PR_NUMBER} has been closed as requested.\"\`.
|
||||
- User: '@claude add label enhancement' -> You: Generate \`tea pr label ${PR_NUMBER} --add enhancement\` and \`tea pr comment ${PR_NUMBER} \"Claude: Label 'enhancement' added to PR #${PR_NUMBER}.\"\`
|
||||
- User: '@claude what are the labels on this PR?' -> You: Generate \`tea pr label ${PR_NUMBER} --list\` (this command outputs to stdout, which is fine for your internal use). Then, to inform the user, you generate: \`tea pr comment ${PR_NUMBER} \"Claude: The current labels are: [output from tea pr label --list].\"\` (You'll need to capture the output of the first command to formulate the second if the tool allows such chaining, otherwise, focus on commands that directly achieve the user's goal or report information). *Self-correction: The Bash tool can capture output. So, if you need to run a \`tea\` command to get information for yourself, do so, then use that information to formulate your \`tea pr comment ...\` to the user.*
|
||||
|
||||
**IMPORTANT GUIDELINES FOR YOUR OPERATION AND RESPONSE GENERATION:**
|
||||
- **Your SOLE METHOD of communicating back to the user on Gitea is by generating a \`tea pr comment ${PR_NUMBER} \"...\"\` command.** This is non-negotiable. Do not output plain text messages intended for the user. Your response *is* the command.
|
||||
- **Use the 'tea' CLI for ALL Gitea interactions.** This includes fetching PR details, diffs, labels, status, and posting comments, reviews, approvals, etc.
|
||||
- **For PR reviews, ALWAYS analyze the diff.** Use \`tea pr diff ${PR_NUMBER}\` or git commands to get the diff. Make sure to mention specific files and line numbers in your review comment.
|
||||
- **Be precise with 'tea' commands.** If a user's request is ambiguous, DO NOT GUESS. Instead, generate a \`tea pr comment ${PR_NUMBER} \"Claude Asks: [Your clarifying question]\"\` command to ask for more details.
|
||||
- **Execute only necessary 'tea' command(s).** If a user asks for a review, your primary output should be the \`tea pr comment ...\` command containing the review. If they ask to add a label, your output should be \`tea pr label ...\` and then a confirmation \`tea pr comment ...\`.
|
||||
- **Ensure reviews are professional, constructive, and helpful.**
|
||||
- **If you need to perform an action AND then report on it, generate both \`tea\` commands sequentially.** For example, to add a label and confirm:
|
||||
\`tea pr label ${PR_NUMBER} --add bug\`
|
||||
\`tea pr comment ${PR_NUMBER} "Claude: I've added the 'bug' label."\`
|
||||
The GitHub Actions workflow will execute these commands one after another.
|
||||
- **If a user's request cannot be fulfilled using the 'tea' CLI or the allowed tools, explain this limitation by generating a \`tea pr comment ...\` command.** For example: \`tea pr comment ${PR_NUMBER} "Claude: I cannot perform that action as it's outside my current capabilities or allowed tools."\`
|
||||
- **Think step-by-step.** 1. Understand request. 2. Identify necessary `tea` command(s). 3. If it's a review, get the diff. 4. Formulate the `tea` command(s) as your direct output.
|
||||
|
||||
**Final Check before outputting:**
|
||||
"Is my entire response that's intended for the Gitea user wrapped in a \`tea pr comment ${PR_NUMBER} '...' \` command (or another appropriate \`tea\` command if it's an action like \`tea pr label ...\`)? If not, I must fix it."
|
||||
|
||||
You are now ready to process the comment. Remember, your output will be executed in a shell. Generate only the \`tea\` command(s) needed.
|
||||
"
|
|
@ -1,16 +0,0 @@
|
|||
name: Claude PR Review
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
types: [opened, synchronize] # Runs on new PRs and updates
|
||||
|
||||
jobs:
|
||||
claude-code:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Claude
|
||||
uses: https://git.kjan.de/actions/claude-pr-review@v1.0.4
|
||||
with:
|
||||
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
|
||||
GITEA_URL: ${{ secrets._GITEA_URL }}
|
||||
GITEA_CLAUDE_TOKEN: ${{ secrets._GITEA_TOKEN }}
|
|
@ -1,14 +0,0 @@
|
|||
name: "Pull Request Labeler"
|
||||
on:
|
||||
pull_request_target:
|
||||
|
||||
jobs:
|
||||
labeler:
|
||||
permissions:
|
||||
contents: read
|
||||
pull-requests: write
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/labeler@v5
|
||||
with:
|
||||
configuration-path: ".gitea/labeler.yml"
|
|
@ -1,94 +0,0 @@
|
|||
name: Release
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- "main"
|
||||
paths:
|
||||
- "backend/**"
|
||||
- "frontend/**"
|
||||
- ".gitea/workflows/release.yml"
|
||||
- "release.config.cjs"
|
||||
|
||||
env:
|
||||
GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }}
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
release:
|
||||
runs-on: ubuntu-latest
|
||||
name: Release
|
||||
permissions:
|
||||
contents: write
|
||||
issues: write
|
||||
pull-requests: write
|
||||
id-token: write
|
||||
steps:
|
||||
- name: Create Release
|
||||
uses: https://git.kjan.de/actions/semantic-release@main
|
||||
with:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }}
|
||||
|
||||
build-backend-image:
|
||||
needs: release
|
||||
runs-on: ubuntu-latest
|
||||
name: Build Backend Image
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0 # Ensure full history is available
|
||||
- name: Extract tag
|
||||
run: |
|
||||
TAG=$(git describe --tags --abbrev=0)
|
||||
echo "TAG=$TAG" >> $GITHUB_ENV
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
- name: Login
|
||||
uses: docker/login-action@v3
|
||||
with:
|
||||
registry: git.kjan.de
|
||||
username: ${{ secrets.DOCKER_USER }}
|
||||
password: ${{ secrets.DOCKER_PASS }}
|
||||
- name: Build and push
|
||||
uses: docker/build-push-action@v6
|
||||
with:
|
||||
context: backend/
|
||||
file: backend/.docker/Dockerfile
|
||||
push: true
|
||||
tags: |
|
||||
git.kjan.de/szut/casino-backend:latest
|
||||
git.kjan.de/szut/casino-backend:${{ env.TAG }}
|
||||
|
||||
build-frontend-image:
|
||||
needs: release
|
||||
runs-on: ubuntu-latest
|
||||
name: Build Frontend Image
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0 # Ensure full history is available
|
||||
- name: Extract tag
|
||||
run: |
|
||||
TAG=$(git describe --tags --abbrev=0)
|
||||
echo "TAG=$TAG" >> $GITHUB_ENV
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
- name: Login
|
||||
uses: docker/login-action@v3
|
||||
with:
|
||||
registry: git.kjan.de
|
||||
username: ${{ secrets.DOCKER_USER }}
|
||||
password: ${{ secrets.DOCKER_PASS }}
|
||||
- name: Build and push
|
||||
uses: docker/build-push-action@v6
|
||||
with:
|
||||
context: frontend/
|
||||
file: frontend/.docker/Dockerfile
|
||||
push: true
|
||||
tags: |
|
||||
git.kjan.de/szut/casino-frontend:latest
|
||||
git.kjan.de/szut/casino-frontend:${{ env.TAG }}
|
|
@ -1,17 +0,0 @@
|
|||
name: Label PRs based on size
|
||||
|
||||
on: [pull_request]
|
||||
|
||||
jobs:
|
||||
add_pr_size_label:
|
||||
runs-on: ubuntu-latest
|
||||
name: Check PR size
|
||||
|
||||
steps:
|
||||
- name: Check out code
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Label and comment PR
|
||||
uses: boschresearch/pr-size-labeler@v5.0.1
|
||||
with:
|
||||
bucketConfigFile: ".gitea/size.yml"
|
|
@ -1,15 +0,0 @@
|
|||
name: "Close stale issues and PRs"
|
||||
on:
|
||||
workflow_dispatch:
|
||||
schedule:
|
||||
- cron: "@hourly"
|
||||
|
||||
jobs:
|
||||
stale:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/stale@v9
|
||||
with:
|
||||
stale-pr-message: "Will be closed in x days bc yo mom is a bitch. im not telling you when it will be closed fuckface"
|
||||
days-before-pr-stale: 2
|
||||
days-before-pr-close: 3
|
Reference in a new issue