Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions .all-contributorsrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{
"projectName": "JEngine",
"projectOwner": "JasonXuDeveloper",
"repoType": "github",
"repoHost": "https://github.com",
"files": ["README.md"],
"imageSize": 100,
"commit": true,
"commitConvention": "angular",
"contributors": [],
"contributorsPerLine": 7,
"skipCi": true,
"contributorsSortAlphabetically": false
}
18 changes: 18 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# CODEOWNERS - Auto-assign reviewers for pull requests
# https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners

# Default owner for everything
* @JasonXuDeveloper

# Core package
/UnityProject/Packages/com.jasonxudeveloper.jengine.core/ @JasonXuDeveloper

# Util package
/UnityProject/Packages/com.jasonxudeveloper.jengine.util/ @JasonXuDeveloper

# CI/CD workflows
/.github/workflows/ @JasonXuDeveloper

# Documentation
/*.md @JasonXuDeveloper
/docs/ @JasonXuDeveloper
105 changes: 105 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
name: Bug Report
description: Report a bug or unexpected behavior in JEngine
title: "[Bug]: "
labels: ["bug", "needs-triage"]
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to report a bug! Please fill out the form below to help us investigate.

- type: input
id: jengine-version
attributes:
label: JEngine Version
description: What version of JEngine are you using?
placeholder: "e.g., 1.0.9"
validations:
required: true

- type: input
id: unity-version
attributes:
label: Unity Version
description: What version of Unity are you using?
placeholder: "e.g., 2022.3.55f1"
validations:
required: true

- type: dropdown
id: platform
attributes:
label: Target Platform
description: Which platform(s) are you experiencing this issue on?
multiple: true
options:
- Windows
- macOS
- Linux
- iOS
- Android
- WebGL
- WeChat Mini Game
- Douyin Mini Game
- Alipay Mini Game
- TapTap
- Other
validations:
required: true

- type: textarea
id: description
attributes:
label: Bug Description
description: A clear and concise description of what the bug is.
placeholder: Describe the bug...
validations:
required: true

- type: textarea
id: reproduction
attributes:
label: Steps to Reproduce
description: Steps to reproduce the behavior.
placeholder: |
1. Go to '...'
2. Click on '...'
3. See error
validations:
required: true

- type: textarea
id: expected
attributes:
label: Expected Behavior
description: What did you expect to happen?
placeholder: Describe the expected behavior...
validations:
required: true

- type: textarea
id: logs
attributes:
label: Error Logs
description: Please paste any relevant error logs or stack traces.
render: shell
validations:
required: false

- type: textarea
id: additional
attributes:
label: Additional Context
description: Add any other context, screenshots, or information about the problem.
validations:
required: false

- type: checkboxes
id: checklist
attributes:
label: Checklist
options:
- label: I have searched existing issues to ensure this bug hasn't been reported before
required: true
- label: I have tested with the latest version of JEngine
required: false
11 changes: 11 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
blank_issues_enabled: false
contact_links:
- name: Documentation
url: https://jengine.xgamedev.net/
about: Check the documentation for guides and API reference
- name: QQ Group (Chinese)
url: https://jq.qq.com/?_wv=1027&k=cF4hODjW
about: Join the QQ group for Chinese community support (921271552)
- name: Ask DeepWiki
url: https://deepwiki.com/JasonXuDeveloper/JEngine
about: Ask AI about JEngine codebase
67 changes: 67 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
name: Feature Request
description: Suggest a new feature or enhancement for JEngine
title: "[Feature]: "
labels: ["enhancement", "needs-triage"]
body:
- type: markdown
attributes:
value: |
Thanks for suggesting a feature! Please fill out the form below to help us understand your request.

- type: textarea
id: problem
attributes:
label: Problem Statement
description: Is your feature request related to a problem? Please describe.
placeholder: "A clear description of what the problem is. Ex: I'm always frustrated when..."
validations:
required: true

- type: textarea
id: solution
attributes:
label: Proposed Solution
description: Describe the solution you'd like.
placeholder: "A clear description of what you want to happen..."
validations:
required: true

- type: textarea
id: alternatives
attributes:
label: Alternatives Considered
description: Describe any alternative solutions or features you've considered.
placeholder: "Alternative approaches you've thought about..."
validations:
required: false

- type: dropdown
id: package
attributes:
label: Related Package
description: Which JEngine package is this feature related to?
options:
- JEngine.Core
- JEngine.Util
- New Package
- Not sure
validations:
required: true

- type: textarea
id: additional
attributes:
label: Additional Context
description: Add any other context, mockups, or examples about the feature request.
validations:
required: false

- type: checkboxes
id: checklist
attributes:
label: Checklist
options:
- label: I have searched existing issues to ensure this feature hasn't been requested before
required: true
- label: I would be willing to contribute this feature via a pull request
required: false
42 changes: 42 additions & 0 deletions .github/labeler.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# Auto-labeler configuration
# https://github.com/actions/labeler

# Core package changes
core:
- changed-files:
- any-glob-to-any-file: 'UnityProject/Packages/com.jasonxudeveloper.jengine.core/**'

# Util package changes
util:
- changed-files:
- any-glob-to-any-file: 'UnityProject/Packages/com.jasonxudeveloper.jengine.util/**'

# CI/CD changes
ci:
- changed-files:
- any-glob-to-any-file: '.github/workflows/**'
- any-glob-to-any-file: '.github/*.yml'

# Documentation changes
documentation:
- changed-files:
- any-glob-to-any-file: '**/*.md'
- any-glob-to-any-file: 'docs/**'

# Test changes
tests:
- changed-files:
- any-glob-to-any-file: 'UnityProject/Assets/Tests/**'
- any-glob-to-any-file: '**/*Tests*/**'
- any-glob-to-any-file: '**/*.Tests.cs'

# Editor code changes
editor:
- changed-files:
- any-glob-to-any-file: '**/Editor/**'

# Sample/demo changes
samples:
- changed-files:
- any-glob-to-any-file: 'UnityProject/Assets/Samples/**'
- any-glob-to-any-file: '**/Samples~/**'
5 changes: 5 additions & 0 deletions .github/workflows/claude-code-review.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,11 @@ on:
# - "src/**/*.js"
# - "src/**/*.jsx"

permissions:
contents: read
pull-requests: read
issues: read

jobs:
claude-review:
# Optional: Filter by PR author
Expand Down
6 changes: 6 additions & 0 deletions .github/workflows/claude.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,12 @@ on:
pull_request_review:
types: [submitted]

permissions:
contents: read
pull-requests: read
issues: read
id-token: write

jobs:
claude:
if: |
Expand Down
4 changes: 4 additions & 0 deletions .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,10 @@ on:
- cron: '0 0 * * 0'
workflow_dispatch:

permissions:
contents: read
security-events: write

jobs:
changes:
name: Detect Changes
Expand Down
20 changes: 20 additions & 0 deletions .github/workflows/labeler.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
name: Auto Labeler

on:
pull_request_target:
types: [opened, synchronize, reopened]

permissions:
contents: read
pull-requests: write

jobs:
label:
runs-on: ubuntu-latest
steps:
- name: Apply labels based on changed files
uses: actions/labeler@v5
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
configuration-path: .github/labeler.yml
sync-labels: true
30 changes: 30 additions & 0 deletions .github/workflows/pr-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,36 @@ jobs:
- name: Skip tests
run: echo "No relevant changes detected, skipping tests"

upload-coverage:
name: Upload Coverage
needs: [changes, run-tests]
runs-on: ubuntu-latest
if: needs.changes.outputs.should_test == 'true' && needs.run-tests.result == 'success'
steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Download coverage artifacts
uses: actions/download-artifact@v4
with:
name: Coverage-results-2022.3.55f1
path: coverage

- name: List coverage files
run: |
echo "Coverage directory structure:"
find coverage -type f -name "*.xml" 2>/dev/null || echo "No XML files found"

- name: Upload coverage to Codecov (util package)
uses: codecov/codecov-action@v4
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: coverage/**/TestCoverageResults*.xml
flags: util
name: jengine-util
fail_ci_if_error: false
verbose: true

comment-results:
name: Comment Test Results
needs: [changes, run-tests, skip-tests]
Expand Down
40 changes: 40 additions & 0 deletions .github/workflows/scorecard.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
name: OpenSSF Scorecard

on:
# Run on pushes to master and weekly
push:
branches: [master]
schedule:
# Run every Monday at 00:00 UTC
- cron: '0 0 * * 1'
workflow_dispatch:

permissions: read-all

jobs:
analysis:
name: Scorecard Analysis
runs-on: ubuntu-latest
permissions:
security-events: write # Upload to Security tab
id-token: write # Publish results
actions: read
contents: read

steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
persist-credentials: false

- name: Run Scorecard analysis
uses: ossf/scorecard-action@v2.4.0
with:
results_file: results.sarif
results_format: sarif
publish_results: true

- name: Upload to Security tab
uses: github/codeql-action/upload-sarif@v3
with:
sarif_file: results.sarif
Loading
Loading