Skip to content

Commit

Permalink
initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
tbraun96 committed Nov 27, 2024
0 parents commit 811413d
Show file tree
Hide file tree
Showing 34 changed files with 2,081 additions and 0 deletions.
12 changes: 12 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# To get started with Dependabot version updates, you'll need to specify which
# package ecosystems to update and where the package manifests are located.
# Please see the documentation for all configuration options:
# https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file

version: 2
updates:
- package-ecosystem: "cargo" # See documentation for possible values
directory: "/" # Location of package manifests
schedule:
interval: "daily"
open-pull-requests-limit: 5
109 changes: 109 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
name: CI

on:
pull_request:
branches: [main]
push:
branches: [main]
workflow_dispatch:

concurrency:
group: rust-validation-${{ github.head_ref }}
cancel-in-progress: true

jobs:
fmt:
name: Rustfmt
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@v4

- uses: dtolnay/rust-toolchain@nightly
with:
toolchain: nightly-2024-10-13
components: rustfmt

- name: Check Formatting
run: cargo fmt -- --check

lint:
timeout-minutes: 120
name: Clippy
runs-on: ubuntu-latest
steps:
- name: checkout code
uses: actions/checkout@v4

- name: Install Foundry
uses: foundry-rs/foundry-toolchain@v1
with:
version: nightly

- name: Verify Forge installation
run: forge --version

- name: Install Solidity Dependencies
run: forge soldeer update -d

- uses: dtolnay/rust-toolchain@nightly
with:
toolchain: nightly-2024-10-13
components: clippy

- uses: swatinem/rust-cache@v2
with:
cache-on-failure: "true"

- name: Forge build
run: forge update && forge build

- uses: taiki-e/github-actions/free-device-space@main

- name: Run Clippy
run: cargo clippy --tests --examples -- -D warnings

test:
timeout-minutes: 90
name: Unit tests
runs-on: ubuntu-latest
steps:
- name: checkout code
uses: actions/checkout@v4

- name: Install Foundry
uses: foundry-rs/foundry-toolchain@v1
with:
version: nightly

- name: Verify Forge installation
run: forge --version

- name: Install Solidity Dependencies
run: forge soldeer update -d

- uses: dtolnay/rust-toolchain@nightly
with:
toolchain: nightly-2024-10-13
components: clippy

- uses: swatinem/rust-cache@v2
with:
cache-on-failure: "true"

- uses: taiki-e/install-action@v2
with:
tool: nextest

- name: Forge build
run: forge update && forge build

- uses: taiki-e/github-actions/free-device-space@main

- name: Download Tangle Manual Sealing
run: |
wget https://github.com/tangle-network/tangle/releases/download/v1.2.3/tangle-testnet-manual-seal-linux-amd64
chmod +x tangle-testnet-manual-seal-linux-amd64
- name: tests
run: TANGLE_NODE=$(pwd)/tangle-testnet-manual-seal-linux-amd64 cargo nextest run
36 changes: 36 additions & 0 deletions .github/workflows/foundry.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
name: Foundry CI

on: workflow_dispatch

env:
FOUNDRY_PROFILE: ci

jobs:
foundry-check:
strategy:
matrix:
os: [ubuntu-latest]
fail-fast: true

name: Foundry project
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: recursive

- name: Install Foundry
uses: foundry-rs/foundry-toolchain@v1
with:
version: nightly

- name: Run Forge build
run: |
forge --version
forge build --sizes
id: build

- name: Run Forge tests
run: |
forge test -vvv
id: test
Loading

0 comments on commit 811413d

Please sign in to comment.