diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 4d1e4f3..62e7bee 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -3,6 +3,13 @@ name: 🚀 Release Packages & Binaries on: push: branches: [ main ] + workflow_dispatch: + inputs: + run_publish_release: + description: 'Publish release' + type: boolean + required: true + default: false permissions: contents: write @@ -12,145 +19,30 @@ jobs: release-please: runs-on: ubuntu-latest outputs: - release_created: ${{ steps.release.outputs.release_created }} - release_tag: ${{ steps.release.outputs.release_tag }} + releases_created: ${{ steps.release.outputs.releases_created }} + prs_created: ${{ steps.release.outputs.prs_created }} + tag_name: ${{ steps.release.outputs.tag_name }} steps: - name: Setup release-please uses: googleapis/release-please-action@v4 id: release with: token: ${{ secrets.GITHUB_TOKEN }} - default-branch: main config-file: release-please-config.json manifest-file: .release-please-manifest.json - build-release-macos-arm64: - needs: release-please - runs-on: macos-latest - if: ${{ needs.release-please.outputs.release_created }} - steps: - - name: Checkout code - uses: actions/checkout@v4 - - - name: Install libkrun dependencies - run: | - brew update - brew tap slp/tap - brew install krunvm - - - name: Install Rust toolchain - uses: actions-rs/toolchain@v1 - with: - profile: minimal - toolchain: stable - override: true - - - name: Build libkrun - run: | - ./build_libkrun.sh --no-cleanup --force-build - - - name: Build monocore - working-directory: monocore - run: | - sudo make build - - - name: Rename binaries - run: | - mv monocore/target/release/monocore build/monocore-macos-arm64 - mv monocore/target/release/monokrun build/monokrun-macos-arm64 - for file in build/libkrun/libkrun*.dylib; do - mv "build/libkrun/$file" "build/$(echo "$file" | sed 's/libkrun/libkrun-macos-arm64/')" - done - for file in build/libkrunfw/libkrunfw*.dylib; do - mv "build/libkrunfw/$file" "build/$(echo "$file" | sed 's/libkrunfw/libkrunfw-macos-arm64/')" - done - - - name: Cache libkrun - uses: actions/cache/save@v4 - with: - path: | - build/monocore-macos-arm64 - build/monokrun-macos-arm64 - build/libkrun-macos-arm64*.dylib - build/libkrunfw-macos-arm64*.dylib - key: macos-arm64-monocore-${{ needs.release-please.outputs.release_tag }} - - - name: Build monoutils-store - working-directory: monoutils-store - run: | - cargo build --release -p monoutils-store - - - name: Build monofs - working-directory: monofs + - name: Check release status run: | - cargo build --release -p monofs - - build-release-linux-x86_64: - needs: release-please - runs-on: ubuntu-latest - if: ${{ needs.release-please.outputs.release_created }} - steps: - - name: Checkout code - uses: actions/checkout@v4 - - - name: Install libkrun dependencies - run: | - sudo apt-get update -qqy - sudo apt-get install -y jq libelf-dev build-essential flex bison libssl-dev libncurses5-dev python3-pip - pip3 install --user pyelftools - - - name: Install Rust toolchain - uses: actions-rs/toolchain@v1 - with: - profile: minimal - toolchain: stable - override: true - - - name: Build libkrun - run: | - ./build_libkrun.sh --no-cleanup --force-build - - - name: Build monocore - working-directory: monocore - run: | - sudo make build - - - name: Rename binaries - run: | - mv monocore/target/release/monocore build/monocore-linux-x86_64 - mv monocore/target/release/monokrun build/monokrun-linux-x86_64 - for file in build/libkrun/libkrun*.so*; do - mv "build/libkrun/$file" "build/$(echo "$file" | sed 's/libkrun/libkrun-linux-x86_64/')" - done - for file in build/libkrunfw/libkrunfw*.so*; do - mv "build/libkrunfw/$file" "build/$(echo "$file" | sed 's/libkrunfw/libkrunfw-linux-x86_64/')" - done - - - name: Cache libkrun - uses: actions/cache/save@v4 - with: - path: | - build/monocore-linux-x86_64 - build/monokrun-linux-x86_64 - build/libkrun-linux-x86_64*.so* - build/libkrunfw-linux-x86_64*.so* - key: linux-x86_64-monocore-${{ needs.release-please.outputs.release_tag }} - - - name: Build monoutils-store - working-directory: monoutils-store - run: | - cargo build --release -p monoutils-store - - - name: Build monofs - working-directory: monofs - run: | - cargo build --release -p monofs + echo "Release created: ${{ steps.release.outputs.releases_created }}" + echo "PRs created: ${{ steps.release.outputs.prs_created }}" + echo "monocore created: ${{ steps.release.outputs.monocore--releases_created }}" + echo "monofs created: ${{ steps.release.outputs.monofs--releases_created }}" + echo "monoutils-store created: ${{ steps.release.outputs.monoutils-store--releases_created }}" publish-release: needs: - release-please - - build-release-macos-arm64 - if: ${{ needs.release-please.outputs.release_created }} + if: ${{ needs.release-please.outputs.releases_created == 'true' || github.event.inputs.run_publish_release }} runs-on: ubuntu-latest steps: - name: Checkout code @@ -161,7 +53,7 @@ jobs: env: CARGO_TOKEN: ${{ secrets.CARGO_TOKEN }} run: | - cargo publish -p monoutils-store || exit 1 + cargo publish -p monoutils-store - name: Wait for crates.io index update run: | @@ -173,55 +65,11 @@ jobs: env: CARGO_TOKEN: ${{ secrets.CARGO_TOKEN }} run: | - cargo publish -p monofs || exit 1 + cargo publish -p monofs - name: Publish monocore working-directory: monocore env: CARGO_TOKEN: ${{ secrets.CARGO_TOKEN }} run: | - cargo publish -p monocore || exit 1 - - upload-release: - needs: - - release-please - - build-release-macos-arm64 - - build-release-linux-x86_64 - - publish-release - if: ${{ needs.release-please.outputs.release_created }} - runs-on: ubuntu-latest - steps: - - name: Checkout code - uses: actions/checkout@v4 - - - name: Restore macOS arm64 cache - uses: actions/cache/restore@v4 - with: - path: | - build/monocore-macos-arm64 - build/monokrun-macos-arm64 - build/libkrun-macos-arm64*.dylib - build/libkrunfw-macos-arm64*.dylib - key: macos-arm64-monocore-${{ needs.release-please.outputs.release_tag }} - - - name: Restore Linux x86_64 cache - uses: actions/cache/restore@v4 - with: - path: | - build/monocore-linux-x86_64 - build/monokrun-linux-x86_64 - build/libkrun-linux-x86_64*.so* - build/libkrunfw-linux-x86_64*.so* - key: linux-x86_64-monocore-${{ needs.release-please.outputs.release_tag }} - - - name: Upload release - uses: softprops/action-gh-release@v2 - with: - files: | - CHANGELOG.md - build/monocore-* - build/monokrun-* - build/libkrun-* - build/libkrunfw-* - tag_name: ${{ needs.release-please.outputs.release_tag }} - token: ${{ secrets.GITHUB_TOKEN }} + cargo publish -p monocore diff --git a/Cargo.lock b/Cargo.lock index 9576c9e..e0a4a8d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1668,10 +1668,6 @@ dependencies = [ name = "monoutils-ucan" version = "0.1.0" -[[package]] -name = "monovue" -version = "0.1.0" - [[package]] name = "multibase" version = "0.9.1" @@ -2702,9 +2698,9 @@ dependencies = [ [[package]] name = "sysinfo" -version = "0.32.1" +version = "0.33.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c33cd241af0f2e9e3b5c32163b873b29956890b5342e6745b917ce9d490f4af" +checksum = "948512566b1895f93b1592c7574baeb2de842f224f2aab158799ecadb8ebbb46" dependencies = [ "core-foundation-sys", "libc", diff --git a/Cargo.toml b/Cargo.toml index 6dbaeed..4814540 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -9,7 +9,6 @@ members = [ "monoutils-raft", "monoutils-store", "monoutils-ucan", - "monovue", ] resolver = "2" diff --git a/monoagent/Cargo.toml b/monoagent/Cargo.toml index 4a79ac9..083014f 100644 --- a/monoagent/Cargo.toml +++ b/monoagent/Cargo.toml @@ -1,6 +1,7 @@ [package] name = "monoagent" version = "0.1.0" +description = "`monoagent` is a collection of AI agents used by the monocore project." license.workspace = true repository.workspace = true authors.workspace = true diff --git a/monoagent/lib/lib.rs b/monoagent/lib/lib.rs index ba62cf9..5f16e4d 100644 --- a/monoagent/lib/lib.rs +++ b/monoagent/lib/lib.rs @@ -1,4 +1,4 @@ -//! `monoagent` is an AI agent for the monocore project. +//! `monoagent` is a collection of AI agents used by the monocore project. #![warn(missing_docs)] #![allow(clippy::module_inception)] diff --git a/monobase/Cargo.toml b/monobase/Cargo.toml index 726ac1a..769469c 100644 --- a/monobase/Cargo.toml +++ b/monobase/Cargo.toml @@ -1,6 +1,7 @@ [package] name = "monobase" version = "0.1.0" +description = "`monobase` is a distributed, decentralized, secure multi-model database." license.workspace = true repository.workspace = true authors.workspace = true diff --git a/monocore/Cargo.toml b/monocore/Cargo.toml index 9edcb29..c95c538 100644 --- a/monocore/Cargo.toml +++ b/monocore/Cargo.toml @@ -1,6 +1,7 @@ [package] name = "monocore" version = "0.1.0" +description = "`monocore` is a secure MicroVM provisioning system for running untrusted code in isolated environments." license.workspace = true repository.workspace = true authors.workspace = true @@ -57,7 +58,7 @@ typed-builder.workspace = true typed-path.workspace = true uuid.workspace = true xattr.workspace = true -sysinfo = "0.32" +sysinfo = "0.33" nix = { version = "0.29", features = ["mount", "user", "fs"] } tar = "0.4" flate2 = "1.0" diff --git a/monofs/Cargo.toml b/monofs/Cargo.toml index ce367e5..de8b00b 100644 --- a/monofs/Cargo.toml +++ b/monofs/Cargo.toml @@ -1,6 +1,7 @@ [package] name = "monofs" version = "0.1.0" +description = "`monofs` is an immutable distributed file system." license.workspace = true repository.workspace = true authors.workspace = true diff --git a/monoutils-agent/Cargo.toml b/monoutils-agent/Cargo.toml index 45a0a66..50faaff 100644 --- a/monoutils-agent/Cargo.toml +++ b/monoutils-agent/Cargo.toml @@ -1,6 +1,7 @@ [package] name = "monoutils-agent" version = "0.1.0" +description = "`monoutils-agent` is a simple utility library for building AI agents." license.workspace = true repository.workspace = true authors.workspace = true diff --git a/monoutils-agent/lib/lib.rs b/monoutils-agent/lib/lib.rs index 21b6b1c..759f43a 100644 --- a/monoutils-agent/lib/lib.rs +++ b/monoutils-agent/lib/lib.rs @@ -1,4 +1,4 @@ -//! `monoutils-agent` is a library for building AI agents. +//! `monoutils-agent` is a simple utility library for building AI agents. #![warn(missing_docs)] #![allow(clippy::module_inception)] diff --git a/monoutils-did/Cargo.toml b/monoutils-did/Cargo.toml index 75885b4..b0140c4 100644 --- a/monoutils-did/Cargo.toml +++ b/monoutils-did/Cargo.toml @@ -1,6 +1,7 @@ [package] name = "monoutils-did" version = "0.1.0" +description = "`monoutils-did` is a library for working with DID-Web-Key and DID-Key decentralized identifiers (DIDs) methods." license.workspace = true repository.workspace = true authors.workspace = true diff --git a/monoutils-did/lib/lib.rs b/monoutils-did/lib/lib.rs index 272bc19..1a4f494 100644 --- a/monoutils-did/lib/lib.rs +++ b/monoutils-did/lib/lib.rs @@ -1,4 +1,4 @@ -//! `monoutils-did` is a library for working with DID-WebKey and DID-Key decentralized identifiers (DIDs). +//! `monoutils-did` is a library for working with DID-Web-Key and DID-Key decentralized identifiers (DIDs) methods. #![warn(missing_docs)] #![allow(clippy::module_inception)] diff --git a/monoutils-raft/Cargo.toml b/monoutils-raft/Cargo.toml index f141215..5be5c41 100644 --- a/monoutils-raft/Cargo.toml +++ b/monoutils-raft/Cargo.toml @@ -1,6 +1,7 @@ [package] name = "monoutils-raft" version = "0.1.0" +description = "`monoutils-raft` is a library for extending applications with the Raft distributed consensus protocol." license.workspace = true repository.workspace = true authors.workspace = true diff --git a/monoutils-raft/lib/lib.rs b/monoutils-raft/lib/lib.rs index ddf14a8..b4c94a4 100644 --- a/monoutils-raft/lib/lib.rs +++ b/monoutils-raft/lib/lib.rs @@ -1,4 +1,4 @@ -//! `monoutils-raft` is a library for working with the Raft consensus algorithm. +//! `monoutils-raft` is a library for extending applications with the Raft distributed consensus protocol. #![warn(missing_docs)] #![allow(clippy::module_inception)] diff --git a/monoutils-store/Cargo.toml b/monoutils-store/Cargo.toml index ee6f8b9..4c5556e 100644 --- a/monoutils-store/Cargo.toml +++ b/monoutils-store/Cargo.toml @@ -1,6 +1,7 @@ [package] name = "monoutils-store" version = "0.1.0" +description = "`monoutils-store` is a library for working with IPLD content-addressed stores (CAS)." license.workspace = true repository.workspace = true authors.workspace = true diff --git a/monoutils-ucan/Cargo.toml b/monoutils-ucan/Cargo.toml index 9559a25..e1d431b 100644 --- a/monoutils-ucan/Cargo.toml +++ b/monoutils-ucan/Cargo.toml @@ -1,6 +1,7 @@ [package] name = "monoutils-ucan" version = "0.1.0" +description = "`monoutils-ucan` is a library for capabilities-based security using User Controlled Authorization Networks (UCANs)." license.workspace = true repository.workspace = true authors.workspace = true diff --git a/monoutils-ucan/lib/lib.rs b/monoutils-ucan/lib/lib.rs index 5e54db8..3da97e5 100644 --- a/monoutils-ucan/lib/lib.rs +++ b/monoutils-ucan/lib/lib.rs @@ -1,4 +1,4 @@ -//! `monoutils-ucan` is a library for working with User Controlled Authorization Networks (UCANs). +//! `monoutils-ucan` is a library for capabilities-based security using User Controlled Authorization Networks (UCANs). #![warn(missing_docs)] #![allow(clippy::module_inception)] diff --git a/monovue/Cargo.toml b/monovue/Cargo.toml deleted file mode 100644 index db46037..0000000 --- a/monovue/Cargo.toml +++ /dev/null @@ -1,13 +0,0 @@ -[package] -name = "monovue" -version = "0.1.0" -license.workspace = true -repository.workspace = true -authors.workspace = true -edition.workspace = true - -[lib] -name = "monovue" -path = "lib/lib.rs" - -[dependencies] diff --git a/monovue/README.md b/monovue/README.md deleted file mode 100644 index 864a574..0000000 --- a/monovue/README.md +++ /dev/null @@ -1 +0,0 @@ -# monovue diff --git a/monovue/lib/lib.rs b/monovue/lib/lib.rs deleted file mode 100644 index b8f4f6a..0000000 --- a/monovue/lib/lib.rs +++ /dev/null @@ -1,8 +0,0 @@ -//! `monovue` is a UI for working with monocore. - -#![warn(missing_docs)] -#![allow(clippy::module_inception)] - -//-------------------------------------------------------------------------------------------------- -// Exports -//-------------------------------------------------------------------------------------------------- diff --git a/release-please-config.json b/release-please-config.json index ce8e23d..e9b73d3 100644 --- a/release-please-config.json +++ b/release-please-config.json @@ -4,18 +4,15 @@ "packages": { "monocore": { "package-name": "monocore", - "release-type": "rust", - "release-as": "0.1.0" + "release-type": "rust" }, "monofs": { "package-name": "monofs", - "release-type": "rust", - "release-as": "0.1.0" + "release-type": "rust" }, "monoutils-store": { "package-name": "monoutils-store", - "release-type": "rust", - "release-as": "0.1.0" + "release-type": "rust" } }, "plugins": [