Skip to content

Commit

Permalink
Showing 865 changed files with 18,953 additions and 16,930 deletions.
85 changes: 56 additions & 29 deletions .circleci/scripts/config-template.yml
Original file line number Diff line number Diff line change
@@ -60,7 +60,7 @@ commands:
SEMVER=$(echo "$NOPREFIX" | sed -e 's/\/[a-zA-Z-]*//')
VER=$(echo "$SEMVER" | sed -e 's/-.*//')
VERSION=$(echo $VER.$WORKFLOW_NUM)
$HOME/.dotnet/dotnet pack All.sln -p:Version=$SEMVER -p:FileVersion=$VERSION -c Release -p:WarningLevel=0 -p:IsDesktopBuild=false
$HOME/.dotnet/dotnet pack All.sln -p:Version=$SEMVER -p:FileVersion=$VERSION -c Release -p:IsDesktopBuild=false
environment:
WORKFLOW_NUM: << pipeline.number >>
- run:
@@ -92,9 +92,9 @@ jobs: # Each project will have individual jobs for each specific task it has to
- run:
name: Install dotnet
command: |
curl -sSL https://dot.net/v1/dotnet-install.sh | bash /dev/stdin --channel Current
curl -sSL https://dot.net/v1/dotnet-install.sh | bash /dev/stdin --channel sts
$HOME/.dotnet/dotnet --version
- run:
- run:
name: Enforce formatting
command: |
$HOME/.dotnet/dotnet tool restore
@@ -107,15 +107,15 @@ jobs: # Each project will have individual jobs for each specific task it has to
SEMVER=$(echo "$NOPREFIX" | sed -e 's/\/[a-zA-Z-]*//')
VER=$(echo "$SEMVER" | sed -e 's/-.*//')
VERSION=$(echo $VER.$WORKFLOW_NUM)
$HOME/.dotnet/dotnet build SDK.slnf -c Release -p:WarningLevel=0 -p:IsDesktopBuild=false -p:Version=$SEMVER -p:FileVersion=$VERSION
$HOME/.dotnet/dotnet build SDK.slnf -c Release -p:IsDesktopBuild=false -p:Version=$SEMVER -p:FileVersion=$VERSION
environment:
WORKFLOW_NUM: << pipeline.number >>
- run-tests:
title: Core Unit Tests
project: Core/Tests/TestsUnit.csproj
project: Core/Tests/Speckle.Core.Tests.Unit/Speckle.Core.Tests.Unit.csproj
- run-tests:
title: Objects Unit Tests
project: Objects/Tests/Tests.csproj
project: Objects/Tests/Objects.Tests.Unit/Objects.Tests.Unit.csproj
- store_test_results:
path: TestResults

@@ -128,14 +128,14 @@ jobs: # Each project will have individual jobs for each specific task it has to
- run:
name: Install dotnet
command: |
curl -sSL https://dot.net/v1/dotnet-install.sh | bash /dev/stdin --channel Current
curl -sSL https://dot.net/v1/dotnet-install.sh | bash /dev/stdin --channel sts
$HOME/.dotnet/dotnet --version
- run:
name: Startup the Speckle Server
command: docker compose -f Core/docker-compose.yml up -d
- run-tests:
title: Core Integration Tests
project: Core/IntegrationTests/TestsIntegration.csproj
project: Core/Tests/Speckle.Core.Tests.Integration/Speckle.Core.Tests.Integration.csproj
- run-tests:
title: Automate Integration Tests
project: Automate/Tests/Speckle.Automate.Sdk.Tests.Integration/Speckle.Automate.Sdk.Tests.Integration.csproj
@@ -163,6 +163,8 @@ jobs: # Each project will have individual jobs for each specific task it has to
installer:
type: boolean
default: false
environment:
SSM: 'C:\Program Files\DigiCert\DigiCert One Signing Manager Tools'
steps:
- cached-checkout
- attach_workspace:
@@ -180,7 +182,7 @@ jobs: # Each project will have individual jobs for each specific task it has to
$semver = if($tag.Contains('/')) {$tag.Split("/")[0] } else { $tag }
$ver = if($semver.Contains('-')) {$semver.Split("-")[0] } else { $semver }
$version = "$($ver).$($env:WORKFLOW_NUM)"
msbuild << parameters.slnname >>/<< parameters.slnname >>.sln /p:Configuration=Release /p:WarningLevel=0 /p:IsDesktopBuild=false /p:Version=$semver /p:FileVersion=$version
msbuild << parameters.slnname >>/<< parameters.slnname >>.sln /p:Configuration=Release /p:IsDesktopBuild=false /p:Version=$semver /p:FileVersion=$version
environment:
WORKFLOW_NUM: << pipeline.number >>
- unless:
@@ -193,27 +195,48 @@ jobs: # Each project will have individual jobs for each specific task it has to
$semver = if($tag.Contains('/')) {$tag.Split("/")[0] } else { $tag }
$ver = if($semver.Contains('-')) {$semver.Split("-")[0] } else { $semver }
$version = "$($ver).$($env:WORKFLOW_NUM)"
dotnet publish << parameters.slnname >>/<< parameters.slnname >>/<< parameters.projname >>.csproj -c Release -r win-x64 --self-contained /p:WarningLevel=0 /p:Version=$semver /p:FileVersion=$version
dotnet publish << parameters.slnname >>/<< parameters.slnname >>/<< parameters.projname >>.csproj -c Release -r win-x64 --self-contained /p:IsDesktopBuild=false /p:Version=$semver /p:FileVersion=$version
environment:
WORKFLOW_NUM: << pipeline.number >>
- run:
name: Exit if External PR
shell: bash.exe
command: if [ "$CIRCLE_PR_REPONAME" ]; then circleci-agent step halt; fi
- run:
name: Create Innosetup signing cert
command: |
echo $env:PFX_B64 > "speckle-sharp-ci-tools\SignTool\AEC Systems Ltd.txt"
certutil -decode "speckle-sharp-ci-tools\SignTool\AEC Systems Ltd.txt" "speckle-sharp-ci-tools\SignTool\AEC Systems Ltd.pfx"
- run:
name: Build Installer
command: speckle-sharp-ci-tools\InnoSetup\ISCC.exe speckle-sharp-ci-tools\%SLUG%.iss /Sbyparam=$p
shell: cmd.exe #does not work in powershell
environment:
SLUG: << parameters.slug >>
- when:
- unless: # Build installers unsigned on non-tagged builds
condition: << pipeline.git.tag >>
steps:
- run:
name: Build Installer
command: speckle-sharp-ci-tools\InnoSetup\ISCC.exe speckle-sharp-ci-tools\%SLUG%.iss /Sbyparam=$p
shell: cmd.exe #does not work in powershell
environment:
SLUG: << parameters.slug >>
- when: # Setup certificates and build installers signed for tagged builds
condition: << pipeline.git.tag >>
steps:
- run:
name: "Digicert Signing Manager Setup"
command: |
cd C:\
curl.exe -X GET https://one.digicert.com/signingmanager/api-ui/v1/releases/smtools-windows-x64.msi/download -H "x-api-key:$env:SM_API_KEY" -o smtools-windows-x64.msi
msiexec.exe /i smtools-windows-x64.msi /quiet /qn | Wait-Process
- run:
name: Create Auth & OV Signing Cert
command: |
cd C:\
echo $env:SM_CLIENT_CERT_FILE_B64 > certificate.txt
certutil -decode certificate.txt certificate.p12
echo $env:SM_OV_PEM_CERT > SpeckleOVCertificate-2024.pem
- run:
name: Sync Certs
command: |
& $env:SSM\smksp_cert_sync.exe
- run:
name: Build Installer
command: speckle-sharp-ci-tools\InnoSetup\ISCC.exe speckle-sharp-ci-tools\%SLUG%.iss /Sbyparam=$p /DSIGN_INSTALLER
shell: cmd.exe #does not work in powershell
environment:
SLUG: << parameters.slug >>
- persist_to_workspace:
root: ./
paths:
@@ -286,7 +309,7 @@ jobs: # Each project will have individual jobs for each specific task it has to
- run:
name: Install dotnet
command: |
curl -sSL https://dot.net/v1/dotnet-install.sh | bash /dev/stdin --channel Current
curl -sSL https://dot.net/v1/dotnet-install.sh | bash /dev/stdin --channel sts
$HOME/.dotnet/dotnet --version
$HOME/.dotnet/dotnet --list-runtimes
@@ -312,7 +335,7 @@ jobs: # Each project will have individual jobs for each specific task it has to
SEMVER=$(echo "$TAG" | sed -e 's/\/[a-zA-Z-]*//')
VER=$(echo "$SEMVER" | sed -e 's/-.*//')
VERSION=$(echo $VER.$WORKFLOW_NUM)
msbuild << parameters.slnname >>/<< parameters.slnname >>.sln /r /p:Configuration='<< parameters.build-config >>' /p:WarningLevel=0 /p:IsDesktopBuild=false /p:Version=$SEMVER /p:FileVersion=$VERSION
msbuild << parameters.slnname >>/<< parameters.slnname >>.sln /r /p:Configuration='<< parameters.build-config >>' /p:IsDesktopBuild=false /p:Version=$SEMVER /p:FileVersion=$VERSION
environment:
WORKFLOW_NUM: << pipeline.number >>
# Compress build files
@@ -342,20 +365,24 @@ jobs: # Each project will have individual jobs for each specific task it has to
SEMVER=$(echo "$TAG" | sed -e 's/\/[a-zA-Z-]*//')
VER=$(echo "$SEMVER" | sed -e 's/-.*//')
VERSION=$(echo $VER.$WORKFLOW_NUM)
$HOME/.dotnet/dotnet publish << parameters.slnname >>/<< parameters.projname >>/<< parameters.projname >>.csproj -c Release -r osx-x64 --self-contained /p:WarningLevel=0 /p:Version=$SEMVER /p:FileVersion=$VERSION
$HOME/.dotnet/dotnet publish << parameters.slnname >>/<< parameters.projname >>/<< parameters.projname >>.csproj -c Release -r osx-arm64 --self-contained /p:IsDesktopBuild=false /p:Version=$SEMVER /p:FileVersion=$VERSION
$HOME/.dotnet/dotnet publish << parameters.slnname >>/<< parameters.projname >>/<< parameters.projname >>.csproj -c Release -r osx-x64 --self-contained /p:IsDesktopBuild=false /p:Version=$SEMVER /p:FileVersion=$VERSION
environment:
WORKFLOW_NUM: << pipeline.number >>
- run:
name: Zip Connector files
command: |
cd "<< parameters.slnname >>/<< parameters.slnname >>/bin/Release/net6.0/osx-x64/publish"
zip -r << parameters.slug >>-mac.zip "./"
cd "<< parameters.slnname >>/<< parameters.slnname >>/bin/Release/net6.0/osx-arm64/publish"
zip -r << parameters.slug >>-mac-arm64.zip "./"
cd "../../osx-x64/publish"
zip -r << parameters.slug >>-mac-x64.zip "./"
# Copy installer files
- run:
name: Copy files to installer
command: |
mkdir -p speckle-sharp-ci-tools/Mac/<< parameters.installername >>/.installationFiles/
cp << parameters.slnname >>/<< parameters.slnname >>/bin/Release/net6.0/osx-x64/publish/<< parameters.slug >>-mac.zip speckle-sharp-ci-tools/Mac/<<parameters.installername>>/.installationFiles
cp << parameters.slnname >>/<< parameters.slnname >>/bin/Release/net6.0/osx-arm64/publish/<< parameters.slug >>-mac-arm64.zip speckle-sharp-ci-tools/Mac/<<parameters.installername>>/.installationFiles
cp << parameters.slnname >>/<< parameters.slnname >>/bin/Release/net6.0/osx-x64/publish/<< parameters.slug >>-mac-x64.zip speckle-sharp-ci-tools/Mac/<<parameters.installername>>/.installationFiles
# Create installer
- run:
name: Exit if External PR
@@ -424,7 +451,7 @@ jobs: # Each project will have individual jobs for each specific task it has to
SEMVER=$(echo "$TAG" | sed -e 's/\/[a-zA-Z-]*//')
VER=$(echo "$SEMVER" | sed -e 's/-.*//')
VERSION=$(echo $VER.$WORKFLOW_NUM)
dotnet build << parameters.slnname >>/<< parameters.slnname >>.slnf -c "<< parameters.build-config >>" -p:WarningLevel=0 -p:Version=$SEMVER -p:FileVersion=$VERSION -p:IsDesktopBuild=false
dotnet build << parameters.slnname >>/<< parameters.slnname >>.slnf -c "<< parameters.build-config >>" -p:Version=$SEMVER -p:FileVersion=$VERSION -p:IsDesktopBuild=false
environment:
WORKFLOW_NUM: << pipeline.number >>
- run:
68 changes: 50 additions & 18 deletions .circleci/scripts/connector-jobs.yml
Original file line number Diff line number Diff line change
@@ -8,12 +8,14 @@ rhino:
slnname: ConnectorRhino
dllname: SpeckleConnectorRhino.rhp
slug: rhino
context: innosetup
context:
- digicert-signing-connectors-test
- build-connector:
slnname: ConnectorRhino
dllname: SpeckleConnectorRhino.rhp
slug: grasshopper
context: innosetup
context:
- digicert-signing-connectors-test
- build-connector-dotnet-mac:
name: rhino-build-mac
slnname: ConnectorRhino
@@ -47,80 +49,94 @@ dynamo:
slnname: ConnectorDynamo
dllname: SpeckleConnectorDynamo.dll
slug: dynamo
context: innosetup
context:
- digicert-signing-connectors-test

revit:
- build-connector:
slnname: ConnectorRevit
dllname: SpeckleConnectorRevit.dll
slug: revit
context: innosetup
context:
- digicert-signing-connectors-test

autocadcivil:
- build-connector:
slnname: ConnectorAutocadCivil
dllname: SpeckleConnectorAutocad.dll
slug: autocad
context: innosetup
context:
- digicert-signing-connectors-test
- build-connector:
slnname: ConnectorAutocadCivil
dllname: SpeckleConnectorAutocad.dll
slug: civil3d
context: innosetup
context:
- digicert-signing-connectors-test
- build-connector:
slnname: ConnectorAutocadCivil
dllname: SpeckleConnectorAutocad.dll
slug: advancesteel
context: innosetup
context:
- digicert-signing-connectors-test
bentley:
- build-connector:
slnname: ConnectorBentley
dllname: SpeckleConnectorMicroStation.dll
slug: microstation
context: innosetup
context:
- digicert-signing-connectors-test
- build-connector:
slnname: ConnectorBentley
dllname: SpeckleConnectorOpenBuildings.dll
slug: openbuildings
context: innosetup
context:
- digicert-signing-connectors-test
- build-connector:
slnname: ConnectorBentley
dllname: SpeckleConnectorOpenRail.dll
slug: openrail
context: innosetup
context:
- digicert-signing-connectors-test
- build-connector:
slnname: ConnectorBentley
dllname: SpeckleConnectorOpenRoads.dll
slug: openroads
context: innosetup
context:
- digicert-signing-connectors-test

teklastructures:
- build-connector:
slnname: ConnectorTeklaStructures
dllname: SpeckleConnectorTeklaStructures.dll
slug: teklastructures
context: innosetup
context:
- digicert-signing-connectors-test
csi:
- build-connector:
slnname: ConnectorCSI
dllname: SpeckleConnectorCSI.dll
slug: etabs
context: innosetup
context:
- digicert-signing-connectors-test
- build-connector:
slnname: ConnectorCSI
dllname: SpeckleConnectorCSI.dll
slug: sap2000
context: innosetup
context:
- digicert-signing-connectors-test
- build-connector:
slnname: ConnectorCSI
dllname: SpeckleConnectorCSI.dll
slug: safe
context: innosetup
context:
- digicert-signing-connectors-test
- build-connector:
slnname: ConnectorCSI
dllname: SpeckleConnectorCSI.dll
slug: csibridge
context: innosetup
context:
- digicert-signing-connectors-test

archicad:
- build-archicad-add-on:
@@ -133,16 +149,23 @@ archicad:
requires:
- get-ci-tools
name: build-archicad-add-on-26
- build-archicad-add-on:
archicadversion: "27"
requires:
- get-ci-tools
name: build-archicad-add-on-27
- build-connector:
requires:
- build-archicad-add-on-25
- build-archicad-add-on-26
- build-archicad-add-on-27
slnname: ConnectorArchicad
projname: ConnectorArchicad
dllname: ConnectorArchicad.dll
slug: archicad
build-with-msbuild: false
context: innosetup
context:
- digicert-signing-connectors-test
- build-archicad-add-on-mac:
archicadversion: "25"
requires:
@@ -157,11 +180,19 @@ archicad:
name: build-archicad-add-on-26-mac
slug: archicad
installername: SpeckleArchicadInstall
- build-archicad-add-on-mac:
archicadversion: "27"
requires:
- get-ci-tools
name: build-archicad-add-on-27-mac
slug: archicad
installername: SpeckleArchicadInstall
- build-connector-mac:
name: archicad-build-mac
requires:
- build-archicad-add-on-25-mac
- build-archicad-add-on-26-mac
- build-archicad-add-on-27-mac
slnname: ConnectorArchicad
projname: ConnectorArchicad
slug: archicad
@@ -173,4 +204,5 @@ navisworks:
slnname: ConnectorNavisworks
dllname: SpeckleConnectorNavisworks.dll
slug: navisworks
context: innosetup
context:
- digicert-signing-connectors-test
Loading

0 comments on commit 3850b09

Please sign in to comment.