Skip to content

feat: Implement generic traits (#4000) #10

feat: Implement generic traits (#4000)

feat: Implement generic traits (#4000) #10

Workflow file for this run

name: Release
on:
push:
branches:
- master
jobs:
release-please:
name: Create Release
outputs:
release-pr: ${{ steps.release.outputs.pr }}
tag-name: ${{ steps.release.outputs.tag_name }}
pending-release-semver: v${{ steps.release.outputs.major }}.${{steps.release.outputs.minor}}.${{steps.release.outputs.patch}}
runs-on: ubuntu-latest
steps:
- name: Run release-please
id: release
uses: google-github-actions/release-please-action@v3
with:
token: ${{ secrets.NOIR_RELEASES_TOKEN }}
command: manifest
update-acvm-workspace-package-versions:
name: Update acvm workspace package versions
needs: [release-please]
if: ${{ needs.release-please.outputs.release-pr }}
runs-on: ubuntu-latest
steps:
- name: Checkout release branch
uses: actions/checkout@v4
with:
ref: ${{ fromJSON(needs.release-please.outputs.release-pr).headBranchName }}
token: ${{ secrets.NOIR_RELEASES_TOKEN }}
- name: Setup toolchain
uses: dtolnay/[email protected]
- name: Update ACVM workspace root versions
run: |
./scripts/update-acvm-workspace-versions.sh
- name: Update lockfile
run: |
cargo update --workspace
- name: Configure git
run: |
git config user.name kevaundray
git config user.email [email protected]
- name: Commit updates
run: |
git add .
git commit -m 'chore: Update root workspace acvm versions and lockfile'
git push
update-docs:
name: Update docs
needs: [release-please, update-acvm-workspace-package-versions]
if: ${{ needs.release-please.outputs.release-pr }}
runs-on: ubuntu-latest
steps:
- name: Checkout release branch
uses: actions/checkout@v4
with:
ref: ${{ fromJSON(needs.release-please.outputs.release-pr).headBranchName }}
token: ${{ secrets.NOIR_RELEASES_TOKEN }}
- name: Setup Node.js
uses: actions/setup-node@v2
with:
node-version: '18'
- name: Install Yarn dependencies
uses: ./.github/actions/setup
- name: Cut a new version
working-directory: ./docs
run: yarn docusaurus docs:version ${{ needs.release-please.outputs.pending-release-semver }}
- name: Configure git
run: |
git config --local user.name 'kevaundray'
git config --local user.email '[email protected]'
- name: Commit new documentation version
run: |
git add .
git commit -m "chore(docs): cut new docs version for tag ${{ needs.release-please.outputs.pending-release-semver }}"
git push
build-binaries:
name: Build binaries
needs: [release-please]
if: ${{ needs.release-please.outputs.tag-name }}
runs-on: ubuntu-latest
steps:
- name: Dispatch to publish workflow
uses: benc-uk/workflow-dispatch@v1
with:
workflow: publish-nargo.yml
repo: noir-lang/noir
ref: master
token: ${{ secrets.GITHUB_TOKEN }}
inputs: '{ "tag": "${{ needs.release-please.outputs.tag-name }}", "publish": true }'
publish-es-packages:
name: Publish ES packages
needs: [release-please]
if: ${{ needs.release-please.outputs.tag-name }}
runs-on: ubuntu-latest
steps:
- name: Dispatch to publish-es-packages
uses: benc-uk/workflow-dispatch@v1
with:
workflow: publish-es-packages.yml
ref: master
token: ${{ secrets.NOIR_REPO_TOKEN }}
inputs: '{ "noir-ref": "${{ needs.release-please.outputs.tag-name }}", "npm-tag": "latest" }'
publish-acvm:
name: Publish acvm
needs: [release-please]
if: ${{ needs.release-please.outputs.tag-name }}
runs-on: ubuntu-latest
steps:
- name: Dispatch to publish-acvm
uses: benc-uk/workflow-dispatch@v1
with:
workflow: publish-acvm.yml
ref: master
token: ${{ secrets.NOIR_REPO_TOKEN }}
inputs: '{ "noir-ref": "${{ needs.release-please.outputs.tag-name }}" }'