Skip to content

Commit

Permalink
Merge branch 'master' into jf/enum-constants
Browse files Browse the repository at this point in the history
  • Loading branch information
jfecher committed Jan 30, 2025
2 parents d4582a1 + 49d1b13 commit cab4ba4
Show file tree
Hide file tree
Showing 87 changed files with 5,608 additions and 425 deletions.
2 changes: 2 additions & 0 deletions .github/workflows/docs-pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,12 @@ name: Deploy preview for PR

on:
pull_request:
merge_group:

jobs:
add_label:
runs-on: ubuntu-22.04
if: github.event_name == 'pull_request'
outputs:
has_label: ${{ steps.check-labels.outputs.result }}
steps:
Expand Down
7 changes: 7 additions & 0 deletions .github/workflows/reports.yml
Original file line number Diff line number Diff line change
Expand Up @@ -365,6 +365,13 @@ jobs:
repository: ${{ matrix.project.repo }}
path: test-repo
ref: ${{ matrix.project.ref }}

- name: Fetch noir dependencies
working-directory: ./test-repo/${{ matrix.project.path }}
run: |
# We run `nargo check` to pre-fetch any dependencies so we don't measure the time to download these
# when benchmarking.
nargo check
- name: Generate compilation report
working-directory: ./test-repo/${{ matrix.project.path }}
Expand Down
67 changes: 67 additions & 0 deletions .github/workflows/test-js-packages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -595,10 +595,23 @@ jobs:
sed -i '/^compiler_version/d' ./**/Nargo.toml
- name: Run nargo test
id: test_report
working-directory: ./test-repo/${{ matrix.project.path }}
run: |
output_file=${{ github.workspace }}/noir-repo/.github/critical_libraries_status/${{ matrix.project.repo }}/${{ matrix.project.path }}.actual.jsonl
BEFORE=$SECONDS
nargo test --silence-warnings --skip-brillig-constraints-check --format json ${{ matrix.project.nargo_args }} | tee $output_file
TIME=$(($SECONDS-$BEFORE))
NAME=${{ matrix.project.repo }}/${{ matrix.project.path }}
# Replace any slashes with underscores
NAME=${NAME//\//_}
TEST_REPORT_NAME=test_report_$NAME
echo "test_report_name=$TEST_REPORT_NAME" >> $GITHUB_OUTPUT
jq --null-input "{ test_reports: [{ name: \"$NAME\", value: (\"$TIME\" | tonumber), unit: \"s\" }]}" > $TEST_REPORT_NAME.json
if [ ! -s $output_file ]; then
# The file is empty so we delete it to signal that `nargo test` failed before it could run any tests
rm -f $output_file
Expand All @@ -610,6 +623,60 @@ jobs:
working-directory: ./noir-repo
run: .github/scripts/check_test_results.sh .github/critical_libraries_status/${{ matrix.project.repo }}/${{ matrix.project.path }}.failures.jsonl .github/critical_libraries_status/${{ matrix.project.repo }}/${{ matrix.project.path }}.actual.jsonl

- name: Upload test report
uses: actions/upload-artifact@v4
with:
name: ${{ steps.test_report.outputs.test_report_name }}
path: ./test-repo/${{ matrix.project.path }}/${{ steps.test_report.outputs.test_report_name }}.json
retention-days: 3
overwrite: true

upload_critical_library_report:
name: Upload critical library report
needs: [external-repo-checks]
# We want this job to run even if one variation of the matrix in `external-repo-checks` fails
if: always()
runs-on: ubuntu-22.04
permissions:
pull-requests: write
# deployments permission to deploy GitHub pages website
deployments: write
# contents permission to update benchmark contents in gh-pages branch
contents: write

steps:
- uses: actions/checkout@v4

- name: Download matrix test reports
uses: actions/download-artifact@v4
with:
pattern: test_report_*
path: ./reports

- name: Merge test reports using jq
run: |
jq --null-input "{ test_reports: [] }" > test_report.json
mv ./.github/scripts/merge-bench-reports.sh merge-bench-reports.sh
./merge-bench-reports.sh test_report
jq ".test_reports" < ./test_report.json > test_bench.json
- name: Store benchmark result
continue-on-error: true
uses: benchmark-action/github-action-benchmark@4de1bed97a47495fc4c5404952da0499e31f5c29
with:
name: "Test Suite Duration"
tool: "customSmallerIsBetter"
output-file-path: ./test_bench.json
github-token: ${{ secrets.GITHUB_TOKEN }}
# We want this to only run on master to avoid garbage data from PRs being added.
auto-push: ${{ github.ref == 'refs/heads/master' }}
alert-threshold: "120%"
comment-on-alert: true
fail-on-alert: false
alert-comment-cc-users: "@TomAFrench"
max-items-in-chart: 50


# This is a job which depends on all test jobs and reports the overall status.
# This allows us to add/remove test jobs without having to update the required workflows.
tests-end:
Expand Down
Loading

0 comments on commit cab4ba4

Please sign in to comment.