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
69 changes: 64 additions & 5 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,66 @@
version: 2
updates:
- package-ecosystem: nuget
directory: "/"
schedule:
interval: daily
open-pull-requests-limit: 10
# JavaScript dependencies
- package-ecosystem: "npm"
directory: "/js"
schedule:
interval: "weekly"
day: "monday"
open-pull-requests-limit: 10
labels:
- "dependencies"
- "javascript"
commit-message:
prefix: "chore(deps)"

# Python dependencies
- package-ecosystem: "pip"
directory: "/python"
schedule:
interval: "weekly"
day: "monday"
open-pull-requests-limit: 10
labels:
- "dependencies"
- "python"
commit-message:
prefix: "chore(deps)"

# Rust dependencies
- package-ecosystem: "cargo"
directory: "/rust"
schedule:
interval: "weekly"
day: "monday"
open-pull-requests-limit: 10
labels:
- "dependencies"
- "rust"
commit-message:
prefix: "chore(deps)"

# C# dependencies
- package-ecosystem: "nuget"
directory: "/csharp"
schedule:
interval: "weekly"
day: "monday"
open-pull-requests-limit: 10
labels:
- "dependencies"
- "csharp"
commit-message:
prefix: "chore(deps)"

# GitHub Actions
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
day: "monday"
open-pull-requests-limit: 5
labels:
- "dependencies"
- "github-actions"
commit-message:
prefix: "chore(deps)"
13 changes: 8 additions & 5 deletions .github/workflows/csharp.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,11 @@ defaults:
jobs:
findChangedCsFiles:
runs-on: ubuntu-latest
timeout-minutes: 10
outputs:
isCsFilesChanged: ${{ steps.setIsCsFilesChangedOutput.outputs.isCsFilesChanged }}
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Get changed files using defaults
Expand All @@ -50,12 +51,13 @@ jobs:
needs: [findChangedCsFiles]
if: ${{ needs.findChangedCsFiles.outputs.isCsFilesChanged == 'true' }}
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
submodules: true
- name: Setup .NET SDK
uses: actions/setup-dotnet@v3
uses: actions/setup-dotnet@v4
with:
dotnet-version: '8.0.x' # Specify your desired .NET version
- name: Restore Dependencies
Expand All @@ -68,14 +70,15 @@ jobs:

pushToNuget:
runs-on: ubuntu-latest
timeout-minutes: 15
needs: [test]
if: ${{ needs.findChangedCsFiles.outputs.isCsFilesChanged == 'true' && github.event_name == 'push' && github.ref == 'refs/heads/main' }}
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
submodules: true
- name: Setup .NET SDK
uses: actions/setup-dotnet@v3
uses: actions/setup-dotnet@v4
with:
dotnet-version: '8.0.x' # Ensure this matches your project's target
- name: Check if version already published to NuGet.org
Expand Down
18 changes: 11 additions & 7 deletions .github/workflows/js.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,11 @@ defaults:
jobs:
findChangedJsFiles:
runs-on: ubuntu-latest
timeout-minutes: 10
outputs:
isJsFilesChanged: ${{ steps.setIsJsFilesChangedOutput.outputs.isJsFilesChanged }}
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Get changed files using defaults
Expand All @@ -50,8 +51,9 @@ jobs:
needs: [findChangedJsFiles]
if: ${{ needs.findChangedJsFiles.outputs.isJsFilesChanged == 'true' }}
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
submodules: true
- name: Setup Bun
Expand All @@ -69,8 +71,9 @@ jobs:
needs: [test, findChangedJsFiles]
if: ${{ needs.findChangedJsFiles.outputs.isJsFilesChanged == 'true' && github.event_name == 'push' && github.ref == 'refs/heads/main' }}
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
submodules: true
- name: Setup Bun
Expand Down Expand Up @@ -106,10 +109,11 @@ jobs:

publishRelease:
runs-on: ubuntu-latest
timeout-minutes: 10
needs: [publishToNpm]
if: ${{ needs.findChangedJsFiles.outputs.isJsFilesChanged == 'true' && needs.publishToNpm.result == 'success' && github.event_name == 'push' && github.ref == 'refs/heads/main' }}
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
submodules: true
- name: Setup Bun
Expand Down Expand Up @@ -138,9 +142,9 @@ jobs:
run: |
PACKAGE_VERSION=$(node -p "require('./package.json').version")
PACKAGE_NAME=$(node -p "require('./package.json').name")
# Create release
gh release create "${PACKAGE_VERSION}_js" \

# Create release with consistent tag format: js_version
gh release create "js_${PACKAGE_VERSION}" \
--title "[JS] $PACKAGE_VERSION" \
--notes "https://www.npmjs.com/package/$PACKAGE_NAME"
env:
Expand Down
22 changes: 13 additions & 9 deletions .github/workflows/python.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,11 @@ defaults:
jobs:
findChangedPythonFiles:
runs-on: ubuntu-latest
timeout-minutes: 10
outputs:
isPythonFilesChanged: ${{ steps.setIsPythonFilesChangedOutput.outputs.isPythonFilesChanged }}
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Get changed files
Expand All @@ -50,12 +51,13 @@ jobs:
needs: [findChangedPythonFiles]
if: ${{ needs.findChangedPythonFiles.outputs.isPythonFilesChanged == 'true' }}
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
submodules: true
- name: Set up Python 3.13
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: '3.13'
- name: Install dependencies
Expand All @@ -71,12 +73,13 @@ jobs:
needs: [test, findChangedPythonFiles]
if: ${{ needs.findChangedPythonFiles.outputs.isPythonFilesChanged == 'true' && github.event_name == 'push' && github.ref == 'refs/heads/main' }}
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
submodules: true
- name: Set up Python
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: '3.13'
- name: Install dependencies
Expand Down Expand Up @@ -110,14 +113,15 @@ jobs:

publishRelease:
runs-on: ubuntu-latest
timeout-minutes: 10
needs: [publishToPyPI]
if: ${{ needs.findChangedPythonFiles.outputs.isPythonFilesChanged == 'true' && needs.publishToPyPI.result == 'success' && github.event_name == 'push' && github.ref == 'refs/heads/main' }}
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
submodules: true
- name: Set up Python
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: '3.13'
- name: Check if GitHub release already exists
Expand All @@ -143,8 +147,8 @@ jobs:
PACKAGE_VERSION=$(grep "^version" pyproject.toml | sed 's/version = "\(.*\)"/\1/')
PACKAGE_NAME=$(grep "^name" pyproject.toml | sed 's/name = "\(.*\)"/\1/')

# Create release
gh release create "${PACKAGE_VERSION}_python" \
# Create release with consistent tag format: python_version
gh release create "python_${PACKAGE_VERSION}" \
--title "[Python] $PACKAGE_VERSION" \
--notes "https://pypi.org/project/$PACKAGE_NAME/"
env:
Expand Down
38 changes: 15 additions & 23 deletions .github/workflows/rust.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,11 @@ defaults:
jobs:
findChangedRustFiles:
runs-on: ubuntu-latest
timeout-minutes: 10
outputs:
isRustFilesChanged: ${{ steps.setIsRustFilesChangedOutput.outputs.isRustFilesChanged }}
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Get changed files using defaults
Expand All @@ -50,16 +51,13 @@ jobs:
needs: [findChangedRustFiles]
if: ${{ needs.findChangedRustFiles.outputs.isRustFilesChanged == 'true' }}
runs-on: ubuntu-latest
timeout-minutes: 20
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
submodules: true
- name: Setup Rust
uses: actions-rs/toolchain@v1
with:
toolchain: stable
profile: minimal
override: true
uses: dtolnay/rust-toolchain@stable
- name: Cache Cargo registry
uses: actions/cache@v3
with:
Expand All @@ -84,16 +82,13 @@ jobs:
needs: [test, findChangedRustFiles]
if: ${{ needs.findChangedRustFiles.outputs.isRustFilesChanged == 'true' && github.event_name == 'push' && github.ref == 'refs/heads/main' }}
runs-on: ubuntu-latest
timeout-minutes: 20
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
submodules: true
- name: Setup Rust
uses: actions-rs/toolchain@v1
with:
toolchain: stable
profile: minimal
override: true
uses: dtolnay/rust-toolchain@stable
- name: Cache Cargo registry
uses: actions/cache@v3
with:
Expand Down Expand Up @@ -152,25 +147,22 @@ jobs:

publishRelease:
runs-on: ubuntu-latest
timeout-minutes: 10
needs: [publishToCratesIO]
if: ${{ needs.findChangedRustFiles.outputs.isRustFilesChanged == 'true' && needs.publishToCratesIO.result == 'success' && github.event_name == 'push' && github.ref == 'refs/heads/main' }}
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
submodules: true
- name: Setup Rust
uses: actions-rs/toolchain@v1
with:
toolchain: stable
profile: minimal
override: true
uses: dtolnay/rust-toolchain@stable
- name: Check if GitHub release already exists
id: release-check
run: |
PACKAGE_VERSION=$(grep '^version = ' Cargo.toml | head -1 | sed 's/version = "\(.*\)"/\1/')
TAG_NAME="rust_$PACKAGE_VERSION"
echo "Checking if release $TAG_NAME already exists"

# Check if release exists
if gh release view "$TAG_NAME" >/dev/null 2>&1; then
echo "Release $TAG_NAME already exists"
Expand All @@ -186,9 +178,9 @@ jobs:
run: |
PACKAGE_NAME=$(grep '^name = ' Cargo.toml | head -1 | sed 's/name = "\(.*\)"/\1/')
PACKAGE_VERSION=$(grep '^version = ' Cargo.toml | head -1 | sed 's/version = "\(.*\)"/\1/')
# Create release
gh release create "${PACKAGE_VERSION}_rust" \

# Create release with consistent tag format: rust_version
gh release create "rust_${PACKAGE_VERSION}" \
--title "[Rust] $PACKAGE_VERSION" \
--notes "https://crates.io/crates/$PACKAGE_NAME"
env:
Expand Down
Loading
Loading