Skip to content

Publish Noir ES Packages #13

Publish Noir ES Packages

Publish Noir ES Packages #13

name: Publish Noir ES Packages
on:
workflow_dispatch:
inputs:
noir-ref:
description: The noir reference to checkout
required: false
nightly:
description: Indicates this is a nightly release
required: false
type: boolean
default: true
jobs:
build-noir_wasm:
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v4
with:
ref: ${{ inputs.noir-ref || 'master' }}
- name: Setup Nix
uses: ./.github/actions/nix
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
nix-cache-name: ${{ vars.NIX_CACHE_NAME }}
cachix-auth-token: ${{ secrets.CACHIXAUTHTOKEN }}
- name: Build wasm package
run: |
nix build -L .#noir_wasm
build-noirc_abi_wasm:
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v4
with:
ref: ${{ inputs.noir-ref || 'master' }}
- name: Setup Nix
uses: ./.github/actions/nix
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
nix-cache-name: ${{ vars.NIX_CACHE_NAME }}
cachix-auth-token: ${{ secrets.CACHIXAUTHTOKEN }}
- name: Build wasm package
run: |
nix build -L .#noirc_abi_wasm
build-acvm_js:
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v4
with:
ref: ${{ inputs.noir-ref || 'master' }}
- name: Setup Nix
uses: ./.github/actions/nix
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
nix-cache-name: ${{ vars.NIX_CACHE_NAME }}
cachix-auth-token: ${{ secrets.CACHIXAUTHTOKEN }}
- name: Build wasm package
run: |
nix build -L .#acvm_js
publish-es-packages:
runs-on: ubuntu-latest
needs: [build-acvm_js, build-noirc_abi_wasm, build-noir_wasm]
steps:
- name: Checkout sources
uses: actions/checkout@v4
with:
ref: ${{ inputs.noir-ref || 'master' }}
- name: Setup Nix
uses: ./.github/actions/nix
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
nix-cache-name: ${{ vars.NIX_CACHE_NAME }}
cachix-auth-token: ${{ secrets.CACHIXAUTHTOKEN }}
- name: Install Yarn dependencies
run: yarn install
- name: Build ES Packages
run: yarn prepare:publish
- name: Prepare nightly version
if: ${{ inputs.nightly }}
run: |
sudo apt-get install jq
yarn nightly:version
- name: Authenticate with npm
run: "echo npmAuthToken: ${{ secrets.NPM_TOKEN }} > ~/.yarnrc.yml"
- name: Publish ES Packages
run: yarn publish:all --access public ${{ inputs.nightly && ' --tag nightly' }}