30 Commits

Author SHA1 Message Date
KatKatKateryna c4812ab092 rename outputs
build_powerbi / build-connector (push) Has been cancelled
build_powerbi / deploy-installers (push) Has been cancelled
2025-02-26 14:28:46 +00:00
KatKatKateryna e8306b68f6 add outputs 2025-02-26 14:23:05 +00:00
KatKatKateryna bc0afeb19e remove extra input 2025-02-26 14:18:29 +00:00
Jedd Morgan 0a2809400e restructed zip 2025-02-26 14:04:54 +00:00
Jedd Morgan d456e7b5ce rename zip instead 2025-02-26 14:01:53 +00:00
Jedd Morgan 6bcd182753 don't need to setup .net on a machine that already has it 2025-02-26 13:56:03 +00:00
Jedd Morgan 9995fcb24a Merge remote-tracking branch 'origin/alan/test-ci' into alan/test-ci 2025-02-26 13:55:16 +00:00
Jedd Morgan 354be78ce8 Changed zip name to match slug 2025-02-26 13:54:56 +00:00
KatKatKateryna 62cac5d74f updates 2025-02-26 13:36:56 +00:00
KatKatKateryna 532446f8ab Merge branch 'alan/test-ci' of https://github.com/specklesystems/speckle-qgis-v3 into alan/test-ci 2025-02-20 12:25:59 +00:00
KatKatKateryna a7c0a142e7 fix version and workflow name (#25)
* Revert "dummy tag"

This reverts commit b10fdf3035.

* remove env

* trigger wrong workflow(just to check version)

* Revert "trigger wrong workflow(just to check version)"

This reverts commit 21958d40c7.
2025-02-20 20:12:24 +08:00
KatKatKateryna cfbe6b54fa Revert "dummy tag"
This reverts commit b10fdf3035.
2025-02-20 11:49:06 +00:00
KatKatKateryna b10fdf3035 dummy tag 2025-02-20 11:41:10 +00:00
Jedd Morgan de80273f32 continue on error false 2025-02-19 15:28:03 +00:00
Jedd Morgan f7aeaa851f Added dotnet tool manifest 2025-02-19 15:22:55 +00:00
Jedd Morgan 75c9f8ea3a build was gitignored 2025-02-19 15:18:43 +00:00
Jedd Morgan 205c7c5bc7 change action to run sh 2025-02-19 15:12:07 +00:00
Jedd Morgan 03ec7f23a2 Add bash script as executable 2025-02-19 15:11:44 +00:00
Jedd Morgan 7dfbd458f9 Add bash script 2025-02-19 15:11:24 +00:00
Jedd Morgan 13fb88b130 Added gitversion 2025-02-19 15:05:23 +00:00
Jedd Morgan 3484213be9 Added comment 2025-02-19 13:48:29 +00:00
Jedd Morgan 6096c017ad Pinned CI python version to 3.11 2025-02-19 13:47:36 +00:00
KatKatKateryna 63379c495c rename repo 2025-02-19 13:38:16 +00:00
Jedd Morgan 6fe8bb5f7c Added poetry install 2025-02-19 13:30:30 +00:00
Jedd Morgan 2eb52af055 Poetry export plugin 2025-02-19 13:26:18 +00:00
Jedd Morgan 5db67f496e First pass implementing QGIS github actions 2025-02-19 13:22:13 +00:00
KatKatKateryna 05aa7f9dee return patch requirements 2025-02-19 12:41:36 +00:00
KatKatKateryna 453f222a67 Merge branch 'dev' into github-actions 2025-02-19 12:25:39 +00:00
KatKatKateryna 83c1ea4005 Merge branch 'dev' into github-actions 2025-02-19 12:00:06 +00:00
KatKatKateryna dbe503be8f Create release.yml 2025-02-18 17:33:07 +08:00
12 changed files with 341 additions and 2 deletions
+13
View File
@@ -0,0 +1,13 @@
{
"version": 1,
"isRoot": true,
"tools": {
"gitversion.tool": {
"version": "6.1.0",
"commands": [
"dotnet-gitversion"
],
"rollForward": false
}
}
}
+93
View File
@@ -0,0 +1,93 @@
name: build_powerbi
on:
push:
branches: ["main", "dev", "release/*", "alan/*"] # Continuous delivery on every long-lived branch
tags: ["v3.*"] # Manual delivery on every 3.x tag
env:
ZipName: "qgis.zip"
jobs:
build-connector:
runs-on: ubuntu-latest
outputs:
semver: ${{ steps.set-version.outputs.semver }}
file-version: ${{ steps.set-info-version.outputs.file-version }}
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0 # fetch the whole repo history
- name: ⚒️ Run GitVersion
run: ./build.sh build-server-version
- name: Install Python
uses: actions/setup-python@v5
with:
python-version: "3.11" # pb_tool depends on distutils which was deprecated in 3.10 and removed in 3.12
- name: Setup Poetry Env
run: |
pip install poetry
poetry self add poetry-plugin-export
poetry install
- name: Export requirements.txt
run: |
poetry export --without-hashes --without-urls --output plugin_utils/requirements.txt
- name: Clean requirements.txt
run: |
python plugin_utils/patch_requirements.py
- name: Install dependencies
run: |
pip install pb_tool==3.1.0 pyqt5==5.15.9
- name: ZIP plugin
run: |
pb_tool zip
mv "zip_build/speckle-qgis-v3.zip" ${{env.ZipName}}
- id: set-version
name: Set version to output
run: echo "semver=${{ env.GitVersion_FullSemVer }}" >> "$GITHUB_OUTPUT"
- id: set-info-version
name: Set file version to output
run: echo "file-version=${{ env.GitVersion_AssemblySemVer}}" >> "$GITHUB_OUTPUT" # version will be retrieved from tag?
- name: ⬆️ Upload artifacts
uses: actions/upload-artifact@v4
with:
name: output-${{ env.GitVersion_FullSemVer }}
path: ${{env.ZipName}}
if-no-files-found: error
retention-days: 1
compression-level: 0 # no compression
deploy-installers:
runs-on: ubuntu-latest
needs: build-connector
env:
IS_TAG_BUILD: ${{ github.ref_type == 'tag' }}
IS_RELEASE_BRANCH: ${{ startsWith(github.ref_name, 'release/') || github.ref_name == 'main'}}
steps:
- name: 🔫 Trigger Build QGIS
uses: ALEEF02/workflow-dispatch@v3.0.0
with:
workflow: Build QGIS
repo: specklesystems/connector-installers
token: ${{ secrets.CONNECTORS_GH_TOKEN }}
inputs: '{ "run_id": "${{ github.run_id }}", "semver": "${{ needs.build-connector.outputs.semver }}", "file_version": "${{ needs.build-connector.outputs.file-version }}", "public_release": ${{ env.IS_TAG_BUILD }} }'
ref: main
wait-for-completion: true
wait-for-completion-interval: 10s
wait-for-completion-timeout: 10m
display-workflow-run-url: true
display-workflow-run-url-interval: 10s
- uses: geekyeggo/delete-artifact@v5
with:
name: output-*
+27
View File
@@ -121,6 +121,33 @@ zip-build*
*.shp
*.shx
# C#
**/bin/*
**/obj/*
_ReSharper.SharpCompress/
bin/
*.suo
*.user
TestArchives/Scratch/
TestArchives/Scratch2/
TestResults/
*.nupkg
packages/*/
project.lock.json
tests/TestArchives/Scratch
.vs
tools
.vscode
.idea/
.DS_Store
*.snupkg
coverage.xml
*.received.*
*.log
/typings/*
*.csv
*/PyQt-UI*
+6
View File
@@ -0,0 +1,6 @@
workflow: GitFlow/v1
next-version: 3.0.0
branches:
release:
prevent-increment:
when-current-commit-tagged: true
+3
View File
@@ -0,0 +1,3 @@
$ErrorActionPreference = "Stop";
dotnet run --project ci-build/build.csproj -- $args
Executable
+4
View File
@@ -0,0 +1,4 @@
#!/usr/bin/env bash
set -euo pipefail
dotnet run --project ci-build/build.csproj -- "$@"
+25
View File
@@ -0,0 +1,25 @@
using static Bullseye.Targets;
using static SimpleExec.Command;
const string RESTORE_TOOLS = "restore-tools";
const string BUILD_SERVER_VERSION = "build-server-version";
Target(
RESTORE_TOOLS,
() =>
{
Run("dotnet", "tool restore");
}
);
Target(
BUILD_SERVER_VERSION,
DependsOn(RESTORE_TOOLS),
() =>
{
Run("dotnet", "tool run dotnet-gitversion /output json /output buildserver");
}
);
await RunTargetsAndExitAsync(args).ConfigureAwait(true);
+18
View File
@@ -0,0 +1,18 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net8.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Bullseye" Version="5.0.0" />
<PackageReference Include="Glob" Version="1.1.9"/>
<PackageReference Include="Microsoft.Build" Version="17.10.4"/>
<PackageReference Include="SimpleExec" Version="12.0.0" />
</ItemGroup>
<ItemGroup>
<Content Include="..\.github\workflows\release.yml">
<Link>workflows\release.yml</Link>
</Content>
</ItemGroup>
</Project>
+102
View File
@@ -0,0 +1,102 @@
{
"version": 1,
"dependencies": {
"net8.0": {
"Bullseye": {
"type": "Direct",
"requested": "[5.0.0, )",
"resolved": "5.0.0",
"contentHash": "bqyt+m17ym+5aN45C5oZRAjuLDt8jKiCm/ys1XfymIXSkrTFwvI/QsbY3ucPSHDz7SF7uON7B57kXFv5H2k1ew=="
},
"Glob": {
"type": "Direct",
"requested": "[1.1.9, )",
"resolved": "1.1.9",
"contentHash": "AfK5+ECWYTP7G3AAdnU8IfVj+QpGjrh9GC2mpdcJzCvtQ4pnerAGwHsxJ9D4/RnhDUz2DSzd951O/lQjQby2Sw=="
},
"Microsoft.Build": {
"type": "Direct",
"requested": "[17.10.4, )",
"resolved": "17.10.4",
"contentHash": "ZmGA8vhVXFzC4oo48ybQKlEybVKd0Ntfdr+Enqrn5ES1R6e/krIK9hLk0W33xuT0/G6QYd3YdhJZh+Xle717Ag==",
"dependencies": {
"Microsoft.Build.Framework": "17.10.4",
"Microsoft.NET.StringTools": "17.10.4",
"System.Collections.Immutable": "8.0.0",
"System.Configuration.ConfigurationManager": "8.0.0",
"System.Reflection.Metadata": "8.0.0",
"System.Reflection.MetadataLoadContext": "8.0.0",
"System.Security.Principal.Windows": "5.0.0",
"System.Threading.Tasks.Dataflow": "8.0.0"
}
},
"SimpleExec": {
"type": "Direct",
"requested": "[12.0.0, )",
"resolved": "12.0.0",
"contentHash": "ptxlWtxC8vM6Y6e3h9ZTxBBkOWnWrm/Sa1HT+2i1xcXY3Hx2hmKDZP5RShPf8Xr9D+ivlrXNy57ktzyH8kyt+Q=="
},
"Microsoft.Build.Framework": {
"type": "Transitive",
"resolved": "17.10.4",
"contentHash": "4qXCwNOXBR1dyCzuks9SwTwFJQO/xmf2wcMislotDWJu7MN/r3xDNoU8Ae5QmKIHPaLG1xmfDkYS7qBVzxmeKw=="
},
"Microsoft.NET.StringTools": {
"type": "Transitive",
"resolved": "17.10.4",
"contentHash": "wyABaqY+IHCMMSTQmcc3Ca6vbmg5BaEPgicnEgpll+4xyWZWlkQqUwafweUd9VAhBb4jqplMl6voUHQ6yfdUcg=="
},
"System.Collections.Immutable": {
"type": "Transitive",
"resolved": "8.0.0",
"contentHash": "AurL6Y5BA1WotzlEvVaIDpqzpIPvYnnldxru8oXJU2yFxFUy3+pNXjXd1ymO+RA0rq0+590Q8gaz2l3Sr7fmqg=="
},
"System.Configuration.ConfigurationManager": {
"type": "Transitive",
"resolved": "8.0.0",
"contentHash": "JlYi9XVvIREURRUlGMr1F6vOFLk7YSY4p1vHo4kX3tQ0AGrjqlRWHDi66ImHhy6qwXBG3BJ6Y1QlYQ+Qz6Xgww==",
"dependencies": {
"System.Diagnostics.EventLog": "8.0.0",
"System.Security.Cryptography.ProtectedData": "8.0.0"
}
},
"System.Diagnostics.EventLog": {
"type": "Transitive",
"resolved": "8.0.0",
"contentHash": "fdYxcRjQqTTacKId/2IECojlDSFvp7LP5N78+0z/xH7v/Tuw5ZAxu23Y6PTCRinqyu2ePx+Gn1098NC6jM6d+A=="
},
"System.Reflection.Metadata": {
"type": "Transitive",
"resolved": "8.0.0",
"contentHash": "ptvgrFh7PvWI8bcVqG5rsA/weWM09EnthFHR5SCnS6IN+P4mj6rE1lBDC4U8HL9/57htKAqy4KQ3bBj84cfYyQ==",
"dependencies": {
"System.Collections.Immutable": "8.0.0"
}
},
"System.Reflection.MetadataLoadContext": {
"type": "Transitive",
"resolved": "8.0.0",
"contentHash": "SZxrQ4sQYnIcdwiO3G/lHZopbPYQ2lW0ioT4JezgccWUrKaKbHLJbAGZaDfkYjWcta1pWssAo3MOXLsR0ie4tQ==",
"dependencies": {
"System.Collections.Immutable": "8.0.0",
"System.Reflection.Metadata": "8.0.0"
}
},
"System.Security.Cryptography.ProtectedData": {
"type": "Transitive",
"resolved": "8.0.0",
"contentHash": "+TUFINV2q2ifyXauQXRwy4CiBhqvDEDZeVJU7qfxya4aRYOKzVBpN+4acx25VcPB9ywUN6C0n8drWl110PhZEg=="
},
"System.Security.Principal.Windows": {
"type": "Transitive",
"resolved": "5.0.0",
"contentHash": "t0MGLukB5WAVU9bO3MGzvlGnyJPgUlcwerXn1kzBRjwLKixT96XV0Uza41W49gVd8zEMFu9vQEFlv0IOrytICA=="
},
"System.Threading.Tasks.Dataflow": {
"type": "Transitive",
"resolved": "8.0.0",
"contentHash": "7V0I8tPa9V7UxMx/+7DIwkhls5ouaEMQx6l/GwGm1Y8kJQ61On9B/PxCXFLbgu5/C47g0BP2CUYs+nMv1+Oaqw=="
}
}
}
}
+24
View File
@@ -0,0 +1,24 @@
def main():
"""Removes Python version and OS from Requirements.txt"""
req_file = "plugin_utils/requirements.txt"
with open(req_file, "r") as file:
lines = file.readlines()
new_lines = []
for i, line in enumerate(lines):
new_line = line.split(";")[0].replace(" ", "")
if "[" in new_line and "]" in new_line:
new_line = new_line.split("[")[0] + new_line.split("]")[1]
if i < len(lines) - 1:
new_line += "\n"
new_lines.append(new_line)
with open(req_file, "w") as file:
file.writelines(new_lines)
print("Requirements file overwritten")
file.close()
if __name__ == "__main__":
main()
+2 -2
View File
@@ -1,7 +1,7 @@
[tool.poetry]
name = "speckle-qgis"
name = "speckle-qgis-v3"
version = "0.1.0"
description = "poetry for speckle-qgis"
description = "poetry for speckle-qgis-v3"
authors = ["Your Name <you@example.com>"]
license = "Apache License 2.0"
readme = "README.md"
+24
View File
@@ -0,0 +1,24 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.5.2.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Build", "ci-build\build.csproj", "{7DF908B3-503D-51C2-3675-626DC2895B77}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{7DF908B3-503D-51C2-3675-626DC2895B77}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{7DF908B3-503D-51C2-3675-626DC2895B77}.Debug|Any CPU.Build.0 = Debug|Any CPU
{7DF908B3-503D-51C2-3675-626DC2895B77}.Release|Any CPU.ActiveCfg = Release|Any CPU
{7DF908B3-503D-51C2-3675-626DC2895B77}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {91042CB4-A71D-4F55-8534-D9A7A1760347}
EndGlobalSection
EndGlobal