Skip to content

Commit 9a9d0f4

Browse files
committed
Resolve merge conflicts with main branch
2 parents 5c07787 + e62ef5a commit 9a9d0f4

File tree

14 files changed

+1070
-628
lines changed

14 files changed

+1070
-628
lines changed

.github/CODEOWNERS

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
# These owners will be the default owners for everything in the repo.
22
# Unless a later match takes precedence, they will be requested for
33
# review when someone opens a pull request.
4-
* @openSVM/maintainers
4+
* @openSVM/core-maintainers
55

6-
# Specific ownership for the opensvm-dioxus directory
7-
/opensvm-dioxus/ @openSVM/rust-team
6+
# Specific ownership for the Dioxus project
7+
/opensvm-dioxus/ @openSVM/dioxus-maintainers
88

9-
# Specific ownership for the opensvm-reactnative directory
10-
/opensvm-reactnative/ @openSVM/react-team
9+
# Specific ownership for the React Native project
10+
/opensvm-reactnative/ @openSVM/reactnative-maintainers
1111

12-
# Ownership for GitHub Actions workflows
13-
/.github/workflows/ @openSVM/devops
12+
# Workflow files
13+
/.github/workflows/ @openSVM/devops-team
Lines changed: 14 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,32 @@
11
---
2-
name: Bug Report
2+
name: Bug report
3+
title: '[Bug]: '
34
about: Create a report to help us improve
4-
title: '[BUG] '
55
labels: bug
66
assignees: ''
77

88
---
99

10-
## Description
10+
**Describe the bug**
1111
A clear and concise description of what the bug is.
1212

13-
## Steps to Reproduce
13+
**To Reproduce**
14+
Steps to reproduce the behavior:
1415
1. Go to '...'
15-
2. Click on '...'
16-
3. Scroll down to '...'
16+
2. Click on '....'
17+
3. Scroll down to '....'
1718
4. See error
1819

19-
## Expected Behavior
20+
**Expected behavior**
2021
A clear and concise description of what you expected to happen.
2122

22-
## Actual Behavior
23-
A clear and concise description of what actually happened.
24-
25-
## Screenshots
23+
**Screenshots**
2624
If applicable, add screenshots to help explain your problem.
2725

28-
## Environment
29-
- OS: [e.g. Windows 10, macOS 12.0, Ubuntu 22.04]
30-
- Browser (if web): [e.g. Chrome, Safari]
31-
- Version: [e.g. 0.1.0]
32-
- Platform: [e.g. Desktop, Web, Android]
26+
**Environment (please complete the following information):**
27+
- OS: [e.g. Windows, macOS, Linux, Android]
28+
- Browser (if web): [e.g. Chrome, Safari]
29+
- Version: [e.g. 1.0.0]
3330

34-
## Additional Context
31+
**Additional context**
3532
Add any other context about the problem here.
Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,20 @@
11
---
2-
name: Feature Request
2+
name: Feature request
3+
title: '[Feature]: '
34
about: Suggest an idea for this project
4-
title: '[FEATURE] '
55
labels: enhancement
66
assignees: ''
77

88
---
99

10-
## Problem Statement
10+
**Is your feature request related to a problem? Please describe.**
1111
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
1212

13-
## Proposed Solution
13+
**Describe the solution you'd like**
1414
A clear and concise description of what you want to happen.
1515

16-
## Alternative Solutions
16+
**Describe alternatives you've considered**
1717
A clear and concise description of any alternative solutions or features you've considered.
1818

19-
## Additional Context
20-
Add any other context or screenshots about the feature request here.
21-
22-
## Potential Implementation
23-
If you have ideas about how to implement this feature, please share them here.
19+
**Additional context**
20+
Add any other context or screenshots about the feature request here.

.github/ISSUE_TEMPLATE/workflow.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
---
2+
name: Workflow issue
3+
title: '[Workflow]: '
4+
about: Report an issue with the CI/CD workflow
5+
labels: workflow, ci/cd
6+
assignees: ''
7+
8+
---
9+
10+
**Describe the issue**
11+
A clear and concise description of what the issue is with the CI/CD workflow.
12+
13+
**Workflow run URL**
14+
Provide a link to the failed workflow run if applicable.
15+
16+
**Expected behavior**
17+
A clear and concise description of what you expected to happen.
18+
19+
**Screenshots**
20+
If applicable, add screenshots to help explain your problem.
21+
22+
**Additional context**
23+
Add any other context about the problem here.

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
## Description
2+
23
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context.
34

45
Fixes # (issue)
56

6-
## Type of Change
7+
## Type of change
8+
79
Please delete options that are not relevant.
810

911
- [ ] Bug fix (non-breaking change which fixes an issue)
@@ -12,16 +14,19 @@ Please delete options that are not relevant.
1214
- [ ] This change requires a documentation update
1315

1416
## How Has This Been Tested?
15-
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce.
1617

17-
## Checklist
18+
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration.
19+
20+
- [ ] Test A
21+
- [ ] Test B
22+
23+
## Checklist:
24+
1825
- [ ] My code follows the style guidelines of this project
1926
- [ ] I have performed a self-review of my own code
2027
- [ ] I have commented my code, particularly in hard-to-understand areas
2128
- [ ] I have made corresponding changes to the documentation
2229
- [ ] My changes generate no new warnings
2330
- [ ] I have added tests that prove my fix is effective or that my feature works
2431
- [ ] New and existing unit tests pass locally with my changes
25-
26-
## Screenshots (if applicable)
27-
Add screenshots to help explain your changes.
32+
- [ ] Any dependent changes have been merged and published in downstream modules

.github/workflows/README.md

Lines changed: 64 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -1,92 +1,99 @@
11
# GitHub Actions Workflows
22

3-
This directory contains GitHub Actions workflow configurations for the OpenSVM-Dioxus project.
3+
This directory contains GitHub Actions workflow definitions for automating the build, test, and release processes for the OpenSVM-Dioxus project.
44

5-
## CI Workflow (`ci.yml`)
5+
## CI/CD Pipeline (`ci.yml`)
66

7-
The CI workflow automates building, testing, and releasing the OpenSVM-Dioxus application.
7+
This workflow handles the continuous integration and continuous deployment process for the OpenSVM-Dioxus project.
88

99
### Triggers
1010

11-
- **Push to main branch**: Runs build and tests
12-
- **Pull requests to main branch**: Runs build and tests
13-
- **Release publication**: Runs build, tests, and creates release artifacts
11+
- **Push** to the `main` branch
12+
- **Push** of tags matching the pattern `v*` (e.g., `v1.0.0`)
13+
- **Pull requests** targeting the `main` branch
1414

1515
### Jobs
1616

17-
1. **build-and-test**: Builds and tests the application on Ubuntu, macOS, and Windows
18-
2. **build-web**: Builds the optimized web (WASM) version of the application, including WASM size reduction, code minification, and SIMD acceleration
19-
3. **build-desktop**: Builds optimized desktop versions for Linux, macOS (Intel and Apple Silicon), and Windows with native CPU instruction sets and performance tuning
20-
4. **build-android**: Builds optimized Android APK with resource management and balanced performance/size optimizations
21-
5. **create-release**: Collects all artifacts and attaches them to the GitHub release
22-
6. **homebrew**: Creates and updates a Homebrew formula for easy installation on macOS
17+
#### 1. Build & Test
2318

24-
### Usage
19+
This job builds and tests the application across multiple platforms:
2520

26-
#### Regular Development
21+
- **Web (WASM)** - Built on Ubuntu
22+
- **Desktop (macOS)** - Built on macOS
23+
- **Desktop (Windows)** - Built on Windows
24+
- **Android** - Built on Ubuntu
2725

28-
The CI workflow automatically runs on every push to the main branch and on pull requests to ensure code quality.
26+
Each platform build includes platform-specific optimizations:
2927

30-
#### Creating a Release
28+
- **Web**: WASM optimization with `wasm-opt`
29+
- **Desktop**: Native CPU instructions with `-C target-cpu=native`
30+
- **Android**: APK optimization with `zipalign` and `apksigner`
3131

32-
To create a new release with binaries:
32+
#### 2. Release
3333

34-
1. Go to the GitHub repository
35-
2. Click on "Releases" in the sidebar
36-
3. Click "Draft a new release"
37-
4. Create a new tag (e.g., `v0.1.0`)
38-
5. Fill in the release title and description
39-
6. Click "Publish release"
34+
This job is triggered only when a tag matching the pattern `v*` is pushed. It:
4035

41-
The workflow will automatically build all platform binaries and attach them to the release. It will also update the Homebrew formula for macOS users.
36+
- Downloads all build artifacts
37+
- Packages them into platform-specific ZIP files
38+
- Creates a GitHub release with the packaged artifacts
39+
- Generates release notes automatically
4240

43-
#### Installing via Homebrew
41+
#### 3. Homebrew Formula Update
4442

45-
After a release is published, macOS users can install the application using Homebrew:
43+
This job is triggered only when a tag matching the pattern `v*` is pushed. It:
4644

47-
```bash
48-
# Add the tap (first time only)
49-
brew tap opensvm/opensvm
45+
- Creates or updates a Homebrew formula for the macOS release
46+
- Calculates the SHA256 hash of the macOS release artifact
47+
- Creates a pull request to update the formula
5048

51-
# Install the application
52-
brew install opensvm-dioxus
53-
```
49+
#### 4. Android Build
5450

55-
### Platform-Specific Optimizations
51+
This job builds the Android APK and:
5652

57-
The CI workflow applies several platform-specific optimizations to ensure optimal performance:
53+
- Optimizes the APK with `zipalign`
54+
- Signs the APK with a debug key
55+
- Uploads the APK as an artifact
56+
- Adds the APK to the GitHub release (if triggered by a tag)
5857

59-
#### Web (WASM) Optimizations
58+
## GitHub Actions Used
6059

61-
- Uses custom `wasm-release` profile optimized for binary size
62-
- Enables WASM SIMD instructions with `-C target-feature=+atomics,+bulk-memory,+simd128`
63-
- Applies `wasm-opt -Oz` for additional size optimization
64-
- Minifies JavaScript with terser for faster loading
60+
This workflow uses the following GitHub Actions:
6561

66-
#### Desktop Optimizations
62+
- `actions/checkout@v4`: Checks out the repository
63+
- `actions/setup-java@v4`: Sets up JDK for Android builds
64+
- `actions/cache@v4`: Caches Cargo dependencies for faster builds
65+
- `actions/upload-artifact@v4`: Uploads build artifacts
66+
- `actions/download-artifact@v4`: Downloads artifacts for releases
67+
- `actions-rs/toolchain@v1`: Sets up Rust toolchain
68+
- `actions-rs/cargo@v1`: Runs Cargo commands
69+
- `softprops/action-gh-release@v1`: Creates GitHub releases
70+
- `android-actions/setup-android@v2`: Sets up Android SDK
6771

68-
- Uses `-C target-cpu=native` to utilize all available CPU features
69-
- Applies fat LTO for maximum runtime performance
70-
- Configures thread pool size based on available CPU cores
71-
- Optimizes memory allocator settings for desktop environments
72+
## Usage
7273

73-
#### Android Optimizations
74+
### Regular Development
7475

75-
- Uses thin LTO for balanced performance and APK size
76-
- Optimizes APKs with zipalign for improved runtime memory usage
77-
- Automatically signs APKs for installation
78-
- Limits background threads to conserve battery life
76+
The CI pipeline will automatically run on all pull requests to validate changes.
7977

80-
### Customization
78+
### Creating a Release
8179

82-
To modify the CI workflow:
80+
To create a new release:
81+
82+
1. Create and push a new tag following semantic versioning:
83+
```bash
84+
git tag v1.0.0
85+
git push origin v1.0.0
86+
```
87+
88+
2. The workflow will automatically:
89+
- Build all platform versions
90+
- Create a GitHub release with all artifacts
91+
- Update the Homebrew formula
92+
93+
### Customizing the Workflow
94+
95+
To modify the workflow:
8396

8497
1. Edit the `.github/workflows/ci.yml` file
8598
2. Commit and push your changes
8699
3. The updated workflow will be used for subsequent runs
87-
88-
To modify platform-specific optimizations:
89-
90-
1. Edit `opensvm-dioxus/src/platform_optimizations.rs` for runtime optimizations
91-
2. Edit `opensvm-dioxus/Cargo.toml` for compile-time optimizations
92-
3. Update the appropriate job in the CI workflow for build-time optimizations

0 commit comments

Comments
 (0)