Skip to content

Commit

Permalink
Merge pull request #2056 from specklesystems/release/2.11
Browse files Browse the repository at this point in the history
Release 2.11
  • Loading branch information
teocomi authored Jan 11, 2023
2 parents 8a5fa1e + db4feba commit 9c5e71a
Show file tree
Hide file tree
Showing 398 changed files with 15,042 additions and 7,543 deletions.
1 change: 1 addition & 0 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ jobs:
(Core|Objects|ConnectorMicroStation|.*/ConverterMicroStation)/.* microstation true
(Core|Objects|ConnectorTeklaStructures|.*/ConverterTeklaStructures)/.* teklastructures true
(Core|Objects|ConnectorArchicad)/.* archicad true
(Core|Objects|ConnectorNavisworks|.*/ConverterNavisworks)/.* navisworks true
base-revision: main
output-path: .circleci/scripts/parameters.json
- run: cat .circleci/scripts/parameters.json
Expand Down
12 changes: 8 additions & 4 deletions .circleci/scripts/config-generator.py
Original file line number Diff line number Diff line change
Expand Up @@ -152,10 +152,13 @@ def createConfigFile(deploy: bool, outputPath: str):
main_workflow["jobs"] += [{"deploy-connectors": deploy_job}]
print("Added deploy job: deployment")

if "get-ci-tools" in main_workflow["jobs"]:
main_workflow["jobs"].remove("get-ci-tools")
if main_workflow["jobs"][0]["get-ci-tools"] != None:
main_workflow["jobs"].pop(0)

ci_tools_job = {"filters": getTagFilter(slugs_to_match)}
ci_tools_job = {
"filters": getTagFilter(slugs_to_match),
"context": "github-dev-bot",
}
main_workflow["jobs"] += [{"get-ci-tools": ci_tools_job}]
print("Modified job for deploy: get-ci-tools")

Expand All @@ -180,12 +183,13 @@ def getNewDeployJob(jobName: str):
isMac = jobName.find("-mac") != -1
deployJob: Dict[str, Any] = {
"slug": slug.split("-mac")[0] if isMac else slug,
"name": slug + "-deploy-mac" if isMac else slug + "-deploy" ,
"name": slug + "-deploy-mac" if isMac else slug + "-deploy",
"os": "OSX" if isMac else "Win",
"arch": "Any",
"extension": "zip" if isMac else "exe",
"requires": ["deploy-connectors", jobName],
"filters": getTagFilter([jobName]),
"context": "do-spaces-speckle-releases",
}
return {"deploy-connector-new": deployJob}

Expand Down
41 changes: 30 additions & 11 deletions .circleci/scripts/config-template.yml
Original file line number Diff line number Diff line change
Expand Up @@ -53,25 +53,31 @@ jobs: # Each project will have individual jobs for each specific task it has to
# - image: "mcr.microsoft.com/dotnet/core/sdk:2.1-focal" # dotnet core 2.1 sdk (for netstandard support on build)
# Node, redis, postgres and speckle-server images for test server
- image: "cimg/node:16.15"
- image: "cimg/redis:6.2"
- image: "cimg/postgres:14.2"
- image: "cimg/redis:7.0.5"
- image: "cimg/postgres:14.5"
environment:
POSTGRES_DB: speckle2_test
POSTGRES_PASSWORD: speckle
POSTGRES_USER: speckle
- image: "minio/minio"
command: server /data --console-address ":9001"
- image: "speckle/speckle-server:latest"
command: ["bash", "-c", "/wait && node bin/www"]
environment:
POSTGRES_URL: "localhost"
POSTGRES_URL: "127.0.0.1"
POSTGRES_USER: "speckle"
POSTGRES_PASSWORD: "speckle"
POSTGRES_DB: "speckle2_test"
REDIS_URL: "redis://localhost"
REDIS_URL: "redis://127.0.0.1"
SESSION_SECRET: "keyboard cat"
STRATEGY_LOCAL: "true"
CANONICAL_URL: "http://localhost:3000"
WAIT_HOSTS: localhost:5432, localhost:6379
DISABLE_FILE_UPLOADS: "true"
S3_ENDPOINT: "http://127.0.0.1:9000"
S3_ACCESS_KEY: "minioadmin"
S3_SECRET_KEY: "minioadmin"
S3_BUCKET: "speckle-server"
S3_CREATE_BUCKET: "true"
WAIT_HOSTS: 127.0.0.1:5432, 127.0.0.1:6379, 127.0.0.1:9000
steps:
- checkout
- run:
Expand Down Expand Up @@ -341,16 +347,16 @@ jobs: # Each project will have individual jobs for each specific task it has to
- run:
name: Zip installer
command: |
cd speckle-sharp-ci-tools/Mac/<<parameters.installername>>/bin/Release/netcoreapp3.1/osx-x64/
cd speckle-sharp-ci-tools/Mac/<<parameters.installername>>/bin/Release/net6.0/osx-x64/publish/
zip -r <<parameters.slug>>.zip ./
- store_artifacts:
path: speckle-sharp-ci-tools/Mac/<<parameters.installername>>/bin/Release/netcoreapp3.1/osx-x64/<<parameters.slug>>.zip
path: speckle-sharp-ci-tools/Mac/<<parameters.installername>>/bin/Release/net6.0/osx-x64/publish/<<parameters.slug>>.zip
- run:
name: Copy to installer location
command: |
TAG=$(if [ "${CIRCLE_TAG}" ]; then echo $CIRCLE_TAG; else echo "2.0.999.$WORKFLOW_NUM"; fi;)
SEMVER=$(echo "$TAG" | sed -e 's/\/[a-zA-Z-]*//')
cp speckle-sharp-ci-tools/Mac/<<parameters.installername>>/bin/Release/netcoreapp3.1/osx-x64/<<parameters.slug>>.zip speckle-sharp-ci-tools/Installers/<< parameters.slug >>/<<parameters.slug>>-$SEMVER.zip
cp speckle-sharp-ci-tools/Mac/<<parameters.installername>>/bin/Release/net6.0/osx-x64/publish/<<parameters.slug>>.zip speckle-sharp-ci-tools/Installers/<< parameters.slug >>/<<parameters.slug>>-$SEMVER.zip
environment:
WORKFLOW_NUM: << pipeline.number >>
- when:
Expand All @@ -365,9 +371,17 @@ jobs: # Each project will have individual jobs for each specific task it has to
docker:
- image: cimg/base:2021.01
steps:
- add_ssh_keys:
fingerprints:
- "62:b2:1a:86:b7:9f:83:91:9b:61:f8:52:66:38:78:64"
- run:
name: I know Github as a host
command: |
mkdir ~/.ssh
ssh-keyscan github.com >> ~/.ssh/known_hosts
- run: # Could not get ssh to work, so using a personal token
name: Clone
command: git clone https://$GITHUB_TOKEN@github.com/specklesystems/speckle-sharp-ci-tools.git speckle-sharp-ci-tools
command: git clone git@github.com:specklesystems/speckle-sharp-ci-tools.git speckle-sharp-ci-tools
- persist_to_workspace:
root: ./
paths:
Expand Down Expand Up @@ -486,7 +500,8 @@ jobs: # Each project will have individual jobs for each specific task it has to
workflows:
build:
jobs:
- get-ci-tools
- get-ci-tools:
context: github-dev-bot
- build-core:
requires:
- get-ci-tools
Expand All @@ -509,6 +524,7 @@ workflows:
post-steps:
- packandpublish:
projectfilepath: Core/Core.sln
context: nuget
- build-objects:
name: nuget-deploy-objects
filters:
Expand All @@ -519,6 +535,7 @@ workflows:
post-steps:
- packandpublish-bash:
projectfilepath: Objects/Objects.sln
context: nuget
- build-desktopui:
name: nuget-deploy-desktopui
filters:
Expand All @@ -529,3 +546,5 @@ workflows:
post-steps:
- packandpublish:
projectfilepath: DesktopUI2/DesktopUI2/DesktopUI2.csproj
context: nuget
# VS Code Extension Version: 1.4.0
27 changes: 26 additions & 1 deletion .circleci/scripts/connector-jobs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,14 @@ rhino:
slug: rhino
requires:
- build-desktopui
context: innosetup
- build-connector:
slnname: ConnectorRhino
dllname: SpeckleConnectorRhino.rhp
slug: grasshopper
requires:
- build-desktopui
context: innosetup
- build-connector-mac:
name: rhino-build-mac
slnname: ConnectorRhino
Expand Down Expand Up @@ -54,6 +56,7 @@ dynamo:
slnname: ConnectorDynamo
dllname: SpeckleConnectorDynamo.dll
slug: dynamo
context: innosetup

revit:
- build-connector:
Expand All @@ -62,6 +65,7 @@ revit:
slug: revit
requires:
- build-desktopui
context: innosetup

autocadcivil:
- build-connector:
Expand All @@ -70,12 +74,14 @@ autocadcivil:
slug: autocad
requires:
- build-desktopui
context: innosetup
- build-connector:
slnname: ConnectorAutocadCivil
dllname: SpeckleConnectorAutocad.dll
slug: civil3d
requires:
- build-desktopui
context: innosetup

microstation:
- build-connector:
Expand All @@ -84,22 +90,26 @@ microstation:
slug: microstation
requires:
- build-desktopui
context: innosetup
- build-connector:
slnname: ConnectorMicroStation
dllname: SpeckleConnectorOpenBuildings.dll
slug: openbuildings
requires:
- build-desktopui
context: innosetup
- build-connector:
slnname: ConnectorMicroStation
dllname: SpeckleConnectorOpenRail.dll
slug: openrail
requires:
- build-desktopui
context: innosetup
- build-connector:
slnname: ConnectorMicroStation
dllname: SpeckleConnectorOpenRoads.dll
slug: openroads
context: innosetup

teklastructures:
- build-connector:
Expand All @@ -108,31 +118,36 @@ teklastructures:
slug: teklastructures
requires:
- build-desktopui
context: innosetup
csi:
- build-connector:
slnname: ConnectorCSI
dllname: SpeckleConnectorCSI.dll
slug: etabs
requires:
- build-desktopui
context: innosetup
- build-connector:
slnname: ConnectorCSI
dllname: SpeckleConnectorCSI.dll
slug: sap2000
requires:
- build-desktopui
context: innosetup
- build-connector:
slnname: ConnectorCSI
dllname: SpeckleConnectorCSI.dll
slug: safe
requires:
- build-desktopui
context: innosetup
- build-connector:
slnname: ConnectorCSI
dllname: SpeckleConnectorCSI.dll
slug: csibridge
requires:
- build-desktopui
context: innosetup

archicad:
- build-archicad-add-on:
Expand All @@ -155,6 +170,7 @@ archicad:
slnname: ConnectorArchicad
dllname: ConnectorArchicad.dll
slug: archicad
context: innosetup
- build-archicad-add-on-mac:
archicadversion: "25"
requires:
Expand All @@ -179,4 +195,13 @@ archicad:
projname: ConnectorArchicad
slug: archicad
build-with-mono: false
installername: SpeckleArchicadInstall
installername: SpeckleArchicadInstall

navisworks:
- build-connector:
slnname: ConnectorNavisworks
dllname: SpeckleConnectorNavisworks.dll
slug: navisworks
requires:
- build-desktopui
context: innosetup
3 changes: 2 additions & 1 deletion .circleci/scripts/parameters.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,6 @@
"autocadcivil": true,
"microstation": true,
"archicad": true,
"teklastructures": true
"teklastructures": true,
"navisworks": true
}
73 changes: 4 additions & 69 deletions .github/workflows/close-issue.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,72 +6,7 @@ on:

jobs:
update_issue:
runs-on: ubuntu-latest
steps:
- name: Get project data
env:
GITHUB_TOKEN: ${{secrets.GHPROJECT_TOKEN}}
ORGANIZATION: specklesystems
PROJECT_NUMBER: 11
run: |
gh api graphql --header 'GraphQL-Features: projects_next_graphql' -f query='
query($org: String!, $number: Int!) {
organization(login: $org){
projectNext(number: $number) {
id
fields(first:20) {
nodes {
id
name
settings
}
}
}
}
}' -f org=$ORGANIZATION -F number=$PROJECT_NUMBER > project_data.json
echo 'PROJECT_ID='$(jq '.data.organization.projectNext.id' project_data.json) >> $GITHUB_ENV
echo 'STATUS_FIELD_ID='$(jq '.data.organization.projectNext.fields.nodes[] | select(.name== "Status") | .id' project_data.json) >> $GITHUB_ENV
echo "$PROJECT_ID"
echo "$STATUS_FIELD_ID"
echo 'DONE_ID='$(jq '.data.organization.projectNext.fields.nodes[] | select(.name== "Status") | .settings | fromjson | .options[] | select(.name== "Done") | .id' project_data.json) >> $GITHUB_ENV
echo "$DONE_ID"
- name: Add Issue to project #it's already in the project, but we do this to get its node id!
env:
GITHUB_TOKEN: ${{secrets.GHPROJECT_TOKEN}}
ISSUE_ID: ${{ github.event.issue.node_id }}
run: |
item_id="$( gh api graphql --header 'GraphQL-Features: projects_next_graphql' -f query='
mutation($project:ID!, $id:ID!) {
addProjectNextItem(input: {projectId: $project, contentId: $id}) {
projectNextItem {
id
}
}
}' -f project=$PROJECT_ID -f id=$ISSUE_ID --jq '.data.addProjectNextItem.projectNextItem.id')"
echo 'ITEM_ID='$item_id >> $GITHUB_ENV
- name: Update Status
env:
GITHUB_TOKEN: ${{secrets.GHPROJECT_TOKEN}}
ISSUE_ID: ${{ github.event.issue.node_id }}
run: |
gh api graphql --header 'GraphQL-Features: projects_next_graphql' -f query='
mutation($project:ID!, $status:ID!, $id:ID!, $value:String!) {
set_status: updateProjectNextItemField(
input: {
projectId: $project
itemId: $id
fieldId: $status
value: $value
}
) {
projectNextItem {
id
}
}
}' -f project=$PROJECT_ID -f status=$STATUS_FIELD_ID -f id=$ITEM_ID -f value=${{ env.DONE_ID }}
uses: specklesystems/github-actions/.github/workflows/project-add-issue.yml@main
secrets: inherit
with:
issue-id: ${{ github.event.issue.node_id }}
Loading

0 comments on commit 9c5e71a

Please sign in to comment.