-
Notifications
You must be signed in to change notification settings - Fork 52
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #66 from noir-lang/zpedro/ci
More drift testing
- Loading branch information
Showing
15 changed files
with
166 additions
and
54 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
name: Install Foundry | ||
description: Installs the workspace's foundry | ||
|
||
runs: | ||
using: composite | ||
steps: | ||
- name: Install Foundry | ||
uses: foundry-rs/foundry-toolchain@v1 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
name: Install Nargo | ||
description: Installs the workspace's nargo | ||
inputs: | ||
version: | ||
description: The version of the project to install dependencies for | ||
required: true | ||
|
||
runs: | ||
using: composite | ||
steps: | ||
- name: Install Nargo | ||
uses: noir-lang/[email protected] | ||
with: | ||
toolchain: ${{ inputs.version }} | ||
|
||
- name: Use Nargo | ||
run: nargo --version | ||
shell: bash |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -4,9 +4,6 @@ inputs: | |
project: | ||
description: The project to install dependencies for | ||
required: true | ||
version: | ||
description: The version of the project to install dependencies for | ||
required: true | ||
|
||
runs: | ||
using: composite | ||
|
@@ -23,12 +20,3 @@ runs: | |
- name: Install | ||
run: yarn --immutable | ||
shell: bash | ||
|
||
- name: Install Nargo | ||
uses: noir-lang/[email protected] | ||
with: | ||
toolchain: ${{ inputs.version }} | ||
|
||
- name: Use Nargo | ||
run: nargo --version | ||
shell: bash |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -8,10 +8,12 @@ on: | |
- cron: '0 2 * * *' | ||
|
||
jobs: | ||
setup: | ||
vite-hardhat-setup: | ||
runs-on: ubuntu-latest | ||
outputs: | ||
matrix: ${{ steps.set-matrix.outputs.matrix }} | ||
versions: ${{ steps.set-matrix.outputs.versions }} | ||
versions_map: ${{ steps.set-matrix.outputs.versions_map }} | ||
|
||
steps: | ||
- uses: actions/checkout@v4 | ||
|
||
|
@@ -20,40 +22,66 @@ jobs: | |
run: | | ||
output=$(node ./.github/scripts/latest.js) | ||
echo "Output from Node.js script: $output" | ||
echo "::set-output name=versionArray::$output" | ||
echo "::set-output name=versionsMap::$output" | ||
- name: Set Up Matrix | ||
id: set-matrix | ||
run: | | ||
VERSIONS='${{ steps.versions_step.outputs.versionArray }}' | ||
echo "Versions for Matrix: $VERSIONS" | ||
MATRIX=$(echo "$VERSIONS" | jq -c '{versions: .} | .versions | to_entries | map({key: .key, value: (.value | sub("^v"; ""))})') | ||
echo "::set-output name=matrix::{\"include\":$MATRIX}" | ||
VERSIONS_MAP='${{ steps.versions_step.outputs.versionsMap }}' | ||
echo "Versions out of script: $VERSIONS_MAP" | ||
VERSIONS=$(echo "$VERSIONS_MAP" | jq -c '[.[]]') | ||
echo "::set-output name=versions::$VERSIONS" | ||
echo "::set-output name=versions_map::$VERSIONS_MAP" | ||
test-drift-vite-hardhat: | ||
needs: setup | ||
vite-hardhat-test-drift: | ||
needs: vite-hardhat-setup | ||
runs-on: ubuntu-latest | ||
defaults: | ||
run: | ||
working-directory: vite-hardhat | ||
strategy: | ||
matrix: ${{fromJson(needs.setup.outputs.matrix)}} | ||
fail-fast: false | ||
matrix: | ||
version: ${{ fromJson(needs.vite-hardhat-setup.outputs.versions) }} | ||
# if it errors, we still need to know about it! | ||
steps: | ||
- uses: actions/checkout@v4 | ||
|
||
- name: Set up test environment | ||
uses: ./.github/actions/setup | ||
- name: Set up yarn | ||
uses: ./.github/actions/setup-yarn | ||
with: | ||
project: vite-hardhat | ||
version: ${{ matrix.value }} | ||
|
||
- name: Set up nargo | ||
uses: ./.github/actions/setup-nargo | ||
with: | ||
version: ${{ matrix.version }} | ||
|
||
- name: Get stability | ||
id: get-stability | ||
env: | ||
VERSIONS_MAP: ${{ needs.vite-hardhat-setup.outputs.versions_map }} | ||
run: | | ||
VERSION="${{ matrix.version }}" | ||
echo "Version Number: $VERSION" | ||
STABLE_VERSION=$(echo "$VERSIONS_MAP" | jq -r --arg VERSION "$VERSION" '.stable') | ||
if [ "$STABLE_VERSION" == "$VERSION" ]; then | ||
IS_STABLE="true" | ||
else | ||
IS_STABLE="false" | ||
fi | ||
echo "Is stable: $IS_STABLE" | ||
echo "::set-output name=is_stable::$IS_STABLE" | ||
- name: Install test version | ||
run: | | ||
yarn add \ | ||
@noir-lang/noir_js@${{ matrix.value }} \ | ||
@noir-lang/backend_barretenberg@${{ matrix.value }} \ | ||
@noir-lang/noir_wasm@${{ matrix.value }} \ | ||
@noir-lang/types@${{ matrix.value }} | ||
@noir-lang/noir_js@${{ matrix.version }} \ | ||
@noir-lang/backend_barretenberg@${{ matrix.version }} \ | ||
@noir-lang/noir_wasm@${{ matrix.version }} \ | ||
@noir-lang/types@${{ matrix.version }} | ||
- name: 'Create env file' | ||
run: | | ||
|
@@ -70,4 +98,26 @@ jobs: | |
|
||
- name: Run test | ||
run: yarn test | ||
continue-on-error: ${{ matrix.key == 'prerelease' }} | ||
id: yarn_test | ||
|
||
- name: Send GitHub Action trigger data to Slack workflow - Stable | ||
uses: slackapi/[email protected] | ||
if: ${{ failure() && steps.get-stability.outputs.is_stable == 'true' }} | ||
with: | ||
payload: | | ||
{ | ||
"text": "Oooops, seems like latest stable Noir breaks noir-starter! Projects needing updating: vite-hardhat ${{ matrix.version }}" | ||
} | ||
env: | ||
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} | ||
|
||
- name: Send GitHub Action trigger data to Slack workflow - Prerelease | ||
uses: slackapi/[email protected] | ||
if: ${{ failure() && steps.get-stability.outputs.is_stable == 'false' }} | ||
with: | ||
payload: | | ||
{ | ||
"text": "Heads up DevRel! Once the prerelease becomes stable, the following project will break: vite-hardhat ${{ matrix.version }}" | ||
} | ||
env: | ||
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -14,13 +14,22 @@ jobs: | |
steps: | ||
- uses: actions/checkout@v2 | ||
|
||
- name: Install Nargo | ||
uses: noir-lang/[email protected] | ||
- name: Get latest version | ||
id: versions_step | ||
run: | | ||
output=$(node ../.github/scripts/latest.js) | ||
echo "Output from Node.js script: $output" | ||
STABLE=$(echo $output | jq -r '.stable') | ||
echo "::set-output name=stable::$STABLE" | ||
- name: Set up nargo | ||
uses: ./.github/actions/setup-nargo | ||
with: | ||
toolchain: 0.11.0 | ||
version: ${{ steps.versions_step.outputs.stable }} | ||
|
||
- name: Install Foundry | ||
uses: foundry-rs/foundry-toolchain@v1 | ||
- name: Set up foundry | ||
uses: ./.github/actions/setup-foundry | ||
|
||
- name: Generate verifier contract | ||
run: | | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -46,11 +46,14 @@ jobs: | |
steps: | ||
- uses: actions/checkout@v4 | ||
|
||
- name: Set up test environment | ||
uses: ./.github/actions/setup | ||
- name: Set up nargo | ||
uses: ./.github/actions/setup-nargo | ||
with: | ||
version: ${{ matrix.version }} | ||
|
||
- name: Set up foundry | ||
uses: ./.github/actions/setup-foundry | ||
|
||
- name: Get stability | ||
id: get-stability | ||
env: | ||
|
@@ -82,6 +85,11 @@ jobs: | |
echo LOCALHOST_PRIVATE_KEY="${{ secrets.LOCALHOST_PRIVATE_KEY }}" >> .env | ||
echo ANVIL_RPC="${{ secrets.ANVIL_RPC }}" >> .env | ||
- name: Generate verifier contract | ||
run: | | ||
nargo codegen-verifier | ||
working-directory: with-foundry/circuits | ||
|
||
- name: Generate proof | ||
run: | | ||
nargo prove | ||
|
@@ -91,14 +99,24 @@ jobs: | |
run: | | ||
forge test --optimize --optimizer-runs 5000 --evm-version london | ||
- name: Send GitHub Action trigger data to Slack workflow | ||
id: slack | ||
- name: Send GitHub Action trigger data to Slack workflow - Stable | ||
uses: slackapi/[email protected] | ||
if: ${{ failure() && steps.get-stability.outputs.is_stable == 'true' }} | ||
with: | ||
payload: | | ||
{ | ||
"text": "Oooops, seems like latest stable Noir breaks noir-starter! Projects needing updating: with-foundry ${{ matrix.version }}" | ||
} | ||
env: | ||
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} | ||
|
||
- name: Send GitHub Action trigger data to Slack workflow - Prerelease | ||
uses: slackapi/[email protected] | ||
if: ${{ failure() && steps.get-stability.outputs.is_stable == 'false' }} | ||
with: | ||
payload: | | ||
{ | ||
"text": "Once the prerelease becomes stable, projects need updating: with-foundry ${{ matrix.version }}" | ||
"text": "Heads up DevRel! Once the prerelease becomes stable, the following project will break: with-foundry ${{ matrix.version }}" | ||
} | ||
env: | ||
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,6 @@ | ||
DEPLOYER_PRIVATE_KEY="0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80" | ||
# hardhat acct #0 key, please update | ||
MUMBAI_DEPLOYER_PRIVATE_KEY="0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80" | ||
MUMBAI_ALCHEMY_KEY="" | ||
# hardhat acct #0 key, please update | ||
SEPOLIA_DEPLOYER_PRIVATE_KEY="0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80" | ||
SEPOLIA_ALCHEMY_KEY="" | ||
SEPOLIA_ALCHEMY_KEY="" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,3 @@ | ||
ANVIL_RPC= | ||
PRIVATE_KEY= | ||
SEPOLIA_RPC=https://rpc2.sepolia.org | ||
LOCALHOST_PRIVATE_KEY= | ||
SEPOLIA_RPC=https://rpc2.sepolia.org |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters