Build Nym-Api (temp/memory-profiling) NO TOKIO CONSOLE #11
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build Nym-Api (temp/memory-profiling) | |
on: | |
workflow_dispatch: | |
inputs: | |
add_tokio_unstable: | |
description: 'True build RUSTFLAGS="--cfg tokio_unstable"' | |
required: true | |
default: false | |
type: boolean | |
enable_jemalloc: | |
description: "True to enable jemalloc allocator" | |
required: false | |
default: true | |
type: boolean | |
jobs: | |
publish-nym: | |
strategy: | |
fail-fast: false | |
matrix: | |
platform: [ubuntu-22.04-16-core] | |
runs-on: ${{ matrix.platform }} | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Install Dependencies (Linux) | |
run: sudo apt-get update && sudo apt-get -y install ripgrep libwebkit2gtk-4.0-dev build-essential curl wget libssl-dev libgtk-3-dev libudev-dev squashfs-tools libjemalloc-dev | |
continue-on-error: true | |
- name: Check out repository code | |
uses: actions/checkout@v4 | |
with: | |
repository: nymtech/nym | |
ref: temp/memory-profiling | |
- name: Install Rust stable | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: stable | |
- name: Sets env vars for tokio if set in manual dispatch inputs | |
run: | | |
echo 'RUSTFLAGS="--cfg tokio_unstable"' >> $GITHUB_ENV | |
if: github.event_name == 'workflow_dispatch' && inputs.add_tokio_unstable == true | |
- name: Maybe build nym-api with jemalloc | |
uses: actions-rs/cargo@v1 | |
with: | |
command: build | |
args: --bin nym-api --release --features=memory-prof | |
if: github.event_name == 'workflow_dispatch' && inputs.enable_jemalloc == true | |
- name: Maybe build nym-api WITHOUT jemalloc | |
uses: actions-rs/cargo@v1 | |
with: | |
command: build | |
args: --bin nym-api --release | |
if: github.event_name == 'workflow_dispatch' && inputs.enable_jemalloc == false | |
- name: Upload Artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: my-artifact | |
path: | | |
target/release/nym-api | |
retention-days: 30 |