diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ac62d6d6129..d4025dd16dc 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -20,7 +20,7 @@ concurrency: jobs: build-ubuntu-X64: - runs-on: ubuntu-22.04 + runs-on: ubuntu-20.04 outputs: eras: ${{ steps.eras-test-lab.outputs.eras }} steps: @@ -30,7 +30,7 @@ jobs: - name: Install stable toolchain, tools, and restore cache uses: ./.github/workflows/actions/toolchain-and-cache with: - cache-version: ${{ secrets.CACHE_VERSION }} + cache-version: 20.04-${{ secrets.CACHE_VERSION }} cargo-tools: cargo-deb # We separate the build in 2 steps as we want to avoid side effects with Rust feature unification. @@ -182,6 +182,9 @@ jobs: if: success() || failure() shell: bash run: cargo sort -w -c + + - name: Dependency & Vulnerabilities Review + uses: actions/dependency-review-action@v3 run-test-lab: runs-on: ubuntu-22.04 diff --git a/docs/package.json b/docs/package.json index c4e42f9cbce..a5c475fa5b7 100644 --- a/docs/package.json +++ b/docs/package.json @@ -1,6 +1,6 @@ { "name": "mithril-doc", - "version": "0.1.17", + "version": "0.1.18", "private": true, "scripts": { "docusaurus": "docusaurus", diff --git a/docs/root/compiled-binaries.md b/docs/root/compiled-binaries.md index 3b9e98d033d..44798ce085c 100644 --- a/docs/root/compiled-binaries.md +++ b/docs/root/compiled-binaries.md @@ -4,10 +4,13 @@ hide_title: true hide_table_of_contents: true --- -## Download compiled binary +Each Release / Pre-Release distribution comes with pre compiled binaries ready to use or wrapped in a debian package +for linux¹. -Each Release / Pre-Release distribution comes with pre compiled binaries ready to use or wrapped in a debian package. +You can download them from the Release / Pre-Release distribution page that depends on the Mithril Network you +are targeting. -You can download them from the Release / Pre-Release distribution page that depends on the Mithril Network you are targeting. +These links are available in the **Build From** column of the above **Mithril Networks** table. -These links are available in the **Build From** column of the above **Mithril Networks** table. \ No newline at end of file +¹ The Linux binaries target `glibc`, and have a minimum requirement of `glibc 2.31` (compatible with `Ubuntu 20.04` +or `Debian Bullseye`). \ No newline at end of file diff --git a/docs/root/manual/developer-docs/nodes/mithril-aggregator.md b/docs/root/manual/developer-docs/nodes/mithril-aggregator.md index 655f8c73ae5..24999bcdf5f 100644 --- a/docs/root/manual/developer-docs/nodes/mithril-aggregator.md +++ b/docs/root/manual/developer-docs/nodes/mithril-aggregator.md @@ -39,8 +39,6 @@ This is the node of the **Mithril Network** responsible for collecting individua * Install OpenSSL development libraries, for example on Ubuntu/Debian/Mint run `apt install libssl-dev` -* Ensure SQLite3 library is installed on your system and its version is at least `3.40`. Run `sqlite3 --version` to check your version. - ## Download source Download from GitHub (HTTPS) @@ -372,6 +370,8 @@ If you want to dig deeper, you can get access to several level of logs from the ::: +## Download pre-built binary + ## Build and run Docker container diff --git a/docs/root/manual/developer-docs/nodes/mithril-client.md b/docs/root/manual/developer-docs/nodes/mithril-client.md index 63dc2cd20d5..c4d57945be5 100644 --- a/docs/root/manual/developer-docs/nodes/mithril-client.md +++ b/docs/root/manual/developer-docs/nodes/mithril-client.md @@ -184,6 +184,8 @@ If you want to dig deeper, you can get access to several level of logs from the ::: +## Download pre-built binary + ## Run Docker container diff --git a/docs/root/manual/developer-docs/nodes/mithril-signer.md b/docs/root/manual/developer-docs/nodes/mithril-signer.md index e240afaf74d..b0cf92871c2 100644 --- a/docs/root/manual/developer-docs/nodes/mithril-signer.md +++ b/docs/root/manual/developer-docs/nodes/mithril-signer.md @@ -41,8 +41,6 @@ This is the node of the **Mithril Network** responsible for producing individual * Install OpenSSL development libraries, for example on Ubuntu/Debian/Mint run `apt install libssl-dev` -* Ensure SQLite3 library is installed on your system and its version is at least `3.35` (released Apr. 2021) on Debian/Ubuntu: `apt install libsqlite3` and `sqlite3 --version`. - ## Download source Download from GitHub (HTTPS) @@ -170,6 +168,8 @@ If you want to dig deeper, you can get access to several level of logs from the ::: +## Download pre-built binary + ## Build and run Docker container diff --git a/docs/root/manual/getting-started/bootstrap-cardano-node.md b/docs/root/manual/getting-started/bootstrap-cardano-node.md index 92ba74e6809..9689729cf1b 100644 --- a/docs/root/manual/getting-started/bootstrap-cardano-node.md +++ b/docs/root/manual/getting-started/bootstrap-cardano-node.md @@ -156,6 +156,8 @@ If you want to dig deeper, you can get access to several level of logs from the ::: +## Download pre-built binary + ## Run Docker container diff --git a/docs/root/manual/getting-started/run-mithril-devnet.md b/docs/root/manual/getting-started/run-mithril-devnet.md index f13bf13cd11..7d9221ae63d 100644 --- a/docs/root/manual/getting-started/run-mithril-devnet.md +++ b/docs/root/manual/getting-started/run-mithril-devnet.md @@ -39,8 +39,6 @@ More information about this private Cardano/Mithril `devnet` is available [here] * Install OpenSSL development libraries, for example on Ubuntu/Debian/Mint run `apt install libssl-dev` -* Ensure SQLite3 library is installed on your system and its version is at least `3.40`. Run `sqlite3 --version` to check your version. - ## Download source Download from GitHub (HTTPS) diff --git a/docs/root/manual/getting-started/run-signer-node.md b/docs/root/manual/getting-started/run-signer-node.md index f7e072d0382..abadee81381 100644 --- a/docs/root/manual/getting-started/run-signer-node.md +++ b/docs/root/manual/getting-started/run-signer-node.md @@ -81,8 +81,6 @@ This guide is working only on a Linux machine. * Install OpenSSL development libraries, for example on Ubuntu/Debian/Mint run `apt install libssl-dev` -* Ensure the SQLite3 version is at least `3.35` (released Apr. 2021) - * Install a recent version of `jq` (version `1.6+`) `apt install jq` * Only for the **production** deployment, install a recent version of [`squid-cache`](http://www.squid-cache.org/) (version `5.2+`) `apt install squid` @@ -141,6 +139,8 @@ Build executable make build ``` +### Download pre-built binary + ### Verify binary diff --git a/docs/versioned_docs/version-maintained/manual/developer-docs/nodes/mithril-client.md b/docs/versioned_docs/version-maintained/manual/developer-docs/nodes/mithril-client.md index 63dc2cd20d5..c4d57945be5 100644 --- a/docs/versioned_docs/version-maintained/manual/developer-docs/nodes/mithril-client.md +++ b/docs/versioned_docs/version-maintained/manual/developer-docs/nodes/mithril-client.md @@ -184,6 +184,8 @@ If you want to dig deeper, you can get access to several level of logs from the ::: +## Download pre-built binary + ## Run Docker container diff --git a/mithril-aggregator/Dockerfile b/mithril-aggregator/Dockerfile index 95547035260..54715a6148c 100644 --- a/mithril-aggregator/Dockerfile +++ b/mithril-aggregator/Dockerfile @@ -1,15 +1,7 @@ ############################### # STEP 1: build rust executable ############################### -FROM ubuntu:22.04 AS rustbuilder - -# Upgrade and install build base -RUN apt-get update && apt-get install -y libssl-dev curl wget build-essential pkg-config make m4 - -# Install Rust -RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y -ENV PATH="/root/.cargo/bin:${PATH}" -RUN cargo --version +FROM rust:bullseye AS rustbuilder # Create appuser RUN adduser --no-create-home --disabled-password appuser @@ -37,7 +29,7 @@ RUN /app/target/release/mithril-aggregator --version ############################### # STEP 2: build a small image ############################### -FROM ubuntu:22.04 +FROM debian:11-slim # Args ARG CARDANO_BIN_URL=https://github.com/input-output-hk/cardano-node/releases/download/8.1.1/cardano-node-8.1.1-linux.tar.gz diff --git a/mithril-aggregator/Dockerfile.ci b/mithril-aggregator/Dockerfile.ci index 6ceb21dd230..9578f492f2d 100644 --- a/mithril-aggregator/Dockerfile.ci +++ b/mithril-aggregator/Dockerfile.ci @@ -1,13 +1,13 @@ # Creates a docker image to run an executable built outside of the image # This relies on the fact the mithril-aggregator executable has been built # on a debian-compatible x86-64 environment -FROM ubuntu:22.04 +FROM debian:11-slim # Args ARG CARDANO_BIN_URL=https://github.com/input-output-hk/cardano-node/releases/download/8.1.1/cardano-node-8.1.1-linux.tar.gz # Upgrade -RUN apt-get update -y && apt-get install -y libssl-dev ca-certificates wget sqlite3 && rm -rf /var/lib/apt/lists/* +RUN apt-get update -y && apt-get install -y libssl-dev ca-certificates wget && rm -rf /var/lib/apt/lists/* # Create appuser RUN adduser --no-create-home --disabled-password appuser diff --git a/mithril-client/Dockerfile b/mithril-client/Dockerfile index d8b0fa574c5..a5af043b1b7 100644 --- a/mithril-client/Dockerfile +++ b/mithril-client/Dockerfile @@ -1,15 +1,7 @@ ############################### # STEP 1: build rust executable ############################### -FROM ubuntu:22.04 AS rustbuilder - -# Upgrade and install build base -RUN apt-get update && apt-get install -y libssl-dev curl wget build-essential pkg-config make m4 - -# Install Rust -RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y -ENV PATH="/root/.cargo/bin:${PATH}" -RUN cargo --version +FROM rust:bullseye AS rustbuilder # Create appuser RUN adduser --no-create-home --disabled-password appuser @@ -37,10 +29,10 @@ RUN /app/target/release/mithril-client --version ############################### # STEP 2: build a small image ############################### -FROM ubuntu:22.04 +FROM debian:11-slim # Upgrade -RUN apt-get update -y && apt-get install -y libssl-dev ca-certificates wget && rm -rf /var/lib/apt/lists/* +RUN apt-get update -y && apt-get install -y libssl-dev ca-certificates wget sqlite3 && rm -rf /var/lib/apt/lists/* # Import the user and group files from the builder COPY --from=rustbuilder /etc/passwd /etc/passwd diff --git a/mithril-client/Dockerfile.ci b/mithril-client/Dockerfile.ci index f8fe70725a5..eb1761bc4d1 100644 --- a/mithril-client/Dockerfile.ci +++ b/mithril-client/Dockerfile.ci @@ -1,10 +1,10 @@ # Creates a docker image to run an executable built outside of the image # This relies on the fact the mithril-client executable has been built # on a debian-compatible x86-64 environment -FROM ubuntu:22.04 +FROM debian:11-slim # Upgrade -RUN apt-get update -y && apt-get install -y libssl-dev ca-certificates wget sqlite3 && rm -rf /var/lib/apt/lists/* +RUN apt-get update -y && apt-get install -y libssl-dev ca-certificates wget && rm -rf /var/lib/apt/lists/* # Create appuser RUN adduser --disabled-password appuser diff --git a/mithril-signer/Dockerfile b/mithril-signer/Dockerfile index b51c4839698..2da23f593fe 100644 --- a/mithril-signer/Dockerfile +++ b/mithril-signer/Dockerfile @@ -1,15 +1,7 @@ ############################### # STEP 1: build rust executable ############################### -FROM ubuntu:22.04 AS rustbuilder - -# Upgrade and install build base -RUN apt-get update && apt-get install -y libssl-dev curl wget build-essential pkg-config make m4 - -# Install Rust -RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y -ENV PATH="/root/.cargo/bin:${PATH}" -RUN cargo --version +FROM rust:bullseye AS rustbuilder # Create appuser RUN adduser --no-create-home --disabled-password appuser @@ -38,7 +30,7 @@ RUN /app/target/release/mithril-signer --version ############################### # STEP 2: build a small image ############################### -FROM ubuntu:22.04 +FROM debian:11-slim # Args ARG CARDANO_BIN_URL=https://github.com/input-output-hk/cardano-node/releases/download/8.1.1/cardano-node-8.1.1-linux.tar.gz diff --git a/mithril-signer/Dockerfile.ci b/mithril-signer/Dockerfile.ci index fa915fb82a2..8e8647958cc 100644 --- a/mithril-signer/Dockerfile.ci +++ b/mithril-signer/Dockerfile.ci @@ -1,13 +1,13 @@ # Creates a docker image to run an executable built outside of the image # This relies on the fact the mithril-signer executable has been built # on a debian-compatible x86-64 environment -FROM ubuntu:22.04 +FROM debian:11-slim # Args ARG CARDANO_BIN_URL=https://github.com/input-output-hk/cardano-node/releases/download/8.1.1/cardano-node-8.1.1-linux.tar.gz # Upgrade -RUN apt-get update -y && apt-get install -y libssl-dev ca-certificates wget sqlite3 && rm -rf /var/lib/apt/lists/* +RUN apt-get update -y && apt-get install -y libssl-dev ca-certificates wget && rm -rf /var/lib/apt/lists/* # Create appuser RUN adduser --no-create-home --disabled-password appuser