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
18 changes: 4 additions & 14 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,17 +3,7 @@
# SPDX-License-Identifier: MIT

# These are supported funding model platforms

github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
patreon: # Replace with a single Patreon username
open_collective: raprojects # Replace with a single Open Collective username
ko_fi: rozanov # Replace with a single Ko-fi username
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
liberapay: # Replace with a single Liberapay username
issuehunt: # Replace with a single IssueHunt username
lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry
polar: # Replace with a single Polar username
buy_me_a_coffee: raprogramm # Replace with a single Buy Me a Coffee username
thanks_dev: # Replace with a single thanks.dev username
custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] # TODO: make an link to usdt wallet
custom:
- "https://etherscan.io/address/0xD653E9c96910D44923027bB0365Ca4A8f580894F"
- "https://www.blockchain.com/btc/address/bc1qx58y00ljpz0e2anpq90f6uztf0puyuvnq4pcvf"
- "https://solscan.io/account/GJacUwSi5w9KU8u4fC7XYWYhi6yU6m4dCvmDRmFTbs4R"
40 changes: 35 additions & 5 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,19 +39,39 @@ env:
CRATES: "masterror-template masterror-derive masterror"

jobs:
# ════════════════════════════════════════════════════════════════════════════
# Read MSRV from Cargo.toml (single source of truth)
# ════════════════════════════════════════════════════════════════════════════

msrv:
name: Read MSRV
runs-on: ubuntu-latest
outputs:
version: ${{ steps.msrv.outputs.version }}
steps:
- uses: actions/checkout@v5

- name: Extract MSRV from Cargo.toml
id: msrv
run: |
MSRV=$(grep '^rust-version' Cargo.toml | head -1 | sed 's/.*"\(.*\)"/\1/')
echo "version=$MSRV" >> "$GITHUB_OUTPUT"
echo "MSRV: $MSRV"

# ════════════════════════════════════════════════════════════════════════════
# STAGE 1: CHECKS (parallel matrix)
# ════════════════════════════════════════════════════════════════════════════

check:
name: Check (${{ matrix.rust }} / ${{ matrix.os }})
needs: msrv
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
include:
# MSRV
- rust: "1.91"
# MSRV (from Cargo.toml)
- rust: msrv
os: ubuntu-latest
msrv: true
# Stable (primary)
Expand All @@ -71,16 +91,26 @@ jobs:
steps:
- uses: actions/checkout@v5

- name: Install Rust ${{ matrix.rust }}
- name: Resolve toolchain
id: toolchain
shell: bash
run: |
if [ "${{ matrix.rust }}" = "msrv" ]; then
echo "version=${{ needs.msrv.outputs.version }}" >> "$GITHUB_OUTPUT"
else
echo "version=${{ matrix.rust }}" >> "$GITHUB_OUTPUT"
fi

- name: Install Rust ${{ steps.toolchain.outputs.version }}
uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ matrix.rust }}
toolchain: ${{ steps.toolchain.outputs.version }}
components: clippy

- name: Cache
uses: Swatinem/rust-cache@v2
with:
shared-key: ${{ matrix.rust }}-${{ matrix.os }}
shared-key: ${{ steps.toolchain.outputs.version }}-${{ matrix.os }}
save-if: ${{ github.ref == 'refs/heads/main' }}

- name: Clippy
Expand Down
Loading
Loading