Skip to content

Commit

Permalink
Merge branch 'master' into test_crash_logs
Browse files Browse the repository at this point in the history
  • Loading branch information
pinzart90 committed Jan 26, 2024
2 parents 7216377 + 5e05efc commit 7ae0cb0
Show file tree
Hide file tree
Showing 403 changed files with 1,661 additions and 9,289 deletions.
16 changes: 9 additions & 7 deletions .github/workflows/build_dynamo_all_net8.0.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,16 +46,18 @@ jobs:
path: ${{ github.workspace }}\Dynamo\bin\AnyCPU\Release
if-no-files-found: warn
retention-days: 3
- name: Save Pull Request Artifact
env:
PR_NUMBER: ${{ github.event.number }}
save_pr_data:
name: Save PR Data
runs-on: ubuntu-latest
steps:
- name: Save PR Data
run: |
New-Item -Path ${{ github.workspace }}\pr -ItemType Directory -Force
$env:PR_NUMBER | Out-File -FilePath ${{ github.workspace }}\pr\pr_number.txt
- name: Upload Pull Request Artifact
mkdir -p ${{ github.workspace }}/pr
echo ${{ github.event.number }} > ${{ github.workspace }}/pr/pr_number.txt
- name: Upload PR Data
uses: actions/upload-artifact@v4
with:
name: pr_data
path: ${{ github.workspace }}\pr
path: ${{ github.workspace }}/pr
if-no-files-found: warn
retention-days: 3
2 changes: 1 addition & 1 deletion .github/workflows/check_file_size.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ jobs:
uses: actions/checkout@v4
- name: Get changed files
id: get_changed_files
uses: tj-actions/changed-files@v41
uses: tj-actions/changed-files@v42
with:
write_output_files: true
- name: List changed files
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/dynamo_bin_diff.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ jobs:
Write-Error "DynamoCLI.exe was not found!"
}
- name: Cache Current Build
uses: actions/cache/save@v3
uses: actions/cache/save@v4
with:
path: |
${{ github.workspace }}\Dynamo\bin\AnyCPU\Release
Expand Down Expand Up @@ -81,7 +81,7 @@ jobs:
Write-Error "DynamoCLI.exe was not found!"
}
- name: Cache Master Build
uses: actions/cache/save@v3
uses: actions/cache/save@v4
with:
path: ${{ github.workspace }}\master\bin\AnyCPU\Release
key: ${{ github.run_id }}-${{ github.run_attempt }}-master
Expand All @@ -91,15 +91,15 @@ jobs:
runs-on: windows-latest
steps:
- name: Restore Current Build
uses: actions/cache/restore@v3
uses: actions/cache/restore@v4
with:
fail-on-cache-miss: true
path: |
${{ github.workspace }}\Dynamo\bin\AnyCPU\Release
${{ github.workspace }}\Dynamo\.github\scripts
key: ${{ github.run_id }}-${{ github.run_attempt }}-current
- name: Restore Master Build
uses: actions/cache/restore@v3
uses: actions/cache/restore@v4
with:
fail-on-cache-miss: true
path: ${{ github.workspace }}\master\bin\AnyCPU\Release
Expand Down
117 changes: 61 additions & 56 deletions .github/workflows/issue_type_predicter.yaml
Original file line number Diff line number Diff line change
@@ -1,98 +1,103 @@
name: Issue Predicter
on:
name: Issue Type Predicter
# This workflow uses https://github.com/DynamoDS/IssuesTypePredicter to predict the type of a github issue

on:
issues:
types: [opened,edited]
jobs:
issuePredicterType:
name: Issue Predicter
types: [opened, edited]

jobs:
issue_type_Predicter:
name: Issue Type Predicter
runs-on: ubuntu-latest
env:
#The 'analysis_response' variable is used to store the script response on step one,
#and then checked on step two to know if adding the label and comment is necessary.
#The initial 'undefined' value will be overridden when the script runs.
# The 'analysis_response' variable is used to store the response returned by issue_analyzer.ps1
# The initial 'undefined' value will be overridden when the script runs
analysis_response: undefined
#The 'parsed_issue_body' variable is used to store the parsed issue body (after removing some sections of the body like Stack Trace)
# The 'parsed_issue_body' variable is used to store the parsed issue body (after removing some sections of the body like Stack Trace)
parsed_issue_body: undefined
#The 'issue_json_string' variable is used to store in a json string (parsed info of the issue body)
# The 'issue_json_string' variable is used to store parsed info of the issue body as a json string
issue_json_string: undefined
#The 'is_wish_list' variable is used to store the value returned by the IssuesTypePredicter project
# The 'is_wish_list' variable is used to store the value returned by the IssuesTypePredicter project
is_wish_list: undefined
#template file name
# issue template file name
template: "ISSUE_TEMPLATE.md"
#amount of sections from the template that can be missing information for the issue to still be considered complete
# amount of sections from the template that can be missing information for the issue to still be considered valid
acceptable_missing_info: 1

steps:
#Removes conflicting characters before using the issue content as a script parameter
- uses: actions/checkout@v4
- name: Remove conflicting chars
env:
ISSUE_BODY: ${{github.event.issue.body}}
# Removes quotes before using the issue content as a script parameter
- name: Remove Quotes
id: remove_quotes
uses: frabert/[email protected]
id: remove_quotations
env:
ISSUE_BODY: ${{ github.event.issue.body }}
with:
pattern: "\""
string: ${{env.ISSUE_BODY}}
string: ${{ env.ISSUE_BODY }}
replace-with: '-'

#Checks for missing information inside the issue content
- name: Check Information
id: check-info
# Analyze for missing information inside the issue content
- name: Analyze Issue Body
env:
ISSUE_BODY: ${{ steps.remove_quotations.outputs.replaced }}
ISSUE_TITLE: ${{ github.event.issue.title }}
ISSUE_BODY: ${{ steps.remove_quotes.outputs.replaced }}
run: |
echo "analysis_response=$(pwsh .\\.github\\scripts\\issue_analyzer.ps1 "${{ env.template }}" "${{ env.acceptable_missing_info }}" )" >> $GITHUB_ENV
#Remove sections in the issue body like "Dynamo version", "Stack Trace" because won't be used to predict the issue type
echo "analysis_response=$(pwsh .\\.github\\scripts\\issue_analyzer.ps1 "${{ env.template }}" "${{ env.acceptable_missing_info }}")" >> $GITHUB_ENV
# Remove sections in the issue body like "Dynamo version", "Stack Trace" because won't be used to predict the issue type
- name: Clean Issue Body
env:
ISSUE_BODY_PARSED: ${{steps.remove_quotations.outputs.replaced}}
if: env.analysis_response == 'Valid'
id: clean-issue-body
env:
ISSUE_BODY_PARSED: ${{ steps.remove_quotes.outputs.replaced }}
run: |
echo "parsed_issue_body="$(pwsh .\\.github\\scripts\\issue_body_cleaner.ps1 )"" >> $GITHUB_ENV
echo "parsed_issue_body="$(pwsh .\\.github\\scripts\\issue_body_cleaner.ps1 )"" >> $GITHUB_ENV
#The IssuesTypePredicter program receives as a parameter a json string with the issue content, then It's creating the json string in this section based in the issue body
# Create json string from the issue body
- name: Create Issue JSON String
env:
ISSUE_NUMBER: ${{github.event.issue.number}}
ISSUE_TITLE: ${{github.event.issue.title}}
if: env.analysis_response == 'Valid'
id: create-issue-json
env:
ISSUE_NUMBER: ${{ github.event.issue.number }}
ISSUE_TITLE: ${{ github.event.issue.title }}
run: |
mkdir IssuesTypePredicter
echo "issue_json_string="$(pwsh .\\.github\\scripts\\get_issue_json_body.ps1 "$ISSUE_NUMBER")"" >> $GITHUB_ENV
echo "issue_json_string="$(pwsh .\\.github\\scripts\\get_issue_json_body.ps1 "$ISSUE_NUMBER")"" >> $GITHUB_ENV
#Now checkout the IssuesTypePredicter source code from the repo https://github.com/DynamoDS/IssuesTypePredicter
# Checkout the IssuesTypePredicter repo (https://github.com/DynamoDS/IssuesTypePredicter)
- name: Checkout IssuesTypePredicter
if: env.analysis_response == 'Valid'
uses: actions/checkout@v4
with:
repository: DynamoDS/IssuesTypePredicter
path: IssuesTypePredicter

#Builds the solution IssuesTypePredicter.sln (this contains two VS2019 ML.NET projects)
- name: Build Issues Type Predicter
- name: Setup dotnet
uses: actions/setup-dotnet@v4
with:
dotnet-version: '3.1.0'

# Build the solution IssuesTypePredicter.sln (this contains two VS2019 ML.NET projects)
- name: Build Issues Type Predicter
if: env.analysis_response == 'Valid'
run: |
run: |
dotnet build ./IssuesTypePredicter/IssuesTypePredicter.sln --configuration Release
cp ./IssuesTypePredicter/IssuesTypePredicterML.ConsoleApp/bin/Release/netcoreapp3.1/MLModel.zip .
#Execute the IssuesTypePredicter program and pass as a parameter the json string (which contains the issue info)
# Execute the IssuesTypePredicter program and pass 'issue_json_string' as a parameter
- name: Run Issues Type Predicter
if: env.analysis_response == 'Valid'
run: |
echo "is_wish_list="$(dotnet run -p ./IssuesTypePredicter/IssuesTypePredicterML.ConsoleApp/IssuesTypePredicterML.ConsoleApp.csproj -v q "${{env.issue_json_string}}")"" >> $GITHUB_ENV
run: |
echo "is_wish_list="$(dotnet run -p ./IssuesTypePredicter/IssuesTypePredicterML.ConsoleApp/IssuesTypePredicterML.ConsoleApp.csproj -v q "${{ env.issue_json_string }}")"" >> $GITHUB_ENV
#If the is_wish_list variable contains 1 means that is a wishlist issue and label the issue with the word "Wishlist"
- name: Label Wishlist
if: contains(env.is_wish_list,'IsWishlist:1') && env.analysis_response == 'Valid'
# If the is_wish_list variable contains 1, label the issue as "Wishlist"
- name: Label issue as 'Wishlist'
if: env.analysis_response == 'Valid' && contains(env.is_wish_list, 'IsWishlist:1')
env:
GH_TOKEN: ${{ secrets.DYNAMO_ISSUES_TOKEN }}
run: |
curl -v -u admin:${{ secrets.DYNAMOBOTTOKEN }} -d '{"labels": ["Wishlist"]}' ${{ github.event.issue.url }}/labels
gh issue edit ${{ github.event.issue.number }} --add-label "Wishlist" --repo ${{ github.repository }}
#When the issue is missing important information (don't follow the template structure) the issue will be labeled as "NotMLEvaluated"
- name: Label NotMLEvaluated
# If the issue is missing important information (don't follow the template structure), label the issue as "NotMLEvaluated"
- name: Label issue as 'NotMLEvaluated'
if: env.analysis_response != 'Valid' || env.issue_json_string == ''
env:
GH_TOKEN: ${{ secrets.DYNAMO_ISSUES_TOKEN }}
run: |
curl -v -u admin:${{ secrets.DYNAMOBOTTOKEN }} -d '{"labels": ["NotMLEvaluated"]}' ${{ github.event.issue.url }}/labels
gh issue edit ${{ github.event.issue.number }} --add-label "NotMLEvaluated" --repo ${{ github.repository }}
29 changes: 25 additions & 4 deletions .github/workflows/ui_smoke_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -79,8 +79,9 @@ jobs:
})
"@
$run_summary | Out-File -FilePath $env:GITHUB_STEP_SUMMARY -Append
- name: Add Pull Request Comment
- name: Create Pull Request Comment
if: always()
id: create_comment
env:
GH_TOKEN: ${{ github.token }}
run: |
Expand All @@ -91,6 +92,26 @@ jobs:
Workflow Run: [${{ github.workflow }}](${{ format('{0}/{1}/actions/runs/{2}', github.server_url, github.repository, github.run_id) }})
Check: [$env:CHECK_NAME](${{ steps.test_report.outputs.url_html }})
"@
if ($env:PR_NUMBER) {
gh pr comment $env:PR_NUMBER --body $pr_comment --repo ${{ github.repository }}
}
$pr_comment | Out-File -FilePath pr_comment.md
- name: Find Comment
if: env.PR_NUMBER != ''
uses: peter-evans/find-comment@v2
id: find_comment
with:
issue-number: ${{ env.PR_NUMBER }}
comment-author: github-actions[bot]
body-includes: UI Smoke Tests
direction: last
- name: Create comment
if: env.PR_NUMBER != '' && steps.find_comment.outputs.comment-id == ''
uses: peter-evans/create-or-update-comment@v3
with:
issue-number: ${{ env.PR_NUMBER }}
body-path: pr_comment.md
- name: Update comment
if: env.PR_NUMBER != '' && steps.find_comment.outputs.comment-id != ''
uses: peter-evans/create-or-update-comment@v3
with:
comment-id: ${{ steps.find_comment.outputs.comment-id }}
edit-mode: replace
body-path: pr_comment.md
3 changes: 1 addition & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,9 +38,8 @@ You can learn more about developing libraries for Dynamo on the [Dynamo wiki](ht
You will need the following to build the latest Dynamo on Windows:

- [Microsoft Visual Studio 2022](https://visualstudio.microsoft.com/downloads/) (any edition)
- [Microsoft .NET Framework 6](https://dotnet.microsoft.com/en-us/download/dotnet/6.0) (included with Visual Studio 2022)
- [Microsoft .NET Framework 8](https://dotnet.microsoft.com/en-us/download/dotnet/8.0) (included with Visual Studio 2022)
- [Node.js LTS](https://nodejs.org/en/download/) and npm
- [NUnit Test Adapter 2](https://marketplace.visualstudio.com/items?itemName=NUnitDevelopers.NUnitTestAdapter) (For runnning Dynamo tests within Visual Studio)

If you are working on legacy branches, you may need to install legacy .NET Framework versions through Visual Studio `Tools > Get Tools and Features...` or downloading from [the archive here](https://www.microsoft.com/net/download/archives).

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
<!--- Autodesk.DesignScript.Geometry.NurbsSurface.ByControlPointsWeightsKnots --->
<!--- 2SAWXHRQ333U2VRTKOVHZ2L5U6OPIQ2DHLI3MRGJWLXPMDUKVQZA --->
## In Depth
Creates a NurbsSurface with specified control vertices, knots, weights, and U V degrees. There are several restrictions on the data which, if broken, will cause the function to fail and will throw an exception. Degree: Both u- and v- degree should be >= 1 (piecewise-linear spline) and less than 26 (the maximum B-spline basis degree supported by ASM). Weights: All weight values (if supplied) should be strictly positive. Weights smaller than 1e-11 will be rejected and the function will fail. Knots: Both knot vectors should be non-decreasing sequences. Interior knot multiplicity should be no larger than degree + 1 at the start/end knot and degree at an internal knot (this allows surfaces with G1 discontinuities to be represented). Note that non-clamped knot vectors are supported, but will be converted to clamped ones, with the corresponding changes applied to the control point/weight data.
Creates a NurbsSurface with specified control vertices, knots, weights, and U V degrees. There are several restrictions on the data which, if broken, will cause the function to fail and will throw an exception. Degree: Both u- and v- degree should be >= 1 (piecewise-linear spline) and less than 26 (the maximum B-spline basis degree supported by ASM). Weights: All weight values (if supplied) should be strictly positive. Weights smaller than 1e-11 will be rejected and the function will fail. Knots: Both knot vectors should be non-decreasing sequences. Interior knot multiplicity should be no larger than degree plus 1 at the start/end knot and degree at an internal knot (this allows surfaces with G1 discontinuities to be represented). Note that non-clamped knot vectors are supported, but will be converted to clamped ones, with the corresponding changes applied to the control point/weight data.
___
## Example File

Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
<!--- Autodesk.DesignScript.Geometry.TSpline.TSplineSurface.Thicken(distance, softEdges) --->
<!--- 2ULSD2KOLBO3IDZALZJCIBZDTDFEHC5YE6E5LZW5YR2P3X36HORQ --->
## Thicken(distance, softEdges) - Documentation
This documentation file is auto generated by NodeDocumentationMarkdownGenerator, Version=2.14.0.3986, Culture=neutral, PublicKeyToken=null.

Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
<!--- Autodesk.DesignScript.Geometry.Curve.ExtrudeAsSolid(curve, direction) --->
<!--- 32PIZL43K2RTMXYNALUOXTTTTLRY2XQHUK22D2A7KI7NAA5JTXBA --->
## In Depth
`Curve.ExtrudeAsSolid (curve, direction)` extrudes an input closed, planar curve using an input vector to determine the direction of the extrusion. The length of the vector is used for the extrusion distance. This node caps the ends of the extrusion to create a solid.

In the example below, we first create a NurbsCurve by using a `NurbsCurve.ByPoints` node, with a set of randomly generated points as the input. A code block is used to specify the X, Y, and Z components of a `Vector.ByCoordinates` node. This vector is then used as the direction input in an `Curve.ExtrudeAsSolid` node.
___
## Example File

![Curve.ExtrudeAsSolid(curve, direction)](./Autodesk.DesignScript.Geometry.Curve.ExtrudeAsSolid(curve,%20direction)_img.jpg)
![Curve.ExtrudeAsSolid(curve, direction)](./32PIZL43K2RTMXYNALUOXTTTTLRY2XQHUK22D2A7KI7NAA5JTXBA_img.jpg)
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
<!--- Autodesk.DesignScript.Geometry.TSpline.TSplineTopology.RegularVertices --->
<!--- 3FD66JH7OUVHRJOXDSO6GCVCZV63VG7PUZEMJMDZBM67ASM2XLRA --->
## RegularVertices - Documentation
This documentation file is auto generated by NodeDocumentationMarkdownGenerator, Version=2.14.0.3986, Culture=neutral, PublicKeyToken=null.

Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
<!--- Autodesk.DesignScript.Geometry.TSpline.TSplineTopology.TPointVertices --->
<!--- 3JL6REDTXILJYKG3YL47NDNEA5YHNLEAYOO3JNMRUUBMWI4GDGHA --->
## TPointVertices - Documentation
This documentation file is auto generated by NodeDocumentationMarkdownGenerator, Version=2.14.0.3986, Culture=neutral, PublicKeyToken=null.

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
<!--- Autodesk.DesignScript.Geometry.CoordinateSystem.Rotate(origin, axis, degrees) --->
<!--- 3JO6UW566EG3MSCU25AGJTTDKZSMAZZO7D4VC5APLFDZVUEMPDSA --->
## In Depth
Rotates a coordinate system around an origin and an axis by a specified degree.
___
## Example File

![Rotate (origin, axis, degrees)](./3JO6UW566EG3MSCU25AGJTTDKZSMAZZO7D4VC5APLFDZVUEMPDSA_img.jpg)

Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
<!--- Autodesk.DesignScript.Geometry.TSpline.TSplineSurface.BySphereCenterPointRadius --->
<!--- 3W2XHZKQEZFB7P3OTUVOZUMCD3M7PKUFQZI42URWMPFARFIN2NVQ --->
## BySphereCenterPointRadius - Documentation
This documentation file is auto generated by NodeDocumentationMarkdownGenerator, Version=2.14.0.3986, Culture=neutral, PublicKeyToken=null.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,4 @@ CoordinateSystem.Transform will transform the given Coordinate System from a sou
___
## Example File

![CoordinateSystem.Transform](./Autodesk.DesignScript.Geometry.CoordinateSystem.Transform(CS,%20fromCS,%20contextCS)_img.png)
![CoordinateSystem.Transform](./43XHCR2GSF5A34R3G2P7OGOWDWYKS3WCXART33FSES5M5ZF2MHJA_img.jpg)
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
<!--- Autodesk.DesignScript.Geometry.Surface.Thicken(thickness, both_sides) --->
<!--- 4FFK6PGYCVKERZWXQC6TEBOQTHVXXN3QLAX5MTLXGZEAB4KH4WEQ --->
## In Depth
Thicken Surface into a Solid, extruding in the direction of Surface normals. If both_sides parameter is true, surface is thickened on both sides.
___
## Example File

![Thicken (thickness, both_sides)](./4FFK6PGYCVKERZWXQC6TEBOQTHVXXN3QLAX5MTLXGZEAB4KH4WEQ_img.jpg)

Loading

0 comments on commit 7ae0cb0

Please sign in to comment.