Skip to content

Commit

Permalink
Merge branch 'master' into mikeneuder-20230212-1
Browse files Browse the repository at this point in the history
* master: (223 commits)
  chore(noir): Release 0.5.0 (#1202)
  chore(ci): Utilize new workflow to build binaries (#1250)
  chore(ssa refactor): Fix loading from mutable parameters (#1248)
  fix(wasm): add std after dependencies (#1245)
  chore(ssa refactor): Fix no returns & duplicate main (#1243)
  chore(ssa refactor): Implement intrinsics (#1241)
  chore(ssa refactor): Implement first-class functions (#1238)
  chore: address clippy warnings (#1239)
  chore(ssa refactor): Implement function calls (#1235)
  chore(ssa refactor): Implement mutable and immutable variables (#1234)
  chore(ssa refactor): Fix recursive printing of blocks (#1230)
  feat(noir): added assert keyword (#1227)
  chore(ssa refactor): Implement ssa-gen for indexing, cast, constrain, if, unary (#1225)
  feat(noir): added `distinct` keyword (#1219)
  chore(nargo): update panic message to suggest searching for similar issues (#1224)
  chore(ssa refactor): Update how instruction result types are retrieved (#1222)
  chore(ssa refactor): Implement ssa-gen for binary, block, tuple, extract-tuple-field, and semi expressions (#1217)
  chore: add RUST_BACKTRACE environment variable to nix config (#1216)
  chore(ssa): Add intial control flow graph  (#1200)
  chore(ssa refactor): Handle codegen for literals (#1209)
  ...
  • Loading branch information
TomAFrench committed Apr 29, 2023
2 parents 67fdc5c + 049773b commit e90e915
Show file tree
Hide file tree
Showing 435 changed files with 17,240 additions and 6,434 deletions.
21 changes: 20 additions & 1 deletion .envrc
Original file line number Diff line number Diff line change
@@ -1 +1,20 @@
use nix
# Based on https://github.com/direnv/direnv-vscode/blob/158e8302c2594cc0eaa5f8b4f0cafedd4e1c0315/.envrc

# You can define your system-specific logic (like Git settings or GH tokens) in .envrc.local
# If that logic is usable by other people and might improve development environment, consider
# contributing it to this file!

source_env_if_exists .envrc.local

if [[ -z "${SKIP_NIX:-}" ]] && has nix; then

if nix flake metadata &>/dev/null && has use_flake; then
# use flakes if possible
use flake

else
# Otherwise fall back to pure nix
use nix
fi

fi
2 changes: 0 additions & 2 deletions .gitattribute

This file was deleted.

4 changes: 0 additions & 4 deletions .github/FUNDING.yml

This file was deleted.

49 changes: 0 additions & 49 deletions .github/ISSUE_TEMPLATE/bug_report.md

This file was deleted.

98 changes: 98 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
name: Bug Report
description: File a bug report to help us improve.
labels: ["bug"]
body:
- type: markdown
attributes:
value: |
## Description
Thanks for taking the time to fill out this bug report to help us improve Noir!
- type: textarea
id: aim
attributes:
label: Aim
description: Describe what you tried to achieve.
validations:
required: true
- type: textarea
id: expected
attributes:
label: Expected behavior
description: Describe what you expected to happen.
validations:
required: true
- type: textarea
id: bug
attributes:
label: Bug
description: Describe the bug. Supply error codes / terminal logs if applicable.
validations:
required: true
- type: textarea
id: reproduction
attributes:
label: To reproduce
description: Describe the steps to reproduce the behavior.
value: |
1.
2.
3.
4.
- type: markdown
attributes:
value: |
## Environment
Specify your versions of Noir releases used.
- type: markdown
attributes:
value: |
### Using Nargo?
- type: dropdown
id: nargo-install
attributes:
label: Installation method
description: How did you install Nargo?
multiple: false
options:
- Binary
- Compiled from source
- type: input
id: nargo-version
attributes:
label: Nargo version
description: What is the output of the `nargo --version` command?
placeholder: "nargo 0.2.0 (git version hash: e927a39dc3d6517f233509b8349dfd9c7f79471d, is dirty: false)"
- type: markdown
attributes:
value: |
### Using TypeScript?
- type: input
id: noir_wasm-version
attributes:
label: "@noir-lang/noir_wasm version"
description: What is the version number? e.g. version in yarn.lock
placeholder: "0.2.0-ca986a4"
- type: input
id: barretenberg-version
attributes:
label: "@noir-lang/barretenberg version"
description: What is the version number? e.g. version in yarn.lock
placeholder: "2.19.0"
- type: input
id: aztec_backend-version
attributes:
label: "@noir-lang/aztec_backend version"
description: What is the version number? e.g. version in yarn.lock
placeholder: "0.12.0"
- type: textarea
id: additional
attributes:
label: Additional context
description: Please provide any additional context that may be applicable.
- type: checkboxes
id: checklist
attributes:
label: Submission Checklist
description: For core contributors.
options:
- label: Once I hit submit, I will assign this issue to the Project Board with the appropriate tags.
23 changes: 0 additions & 23 deletions .github/ISSUE_TEMPLATE/feature_request.md

This file was deleted.

40 changes: 40 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
name: Feature request
description: Suggest an idea for this project.
labels: [enhancement]
body:
- type: markdown
attributes:
value: |
## Description
Thanks for taking the time to fill out this feature request to help us improve Noir!
- type: textarea
id: problem
attributes:
label: Problem
description: Describe the problem your suggestion sets out to solve.
validations:
required: true
- type: textarea
id: solution
attributes:
label: Proposed solution
description: Describe your proposed solution.
validations:
required: true
- type: textarea
id: alternatives
attributes:
label: Alternatives considered
description: Describe any alternative solutions you have considered.
- type: textarea
id: additional
attributes:
label: Additional context
description: Please provide any additional context that may be applicable.
- type: checkboxes
id: checklist
attributes:
label: Submission Checklist
description: For core contributors.
options:
- label: Once I hit submit, I will assign this issue to the Project Board with the appropriate tags.
4 changes: 4 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,12 @@ Resolves # <!-- link to issue -->
- [ ] I have [linked](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue) this PR to the issue(s) that it resolves.
- [ ] I have reviewed the changes on GitHub, line by line.
- [ ] I have ensured all changes are covered in the description.

## Documentation needs
- [ ] This PR requires documentation updates when merged.

<!-- If checked, list / describe what needs to be documented. -->

# Additional context

<!-- If applicable. -->
32 changes: 32 additions & 0 deletions .github/workflows/label_docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: Notify Doc Needed

on:
pull_request_target:
types:
- labeled
- unlabeled

jobs:
dispatch:
runs-on: ubuntu-latest
if: github.event.label.name == 'doc needed'

steps:
- uses: actions/checkout@v3
- name: Set workflowId environment variable
id: set_workflow_id
run: |
if [[ "${{ github.event.action }}" == "labeled" ]]; then
echo "workflowId=new-migrated-issue.yml" >> $GITHUB_ENV
else
echo "workflowId=delete-migrated-issue.yml" >> $GITHUB_ENV
fi
- name: Dispatch
uses: benc-uk/workflow-dispatch@v1
with:
workflow: ${{ env.workflowId }}
repo: noir-lang/docs
ref: master
token: ${{ secrets.DOCS_REPO_TOKEN }}
inputs: '{ "pr_number": "${{ github.event.pull_request.number }}" }'
41 changes: 15 additions & 26 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,16 @@ jobs:
id: release
uses: google-github-actions/release-please-action@v3
with:
token: ${{ secrets.NOIR_RELEASES_TOKEN }}
release-type: simple
package-name: noir
bump-minor-pre-major: true
bump-patch-for-minor-pre-major: true
prerelease: true # Marks GitHub Releases for 0.x.x versions as "Pre-release"
pull-request-title-pattern: "chore(noir): Release ${version}"
extra-files: |
Cargo.toml
flake.nix
update-lockfile:
name: Update lockfile
Expand All @@ -35,6 +38,7 @@ jobs:
uses: actions/checkout@v3
with:
ref: ${{ fromJSON(needs.release-please.outputs.release-pr).headBranchName }}
token: ${{ secrets.NOIR_RELEASES_TOKEN }}

- name: Setup toolchain
uses: dtolnay/rust-toolchain@1.65.0
Expand All @@ -45,56 +49,41 @@ jobs:
- name: Configure git
run: |
git config user.name github-actions[bot]
git config user.email 41898282+github-actions[bot]@users.noreply.github.com
git config user.name kevaundray
git config user.email kevtheappdev@gmail.com
- name: Commit updates
run: |
git add Cargo.lock
git commit -m 'chore: Update lockfile'
git push
build-linux-binaries:
name: Build linux binaries
build-binaries:
name: Build binaries
needs: [release-please]
if: ${{ needs.release-please.outputs.tag-name }}
runs-on: ubuntu-latest
steps:
- name: Dispatch to build-nargo
uses: benc-uk/workflow-dispatch@v1
with:
workflow: publish-linux.yml
workflow: publish.yml
repo: noir-lang/build-nargo
ref: master
token: ${{ secrets.NOIR_REPO_TOKEN }}
inputs: '{ "noir-ref": "${{ needs.release-please.outputs.tag-name }}" }'
inputs: '{ "noir-ref": "${{ needs.release-please.outputs.tag-name }}", "publish": true }'

build-windows-binaries:
name: Build windows binaries
publish-wasm:
name: Publish noir_wasm package
needs: [release-please]
if: ${{ needs.release-please.outputs.tag-name }}
runs-on: ubuntu-latest
steps:
- name: Dispatch to build-nargo
- name: Dispatch to noir_wasm
uses: benc-uk/workflow-dispatch@v1
with:
workflow: publish-x86_64-pc-windows-wasm.yml
repo: noir-lang/build-nargo
ref: master
token: ${{ secrets.NOIR_REPO_TOKEN }}
inputs: '{ "noir-ref": "${{ needs.release-please.outputs.tag-name }}" }'

build-mac-binaries:
name: Build mac binaries
needs: [release-please]
if: ${{ needs.release-please.outputs.tag-name }}
runs-on: ubuntu-latest
steps:
- name: Dispatch to build-nargo
uses: benc-uk/workflow-dispatch@v1
with:
workflow: publish-apple-darwin-wasm.yml
repo: noir-lang/build-nargo
workflow: update.yml
repo: noir-lang/noir_wasm
ref: master
token: ${{ secrets.NOIR_REPO_TOKEN }}
inputs: '{ "noir-ref": "${{ needs.release-please.outputs.tag-name }}" }'
Loading

0 comments on commit e90e915

Please sign in to comment.