Skip to content

Commit

Permalink
rainix workflow
Browse files Browse the repository at this point in the history
  • Loading branch information
thedavidmeister committed Jan 7, 2024
1 parent 05e9d4a commit f96d457
Show file tree
Hide file tree
Showing 3 changed files with 228 additions and 23 deletions.
30 changes: 30 additions & 0 deletions .github/workflows/rainix.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
name: Rainix CI
on: [push]

jobs:
standard-tests:
strategy:
matrix:
os: [ubuntu-latest, macos-latest]
task: [ci-rs-test, ci-rs-artifacts]
include:
# Solidity doesn't need to be tested on multiple platforms
- os: ubuntu-latest
task: ci-sol-test
- os: ubuntu-latest
task: ci-sol-static
- os: ubuntu-latest
task: ci-sol-artifacts
# We don't need to do rust static analysis on multiple platforms
- os: ubuntu-latest
task: ci-rs-static
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3

- name: Install Nix
uses: DeterminateSystems/nix-installer-action@v4
- uses: DeterminateSystems/magic-nix-cache-action@v2

- run: nix run .#ci-prep
- run: nix run github:rainlanguage/rainix#${{ matrix.task }}
204 changes: 188 additions & 16 deletions flake.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

17 changes: 10 additions & 7 deletions flake.nix
Original file line number Diff line number Diff line change
Expand Up @@ -2,23 +2,23 @@
description = "Flake for development workflows.";

inputs = {
nixpkgs.url = "github:nixos/nixpkgs/ec750fd01963ab6b20ee1f0cb488754e8036d89d";
rain.url = "github:rainprotocol/rain.cli/6a912680be6d967fd6114aafab793ebe8503d27b";
rainix.url = "github:rainprotocol/rainix/9e945f33349606c12f71559f947473766ed3f922";
flake-utils.url = "github:numtide/flake-utils";
};

outputs = {self, nixpkgs, rain, flake-utils }:
outputs = {self, flake-utils, rainix, rain }:
flake-utils.lib.eachDefaultSystem (system:
let
pkgs = nixpkgs.legacyPackages.${system};
rain-cli = "${rain.defaultPackage.${system}}/bin/rain";
pkgs = rainix.pkgs.${system};
rain-bin = "${rain.defaultPackage.${system}}/bin/rain";

in rec {
packages = rec {
concrete-contracts = ["OrderBook" "GenericPoolOrderBookV3FlashBorrower" "GenericPoolOrderBookV3ArbOrderTaker" "RouteProcessorOrderBookV3ArbOrderTaker"];
build-meta-cmd = contract: ''
${rain-cli} meta build \
-i <(${rain-cli} meta solc artifact -c abi -i out/${contract}.sol/${contract}.json) -m solidity-abi-v2 -t json -e deflate -l en \
${rain-bin} meta build \
-i <(${rain-bin} meta solc artifact -c abi -i out/${contract}.sol/${contract}.json) -m solidity-abi-v2 -t json -e deflate -l en \
-i src/concrete/${contract}.meta.json -m interpreter-caller-meta-v1 -t json -e deflate -l en \
'';
build-single-meta = contract: ''
Expand All @@ -42,7 +42,10 @@
'' + pkgs.lib.concatStrings (map deploy-single-contract concrete-contracts));

default = build-meta;
};
ci-prep = build-meta;
} // rainix.packages.${system};

devShells = rainix.devShells.${system};
}
);

Expand Down

0 comments on commit f96d457

Please sign in to comment.