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
33 changes: 33 additions & 0 deletions .github/workflows/dependency-security.yml
Original file line number Diff line number Diff line change
Expand Up @@ -97,3 +97,36 @@ jobs:
uses: actions/dependency-review-action@v4
with:
fail-on-severity: high

npm-license-check:
name: NPM License Check
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'

- name: Enable Corepack & Setup pnpm
run: |
corepack enable
corepack prepare pnpm@9.12.0 --activate

- name: Install Dependencies
run: pnpm install --frozen-lockfile

- name: Install license-checker
run: npm install -g license-checker-rseidelsohn

- name: Check Frontend Licenses
working-directory: ./frontend
run: |
license-checker --onlyAllow "MIT;Apache-2.0;BSD-2-Clause;BSD-3-Clause;ISC;0BSD;CC0-1.0;Unlicense;Python-2.0;CC-BY-3.0;CC-BY-4.0" --summary

- name: Check Backend Licenses
working-directory: ./backend
run: |
license-checker --onlyAllow "MIT;Apache-2.0;BSD-2-Clause;BSD-3-Clause;ISC;0BSD;CC0-1.0;Unlicense;Python-2.0;CC-BY-3.0;CC-BY-4.0" --summary
30 changes: 30 additions & 0 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,3 +28,33 @@ jobs:
run: |
cargo doc -p share-price-math --no-deps
cargo doc -p mock-strategy --no-deps
continue-on-error: false

spell-check:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'

- name: Install cspell
run: npm install -g cspell

- name: Run spell check
run: cspell "**/*.md" --config cspell.json

link-check:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Check links
uses: lycheeverse/lychee-action@v1
with:
args: --verbose --no-progress --accept 200,403,429 --timeout 30 --max-retries 3 '**/*.md'
fail: true
45 changes: 44 additions & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,47 @@ jobs:
branch: "chore/changelog-${{ github.ref_name }}"
base: "main"

# Create the GitHub Release with the generated notes
# Build Rust workspace
- name: Setup Rust
uses: dtolnay/rust-toolchain@stable

- name: Build Rust workspace
run: cargo build --release --workspace

# Build frontend
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'

- name: Enable Corepack
run: |
corepack enable
corepack prepare pnpm@9.12.0 --activate

- name: Install frontend dependencies
working-directory: ./frontend
run: pnpm install --frozen-lockfile

- name: Build frontend
working-directory: ./frontend
run: pnpm build

# Generate SBOM for Rust workspace
- name: Install cargo-sbom
run: cargo install cargo-sbom

- name: Generate Rust SBOM
run: cargo sbom --output-format spdx_json_2_3 > rust-sbom.spdx.json

# Generate SBOM for frontend
- name: Generate Frontend SBOM
working-directory: ./frontend
run: |
npm install -g @cyclonedx/cyclonedx-npm
cyclonedx-npm --output-file ../frontend-sbom.json

# Create the GitHub Release with the generated notes and SBOMs
- name: Create GitHub Release
uses: softprops/action-gh-release@v2
with:
Expand All @@ -63,3 +103,6 @@ jobs:
body_path: /tmp/release-notes.md
draft: false
prerelease: ${{ contains(github.ref_name, '-') }}
files: |
rust-sbom.spdx.json
frontend-sbom.json
56 changes: 56 additions & 0 deletions cspell.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
{
"version": "0.2",
"language": "en-US",
"words": [
"Soroban",
"Freighter",
"yvUSDC",
"USDC",
"XLM",
"Stellar",
"blockchain",
"smartcontract",
"smartcontracts",
"testnet",
"mainnet",
"keypair",
"keypairs",
"Junirezz",
"YieldVault",
"RWA",
"Rustc",
"Wasm",
"WASM",
"rustup",
"pnpm",
"typecheck",
"SBOM",
"SPDX",
"CycloneDX",
"lockfile",
"codeowners",
"repo",
"Github",
"deps",
"codeql",
"slither",
"gitleaks",
"clippy",
"rustfmt"
],
"ignorePaths": [
"node_modules",
"target",
"dist",
"build",
"*.lock",
"*.log",
"coverage",
".git"
],
"ignoreRegExpList": [
"/0x[0-9a-fA-F]+/",
"/[A-Z0-9]{56}/",
"/G[A-Z0-9]{55}/"
]
}
Loading