diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..7e7475a --- /dev/null +++ b/.gitattributes @@ -0,0 +1 @@ +*.clar text eol=lf diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..bf5e9a4 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,66 @@ +name: Sanity checks + +on: + push: + branches: + - master + pull_request: + branches: + - master + +jobs: + tests: + runs-on: ${{ matrix.os }} + timeout-minutes: 3 + strategy: + fail-fast: false + matrix: + os: [ubuntu-latest, macos-latest] + node: [22, 20, 18] + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Use Node.js ${{ matrix.node }} + uses: actions/setup-node@v4 + with: + node-version: ${{ matrix.node }} + + - name: Install dependencies + run: npm ci + + - name: Run tests + run: npm test + + examples: + runs-on: ${{ matrix.os }} + timeout-minutes: 3 + strategy: + fail-fast: false + matrix: + os: [ubuntu-latest, macos-latest, windows-latest] + node: [22, 20, 18] + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Use Node.js ${{ matrix.node }} + uses: actions/setup-node@v4 + with: + node-version: ${{ matrix.node }} + + - name: Install dependencies + run: npm ci + + - name: Run examples + shell: bash + run: | + cd example + ../rv . counter test + ../rv . counter invariant + ../rv . cargo test + ../rv . cargo invariant + ../rv . reverse test + ../rv . slice test diff --git a/README.md b/README.md index 1fd4019..603bfce 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ Rendezvous `rv` is a Clarity fuzzer designed to cut through your smart contract' ### Prerequisites -- **Node.js**: Requires LTS version 20.18.0. Other versions may work, but they are untested. +- **Node.js**: Supported versions include 18, 20, and 22. Other versions may work, but they are untested. ### Inspiration