From 0811be25cfccd4b73259c3e829bda5e575904a5c Mon Sep 17 00:00:00 2001 From: James Kay Date: Wed, 15 May 2024 15:33:00 +0100 Subject: [PATCH] Add CI testing for the build --- .envrc | 2 +- .github/workflows/build.yml | 51 +++++++++++++++++++++++++++++++++++++ .gitmodules | 2 +- flake.lock | 13 ++++------ flake.nix | 5 +--- 5 files changed, 59 insertions(+), 14 deletions(-) create mode 100644 .github/workflows/build.yml diff --git a/.envrc b/.envrc index 3550a30..0cd1325 100644 --- a/.envrc +++ b/.envrc @@ -1 +1 @@ -use flake +use flake '.?submodules=1' diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..7164788 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,51 @@ +name: Build + +on: + push: + branches: [ main ] + pull_request: + branches: + - "**" + paths-ignore: + - '*.md' + workflow_dispatch: + +# This allows a subsequently queued workflow run to interrupt previous runs on pull-requests +concurrency: + group: '${{ github.workflow }} @ ${{ github.event.pull_request.head.label || github.head_ref || github.run_id }}' + cancel-in-progress: true + +env: + CARGO_TERM_COLOR: always + CARGO_INCREMENTAL: 0 + CARGO_NET_RETRY: 10 + RUST_BACKTRACE: short + # We allow redundant explicit links because `cargo rdme` doesn't know how to resolve implicit intra-crate links. + RUSTDOCFLAGS: -A rustdoc::redundant_explicit_links -D warnings + # We will re-enable this once the client worker builds without warnings. + # RUSTFLAGS: -D warnings + RUSTUP_MAX_RETRIES: 10 + RUST_LOG: warn + +permissions: + contents: read + +jobs: + test: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + with: + submodules: true + - uses: cachix/install-nix-action@v26 + - uses: DeterminateSystems/magic-nix-cache-action@main + - name: Build the client worker + run: | + cd client-worker + nix develop '.?submodules=1' --override-input linera-protocol ../linera-protocol --command wasm-pack build --target web + - name: Build the extension + run: | + cd extension + nix develop --override-input linera-protocol ../linera-protocol --command pnpm install + nix develop --override-input linera-protocol ../linera-protocol --command pnpm build diff --git a/.gitmodules b/.gitmodules index bbe3307..3b07c28 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,3 @@ [submodule "linera-protocol"] path = linera-protocol - url = git@github.com:linera-io/linera-protocol + url = git@github.com:Twey/linera-protocol diff --git a/flake.lock b/flake.lock index ac5672f..0e025ca 100644 --- a/flake.lock +++ b/flake.lock @@ -82,17 +82,14 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1715784324, + "lastModified": 1, "narHash": "sha256-G7I7bdzkHd3MvK2HJ2Wic1Q7EN70Fr/lo1SSY6nBmF0=", - "ref": "91b1bb47ec7f69a915846f985948ee07726e8ecc", - "rev": "91b1bb47ec7f69a915846f985948ee07726e8ecc", - "revCount": 3136, - "type": "git", - "url": "file:linera-protocol?shallow=1&submodules=1" + "path": "linera-protocol", + "type": "path" }, "original": { - "type": "git", - "url": "file:linera-protocol?shallow=1&submodules=1" + "path": "linera-protocol", + "type": "path" } }, "nixpkgs": { diff --git a/flake.nix b/flake.nix index 39b07d6..75338c1 100644 --- a/flake.nix +++ b/flake.nix @@ -3,10 +3,7 @@ nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; flake-parts.url = "github:hercules-ci/flake-parts"; systems.url = "github:nix-systems/default"; - linera-protocol = { - type = "git"; - url = "file:linera-protocol?shallow=1&submodules=1"; - }; + linera-protocol.url = "path:linera-protocol"; }; outputs = inputs: inputs.flake-parts.lib.mkFlake { inherit inputs; } {