Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: fixing versioning workflow #3296

Merged
merged 50 commits into from
Oct 31, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
50 commits
Select commit Hold shift + click to select a range
60747ec
chore: trying to build here and deploy on netlify
signorecello Oct 25, 2023
7281c09
chore: trying to build here and deploy on netlify
signorecello Oct 25, 2023
4943156
Merge branch 'master' into zpedro/docs_release_please
signorecello Oct 25, 2023
be1f4c1
chore: trying to build here and deploy on netlify
signorecello Oct 25, 2023
a6cf52d
chore: setting up for version cut on release
signorecello Oct 25, 2023
824ff7c
cant test the workflow if not on master, wtf
signorecello Oct 25, 2023
9c8485a
cant test the workflow if not on master, wtf
signorecello Oct 25, 2023
e9e54ba
cant test the workflow if not on master, wtf
signorecello Oct 25, 2023
f4047dd
fixing static imports
signorecello Oct 25, 2023
3f38183
cant test the workflow if not on master, wtf
signorecello Oct 25, 2023
a3353be
cant test the workflow if not on master, wtf
signorecello Oct 25, 2023
1b87780
cant test the workflow if not on master, wtf
signorecello Oct 25, 2023
231aa95
cant test the workflow if not on master, wtf
signorecello Oct 26, 2023
e447b5c
cant test the workflow if not on master, wtf
signorecello Oct 26, 2023
044dfbf
cant test the workflow if not on master, wtf
signorecello Oct 26, 2023
9a48488
cant test the workflow if not on master, wtf
signorecello Oct 26, 2023
38f27bc
cant test the workflow if not on master, wtf
signorecello Oct 26, 2023
0051bcc
cant test the workflow if not on master, wtf
signorecello Oct 26, 2023
93dfc5c
cant test the workflow if not on master, wtf
signorecello Oct 26, 2023
112e460
cant test the workflow if not on master, wtf
signorecello Oct 26, 2023
f043f4a
cant test the workflow if not on master, wtf
signorecello Oct 26, 2023
1a12612
Merge remote-tracking branch 'origin' into zpedro/docs_release_please
signorecello Oct 26, 2023
eb24452
testing publish workflow
signorecello Oct 26, 2023
84603de
testing publish workflow
signorecello Oct 26, 2023
728e6f3
getting somewhere...
signorecello Oct 26, 2023
72864ea
getting somewhere...
signorecello Oct 26, 2023
7a310c9
getting somewhere...
signorecello Oct 26, 2023
20afc69
getting somewhere...
signorecello Oct 26, 2023
7529dbf
getting somewhere...
signorecello Oct 26, 2023
58508c4
getting somewhere...
signorecello Oct 26, 2023
f8073bf
getting somewhere...
signorecello Oct 26, 2023
ea20f4f
getting somewhere...
signorecello Oct 26, 2023
c48eb3c
another strategy
signorecello Oct 28, 2023
42188af
another strategy
signorecello Oct 28, 2023
d1b99bd
another strategy
signorecello Oct 28, 2023
6ad32a8
another strategy
signorecello Oct 28, 2023
a4d027e
another strategy
signorecello Oct 28, 2023
9db2ec8
another strategy
signorecello Oct 28, 2023
6d5c931
another strategy
signorecello Oct 28, 2023
14f1a2c
preparing to finish...
signorecello Oct 28, 2023
5363ba9
Merge remote-tracking branch 'origin' into zpedro/docs_release_please
signorecello Oct 28, 2023
cd9883a
preparing to finish...
signorecello Oct 28, 2023
59fb827
preparing to finish...
signorecello Oct 28, 2023
d406e7d
preparing to finish...
signorecello Oct 28, 2023
53e8569
Merge branch 'master' into zpedro/docs_release_please
signorecello Oct 28, 2023
fe6f1ff
adding back removed files to make PR more readable
signorecello Oct 28, 2023
eb41a78
chore(docs): fixing a potential problem in case we wanted to release …
signorecello Oct 29, 2023
c0b0e69
Merge branch 'master' into zpedro/docs_release_please
signorecello Oct 29, 2023
61f6ad5
Merge branch 'master' into zpedro/docs_release_please
signorecello Oct 29, 2023
ddcc221
Merge branch 'master' into zpedro/docs_release_please
signorecello Oct 30, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
109 changes: 27 additions & 82 deletions .github/workflows/build-docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,6 @@ name: Build docs

on:
pull_request:
paths:
- 'docs/**'
types:
- opened
- synchronize
- labeled

jobs:
add_label:
Expand Down Expand Up @@ -53,7 +47,7 @@ jobs:
})
}

deploy_docs:
build_and_deploy:
runs-on: ubuntu-latest
permissions:
pull-requests: write
Expand All @@ -62,81 +56,32 @@ jobs:
steps:
- name: Checkout code
uses: actions/checkout@v2

- name: Netlify deploy
run: |
BRANCH_NAME=$(echo "${{ github.head_ref || github.ref }}" | sed -e "s#refs/[^/]*/##")
curl -X POST -d {} "https://api.netlify.com/build_hooks/${{ secrets.NETLIFY_BUILD_HOOK }}?trigger_branch=$BRANCH_NAME"
- name: Get deploy preview
id: get_deploy_preview
run: |
BRANCH_NAME=$(echo "${{ github.head_ref || github.ref }}" | sed -e "s#refs/[^/]*/##")
curl -X GET "https://api.netlify.com/api/v1/sites/${{ secrets.NETLIFY_SITE_ID }}/deploys?branch=$BRANCH_NAME" > deploy.json
echo "::set-output name=deploy_url::$(cat deploy.json | jq -r '.[0].deploy_ssl_url')"

- name: Add PR Comment
uses: mshick/add-pr-comment@v2
with:
message: |
Hey @${{ github.event.pull_request.user.login }}! 🙌

I'm the deployment bot for Noir Docs, and I've got some updates for you:

## Deployment Status
Your latest changes are being deployed for preview! 🚀

Click the badge to see logs 🧐

[![Netlify Status](https://api.netlify.com/api/v1/badges/${{ secrets.NETLIFY_SITE_ID }}/deploy-status?branch=${{ github.head_ref || github.ref }})](https://app.netlify.com/sites/noir-docs-v2/deploys)

If you have any questions about this process, refer to our contribution guide or feel free to ask around.


- name: Check on deploy status
uses: ./.github/actions/docs/build-status
id: check_deploy_status
with:
branch-name: ${{ github.head_ref || github.ref }}
site-id: ${{ secrets.NETLIFY_SITE_ID }}
continue-on-error: true


- name: Debugging - print deploy_status
run: echo "${{ steps.check_deploy_status.outputs.deploy_status }}"


- name: Change PR Comment for Successful Deployment
if: steps.check_deploy_status.outputs.deploy_status == 'success'
uses: mshick/add-pr-comment@v2

- name: Setup Node.js
uses: actions/setup-node@v2
with:
message-success: |
![It's Alive!](https://i.imgflip.com/82hw5n.jpg)

I'm a bot, beep boop 🤖

## Deployment Status: Success!
[![Netlify Status](https://api.netlify.com/api/v1/badges/${{ secrets.NETLIFY_SITE_ID }}/deploy-status?branch=${{ github.head_ref || github.ref }})](https://app.netlify.com/sites/noir-docs-v2/deploys)

## Preview

🌐 [View Deployment Preview](${{ steps.get_deploy_preview.outputs.deploy_url }})

node-version: '18'


- name: Change PR Comment for Failed Deployment
if: steps.check_deploy_status.outputs.deploy_status == 'failure'
uses: mshick/add-pr-comment@v2
- name: Install dependencies
run: yarn

- name: Build docs
run: yarn workspace docs build

- name: Remove pre-releases
working-directory: docs
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: yarn setStable

- name: Deploy to Netlify
uses: nwtgck/[email protected]
with:
message: |
![docs CI troll](https://i.imgflip.com/82ht8f.jpg)

I'm a bot, beep boop 🤖

## Deployment Status: Failed ❌
Deployment didn't succeed. Please check logs below and resolve the issue 🧐

[![Netlify Status](https://api.netlify.com/api/v1/badges/${{ secrets.NETLIFY_SITE_ID }}/deploy-status?branch=${{ github.head_ref || github.ref }})](https://app.netlify.com/sites/noir-docs-v2/deploys)

- name: Fail the workflow if deployment failed
if: steps.check_deploy_status.outputs.deploy_status == 'failure'
run: exit 1
publish-dir: './docs/build'
github-token: ${{ secrets.GITHUB_TOKEN }}
enable-github-deployment: false
deploy-message: "Deploy from GitHub Actions for PR ${{ github.event.number }}"
env:
NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }}
NETLIFY_SITE_ID: ${{ secrets.NETLIFY_SITE_ID }}
timeout-minutes: 1
12 changes: 10 additions & 2 deletions .github/workflows/publish-docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,13 +23,21 @@ jobs:
uses: actions/setup-node@v2
with:
node-version: '18'

- name: Install Yarn
run: npm install -g yarn

- name: Install Yarn dependencies
uses: ./.github/actions/setup
run: yarn

- name: Cut a new version
working-directory: ./docs
run: yarn docusaurus docs:version ${{ inputs.tag }}

- name: Remove pre-releases
id: get_version
run: |
cd docs && yarn setStable

- name: Build docs
run: yarn workspace docs build
Expand All @@ -39,7 +47,7 @@ jobs:
with:
publish-dir: './docs/build'
production-branch: master
production-deploy: false # TODO change to true
production-deploy: true
github-token: ${{ secrets.GITHUB_TOKEN }}
enable-github-deployment: false
deploy-message: "Deploy from GitHub Actions for tag ${{ inputs.tag }}"
Expand Down
18 changes: 17 additions & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -77,4 +77,20 @@ jobs:
workflow: publish-es-packages.yml
ref: master
token: ${{ secrets.NOIR_REPO_TOKEN }}
inputs: '{ "noir-ref": "${{ needs.release-please.outputs.tag-name }}", "npm-tag": "latest" }'
inputs: '{ "noir-ref": "${{ needs.release-please.outputs.tag-name }}", "npm-tag": "latest" }'


publish-docs:
name: Publish docs
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-docs.yml
repo: noir-lang/noir
ref: master
token: ${{ secrets.GITHUB_TOKEN }}
inputs: '{ "tag": "${{ needs.release-please.outputs.tag-name }}"}'
2 changes: 1 addition & 1 deletion docs/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -20,4 +20,4 @@ npm-debug.log*
yarn-debug.log*
yarn-error.log*

package-lock.json
package-lock.json
6 changes: 3 additions & 3 deletions docs/docs/nargo/04_language_server.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,12 +27,12 @@ Currently, Noir provides a Language Client for Visual Studio Code via the [vscod

When your language server is running correctly and the VSCode plugin is installed, you should see handy codelens buttons for compilation, measuring circuit size, execution, and tests:

![Compile and Execute](./../../static/img/codelens_compile_execute.png)
![Run test](../../static/img/codelens_run_test.png)
![Compile and Execute](@site/static/img/codelens_compile_execute.png)
![Run test](@site/static/img/codelens_run_test.png)

You should also see your tests in the `testing` panel:

![Testing panel](./../../static/img/codelens_testing_panel.png)
![Testing panel](@site/static/img/codelens_testing_panel.png)

### Configuration

Expand Down
2 changes: 1 addition & 1 deletion docs/docs/noir_js/getting_started/01_tiny_noir_app.md
Original file line number Diff line number Diff line change
Expand Up @@ -237,7 +237,7 @@ You're probably eager to see stuff happening, so go and run your app now!

From your terminal, run `npm start` (or `yarn start`). If it doesn't open a browser for you, just visit `localhost:5173`. On a modern laptop, proof will generate in less than 100ms, and you'll see this:

![Getting Started 0](./../../../static/img/noir_getting_started_1.png)
![Getting Started 0](@site/static/img/noir_getting_started_1.png)

If you're human, you shouldn't be able to understand anything on the "proof" box. That's OK. We like you, human.

Expand Down
10 changes: 3 additions & 7 deletions docs/docusaurus.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -45,9 +45,6 @@ const config = {
label: 'dev',
path: 'dev',
},
'0.7.1': {
label: '0.7.1 / 0.8.0',
},
},
editUrl: ({ versionDocsDirPath, docPath }) =>
`https://github.com/noir-lang/noir/edit/master/docs/${versionDocsDirPath}/${docPath}`,
Expand All @@ -62,7 +59,7 @@ const config = {

themeConfig:
/** @type {import('@docusaurus/preset-classic').ThemeConfig} */
({
{
// Replace with your project's social card
navbar: {
logo: {
Expand All @@ -87,8 +84,7 @@ const config = {
metadata: [
{
name: 'Noir',
content:
'noir, programming, language, documentation, zk, zero-knowledge, l2, crypto, layer2, ethereum',
content: 'noir, programming, language, documentation, zk, zero-knowledge, l2, crypto, layer2, ethereum',
},
],
footer: {
Expand Down Expand Up @@ -149,7 +145,7 @@ const config = {

indexName: 'noir-lang',
},
}),
},
};

module.exports = config;
3 changes: 2 additions & 1 deletion docs/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@
"private": true,
"scripts": {
"start": "docusaurus start",
"build": "docusaurus build"
"build": "docusaurus build",
"setStable": "node ./scripts/setStable.js"
},
"dependencies": {
"@docusaurus/core": "^2.4.0",
Expand Down
41 changes: 41 additions & 0 deletions docs/scripts/setStable.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
/* eslint-disable */
const fs = require('fs');
const path = require('path');
const axios = require('axios');
const { release } = require('os');

const IGNORE_VERSIONS = ['0.16.0'];
const NUMBER_OF_VERSIONS_TO_SHOW = 2;

async function main() {
const versionsFile = path.join(__dirname, '../versions.json');

const axiosOpts = {
params: { per_page: 100 },
};

console.log(process.env.GITHUB_TOKEN);
// cool if you have a GITHUB_TOKEN because of rate limiting
// but fine if you don't
if (process.env.GITHUB_TOKEN) axiosOpts.headers = { Authorization: `token ${process.env.GITHUB_TOKEN}` };

const { data } = await axios.get('https://api.github.com/repos/noir-lang/noir/releases', axiosOpts);

const all = data.map((release) => release.tag_name);
console.log('All versions: ', all);
const aztecs = data.filter((release) => release.tag_name.includes('aztec')).map((release) => release.tag_name);
console.log('Removing aztecs: ', aztecs);
const prereleases = data.filter((release) => !release.prerelease).map((release) => release.tag_name);
console.log('Removing prereleases: ', prereleases);

const stables = data
.filter((release) => !release.prerelease && !release.tag_name.includes('aztec'))
.filter((release) => !IGNORE_VERSIONS.includes(release.tag_name.replace('v', '')))
.map((release) => release.tag_name.replace('v', ''))
.slice(0, NUMBER_OF_VERSIONS_TO_SHOW);

console.log('Stables: ', stables);
fs.writeFileSync(versionsFile, JSON.stringify(stables, null, 2));
}

main();
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,8 @@ Currently, Noir provides a Language Client for Visual Studio Code via the [vscod

When you language server is running correctly and the VSCode plugin is installed, you should see handy codelens buttons for compilation, execution, and tests:

![Compile and Execute](./../../../static/img/codelens_compile_execute.png)
![Run test](../../../static/img/codelens_run_test.png)
![Compile and Execute](@site/static/img/codelens_compile_execute.png)
![Run test](@site/static/img/codelens_run_test.png)

### Configuration

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ description: Explore the Slice data type in Noir. Understand its methods, see re
keywords: [noir, slice type, methods, examples, subarrays]
---

import Experimental from '../../../../src/components/Notes/_experimental.mdx';
import Experimental from '@site/src/components/Notes/_experimental.mdx';

<Experimental />

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ description: Delve into the Vector data type in Noir. Learn about its methods, p
keywords: [noir, vector type, methods, examples, dynamic arrays]
---

import Experimental from '../../../../src/components/Notes/_experimental.mdx';
import Experimental from '@site/src/components/Notes/_experimental.mdx';

<Experimental />

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,12 +27,12 @@ Currently, Noir provides a Language Client for Visual Studio Code via the [vscod

When your language server is running correctly and the VSCode plugin is installed, you should see handy codelens buttons for compilation, measuring circuit size, execution, and tests:

![Compile and Execute](./../../../static/img/codelens_compile_execute.png)
![Run test](../../../static/img/codelens_run_test.png)
![Compile and Execute](@site/static/img/codelens_compile_execute.png)
![Run test](@site/static/img/codelens_run_test.png)

You should also see your tests in the `testing` panel:

![Testing panel](./../../../static/img/codelens_testing_panel.png)
![Testing panel](@site/static/img/codelens_testing_panel.png)

### Configuration

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -235,7 +235,7 @@ You're probably eager to see stuff happening, so go and run your app now!

From your terminal, run `npm start` (or `yarn start`). If it doesn't open a browser for you, just visit `localhost:5173`. On a modern laptop, proof will generate in less than 100ms, and you'll see this:

![Getting Started 0](./../../../../static/img/noir_getting_started_1.png)
![Getting Started 0](@site/static/img/noir_getting_started_1.png)

If you're human, you shouldn't be able to understand anything on the "proof" box. That's OK. We like you, human.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ keywords:
[cryptographic primitives, Noir project, sha256, blake2s, pedersen, mimc_bn254, mimc, hash]
---

import BlackBoxInfo from '../../../../src/components/Notes/_blackbox.mdx';
import BlackBoxInfo from '@site/src/components/Notes/_blackbox.mdx';

## sha256

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ description: See how you can perform scalar multiplications over a fixed base in
keywords: [cryptographic primitives, Noir project, scalar multiplication]
---

import BlackBoxInfo from '../../../../src/components/Notes/_blackbox.mdx';
import BlackBoxInfo from '@site/src/components/Notes/_blackbox.mdx';

## scalar_mul::fixed_base_embedded_curve

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ description: Learn how you can verify Schnorr signatures using Noir
keywords: [cryptographic primitives, Noir project, schnorr, signatures]
---

import BlackBoxInfo from '../../../../src/components/Notes/_blackbox.mdx';
import BlackBoxInfo from '@site/src/components/Notes/_blackbox.mdx';

## schnorr::verify_signature

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ description: Learn about the cryptographic primitives regarding ECDSA over the s
keywords: [cryptographic primitives, Noir project, ecdsa, secp256k1, secp256r1, signatures]
---

import BlackBoxInfo from '../../../../src/components/Notes/_blackbox.mdx';
import BlackBoxInfo from '@site/src/components/Notes/_blackbox.mdx';

Noir supports ECDSA signatures verification over the secp256k1 and secp256r1 curves.

Expand Down
Loading
Loading