Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Move rusk-wallet to rusk monorepo #2144

Merged
merged 6 commits into from
Aug 20, 2024
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
3 changes: 2 additions & 1 deletion .github/workflows/rusk_ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,8 @@ jobs:
run-ci:
- '!(web-wallet/**/*|.github/workflows/webwallet_ci.yml)'
- '!(explorer/**/*|.github/workflows/explorer_ci.yml)'
predicate-quantifier: 'every'
- '!(rusk-wallet/**/*|.github/workflows/ruskwallet_ci.yml)'
predicate-quantifier: "every"
analyze:
needs: changes
if: needs.changes.outputs.run-ci == 'true'
Expand Down
86 changes: 86 additions & 0 deletions .github/workflows/ruskwallet_build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
name: Compile CLI wallet binaries

on:
workflow_dispatch:
inputs:
dusk_blockchain_ref:
description: "GIT branch, ref, or SHA to checkout"
required: true
default: "main"

defaults:
run:
shell: bash

jobs:
build_and_publish:
name: Build rusk-wallet binaries for ${{ matrix.os }} with ${{ matrix.compiler }}.
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-20.04, ubuntu-22.04, macos-latest, macos-11, windows-latest]
compiler: [cargo]
include:
- os: ubuntu-20.04
compiler: cargo
target: linux-x64

- os: ubuntu-22.04
compiler: cargo
target: linux-x64-libssl3

- os: macos-latest
compiler: cargo
target: macos-intel

- os: macos-11
compiler: cargo
target: macos-arm64
flags: --target=aarch64-apple-darwin
platform: aarch64-apple-darwin

- os: windows-latest
compiler: cargo
target: windows-x64

steps:
- name: Checkout Repository
uses: actions/checkout@v4
with:
ref: ${{ github.event.inputs.dusk_blockchain_ref }}

- name: Install dependencies
uses: dsherret/rust-toolchain-file@v1

- name: Add arm target for Apple Silicon build
run: rustup target add aarch64-apple-darwin
if: ${{ matrix.os == 'macos-11' }}

- name: Build Wallet
shell: bash
working-directory: ./
run: ${{matrix.compiler}} b --release --verbose ${{matrix.flags}}
Daksh14 marked this conversation as resolved.
Show resolved Hide resolved

- name: Get semver from wallet binary
run: |
ls -la target/release
export SEMVER=$(cargo pkgid | perl -lpe 's/.*\@(.*)/$1/')
echo "SEMVER=$SEMVER" >> $GITHUB_ENV

- name: "Pack binaries"
run: |
mkdir rusk-wallet${{env.SEMVER}}-${{matrix.target}}
echo "Fetching changelog and readme files..."
mv target/${{matrix.platform}}/release/rusk-wallet rusk-wallet${{env.SEMVER}}-${{matrix.target}}
cp CHANGELOG.md rusk-wallet${{env.SEMVER}}-${{matrix.target}}
cp README.md rusk-wallet${{env.SEMVER}}-${{matrix.target}}
tar -czvf ruskwallet${{env.SEMVER}}-${{matrix.target}}.tar.gz rusk-wallet${{env.SEMVER}}-${{matrix.target}}
ls -la *.gz

- name: "Upload Wallet Artifacts"
uses: actions/upload-artifact@v3
with:
name: wallet-binaries-${{env.SEMVER}}
path: |
./*.gz
retention-days: 5
96 changes: 96 additions & 0 deletions .github/workflows/ruskwallet_ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
name: rusk-wallet CI

on:
pull_request:
types:
- opened
- synchronize
- reopened
- ready_for_review

jobs:
# JOB to run change detection
changes:
runs-on: ubuntu-latest
# Required permissions
permissions:
pull-requests: read
# Set job outputs to values from filter step
outputs:
run-ci: ${{ steps.filter.outputs.run-ci }}
steps:
# For pull requests it's not necessary to checkout the code
- uses: dorny/paths-filter@v3
id: filter
with:
filters: |
run-ci:
- 'rusk-wallet/**'
- '.github/workflows/ruskwallet_ci.yml'
fmt:
name: Rustfmt
runs-on: core
steps:
- uses: actions/checkout@v4
- uses: dsherret/rust-toolchain-file@v1
- run: cargo fmt --all -- --check

analyze:
name: Dusk Analyzer
runs-on: core
steps:
- uses: actions/checkout@v4
- uses: dsherret/rust-toolchain-file@v1
- run: cargo install --git https://github.com/dusk-network/cargo-dusk-analyzer
- run: cargo dusk-analyzer

test_nightly-linux:
name: "[Linux] Nightly tests"
runs-on: core

steps:
- uses: actions/checkout@v4
- uses: dsherret/rust-toolchain-file@v1
- run: cargo test --release
working-directory: ./rusk-wallet
- run: cargo clippy --all-features --release -- -D warnings
working-directory: ./rusk-wallet

test_nightly-macintel:
name: "[Mac Intel] Nightly tests"
runs-on: macos-latest

steps:
- uses: actions/checkout@v4
- uses: dsherret/rust-toolchain-file@v1

- name: Add arm target for Apple Silicon build
run: rustup target add aarch64-apple-darwin

- run: cargo test --release
working-directory: ./rusk-wallet

test_nightly-macm1:
name: "[Mac arm64] Nightly checks"
runs-on: macos-latest

steps:
- uses: actions/checkout@v4
- uses: dsherret/rust-toolchain-file@v1

- name: Add arm target for Apple Silicon build
run: rustup target add aarch64-apple-darwin

- run: cargo check --target=aarch64-apple-darwin --release
working-directory: ./rusk-wallet

test_nightly-win:
name: "[Windows] Nightly tests"
runs-on: windows-latest

steps:
- uses: actions/checkout@v4
- uses: dsherret/rust-toolchain-file@v1

- run: cargo test --release
working-directory: ./rusk-wallet
1 change: 1 addition & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ members = [
# Test utils
"test-wallet",
]
exclude = ["rusk-wallet"]
Daksh14 marked this conversation as resolved.
Show resolved Hide resolved
resolver = "2"

[profile.dev.build-override]
Expand Down
Loading
Loading