Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(project): Create Releases w/ Zip Packages #56

Draft
wants to merge 4 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 26 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
name: Semantic Release

on:
push:
branches:
- main

jobs:
release:
runs-on: ubuntu-24.04
concurrency: release
permissions:
id-token: write
contents: write

steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0

- name: Python Semantic Release
uses: python-semantic-release/[email protected]
with:
# Note: This token expires July 2025
# See: https://python-semantic-release.readthedocs.io/en/latest/index.html#index-creating-vcs-releases
github_token: ${{ secrets.GH_TOKEN_FOR_SEMANTIC_CI_RELEASE }}
2 changes: 2 additions & 0 deletions .tool-versions
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# Need to use system python to access QGIS libraries
python system
2 changes: 2 additions & 0 deletions __init__.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
__version__ = "0.0.0"

import logging

from .plugin import OFDSDedupPlugin
Expand Down
3 changes: 3 additions & 0 deletions dev_requirements.in
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,6 @@ mypy>=1.8,<2
PyQt5-stubs
qgis-stubs
pip-tools
python-semantic-release
pyclean
jinja2-cli
75 changes: 63 additions & 12 deletions dev_requirements.txt
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
#
# This file is autogenerated by pip-compile with Python 3.10
# This file is autogenerated by pip-compile with Python 3.12
# by the following command:
#
# pip-compile dev_requirements.in
#
annotated-types==0.7.0
# via pydantic
astor==0.8.1
# via flake8-qgis
attrs==23.2.0
Expand All @@ -12,14 +14,22 @@ black==24.3.0
# via -r dev_requirements.in
build==1.2.1
# via pip-tools
certifi==2024.6.2
# via requests
charset-normalizer==3.3.2
# via requests
click==8.1.7
# via
# black
# click-option-group
# pip-tools
# python-semantic-release
click-option-group==0.5.6
# via python-semantic-release
coverage[toml]==7.4.4
# via pytest-cov
exceptiongroup==1.2.0
# via pytest
dotty-dict==1.3.1
# via python-semantic-release
flake8==7.0.0
# via
# -r dev_requirements.in
Expand All @@ -29,12 +39,32 @@ flake8-bugbear==24.2.6
# via -r dev_requirements.in
flake8-qgis==1.0.0
# via -r dev_requirements.in
gitdb==4.0.11
# via gitpython
gitpython==3.1.43
# via python-semantic-release
idna==3.7
# via requests
importlib-resources==6.4.0
# via python-semantic-release
iniconfig==2.0.0
# via pytest
isort==5.13.2
# via -r dev_requirements.in
jinja2==3.1.4
# via
# jinja2-cli
# python-semantic-release
jinja2-cli==0.8.2
# via -r dev_requirements.in
markdown-it-py==3.0.0
# via rich
markupsafe==2.1.5
# via jinja2
mccabe==0.7.0
# via flake8
mdurl==0.1.2
# via markdown-it-py
mypy==1.9.0
# via -r dev_requirements.in
mypy-extensions==1.0.0
Expand All @@ -54,10 +84,18 @@ platformdirs==4.2.0
# via black
pluggy==1.4.0
# via pytest
pyclean==3.0.0
# via -r dev_requirements.in
pycodestyle==2.11.1
# via flake8
pydantic==2.7.4
# via python-semantic-release
pydantic-core==2.18.4
# via pydantic
pyflakes==3.2.0
# via flake8
pygments==2.18.0
# via rich
pyproject-hooks==1.0.0
# via
# build
Expand All @@ -75,21 +113,34 @@ pytest-cov==5.0.0
# via -r dev_requirements.in
pytest-qgis==2.0.0
# via -r dev_requirements.in
python-gitlab==4.6.0
# via python-semantic-release
python-semantic-release==9.8.2
# via -r dev_requirements.in
qgis-stubs==0.2.0.post1
# via -r dev_requirements.in
tomli==2.0.1
requests==2.32.3
# via
# black
# build
# coverage
# mypy
# pip-tools
# pyproject-hooks
# pytest
# python-gitlab
# python-semantic-release
# requests-toolbelt
requests-toolbelt==1.0.0
# via python-gitlab
rich==13.7.1
# via python-semantic-release
shellingham==1.5.4
# via python-semantic-release
smmap==5.0.1
# via gitdb
tomlkit==0.12.5
# via python-semantic-release
typing-extensions==4.11.0
# via
# black
# mypy
# pydantic
# pydantic-core
urllib3==2.2.1
# via requests
wheel==0.43.0
# via pip-tools

Expand Down
73 changes: 73 additions & 0 deletions gui_style.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
# -*- coding: utf-8 -*-

# Form implementation generated from reading ui file 'gui_style.ui'
#
# Created by: PyQt5 UI code generator 5.15.10
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.


from PyQt5 import QtCore, QtGui, QtWidgets


class Ui_StyleOFDSDialog(object):
def setupUi(self, StyleOFDSDialog):
StyleOFDSDialog.setObjectName("StyleOFDSDialog")
StyleOFDSDialog.resize(457, 161)
self.gridLayout_2 = QtWidgets.QGridLayout(StyleOFDSDialog)
self.gridLayout_2.setObjectName("gridLayout_2")
self.gridLayout = QtWidgets.QGridLayout()
self.gridLayout.setObjectName("gridLayout")
self.spansComboBox = QtWidgets.QComboBox(StyleOFDSDialog)
self.spansComboBox.setObjectName("spansComboBox")
self.gridLayout.addWidget(self.spansComboBox, 3, 1, 1, 1)
self.line = QtWidgets.QFrame(StyleOFDSDialog)
self.line.setFrameShape(QtWidgets.QFrame.HLine)
self.line.setFrameShadow(QtWidgets.QFrame.Sunken)
self.line.setObjectName("line")
self.gridLayout.addWidget(self.line, 6, 2, 1, 1)
self.nodesLabel = QtWidgets.QLabel(StyleOFDSDialog)
self.nodesLabel.setMaximumSize(QtCore.QSize(100, 16777215))
self.nodesLabel.setObjectName("nodesLabel")
self.gridLayout.addWidget(self.nodesLabel, 2, 0, 1, 1)
self.nodesComboBox = QtWidgets.QComboBox(StyleOFDSDialog)
self.nodesComboBox.setObjectName("nodesComboBox")
self.gridLayout.addWidget(self.nodesComboBox, 2, 1, 1, 1)
self.closeButton = QtWidgets.QPushButton(StyleOFDSDialog)
self.closeButton.setObjectName("closeButton")
self.gridLayout.addWidget(self.closeButton, 7, 2, 1, 1)
self.spansApplyButton = QtWidgets.QPushButton(StyleOFDSDialog)
self.spansApplyButton.setMaximumSize(QtCore.QSize(100, 16777215))
self.spansApplyButton.setObjectName("spansApplyButton")
self.gridLayout.addWidget(self.spansApplyButton, 3, 2, 1, 1)
self.infoLabel = QtWidgets.QLabel(StyleOFDSDialog)
self.infoLabel.setObjectName("infoLabel")
self.gridLayout.addWidget(self.infoLabel, 0, 0, 1, 3)
self.nodesApplyButton = QtWidgets.QPushButton(StyleOFDSDialog)
self.nodesApplyButton.setMaximumSize(QtCore.QSize(100, 16777215))
self.nodesApplyButton.setObjectName("nodesApplyButton")
self.gridLayout.addWidget(self.nodesApplyButton, 2, 2, 1, 1)
self.spansLabel = QtWidgets.QLabel(StyleOFDSDialog)
self.spansLabel.setMaximumSize(QtCore.QSize(100, 16777215))
self.spansLabel.setObjectName("spansLabel")
self.gridLayout.addWidget(self.spansLabel, 3, 0, 1, 1)
self.refreshButton = QtWidgets.QPushButton(StyleOFDSDialog)
self.refreshButton.setObjectName("refreshButton")
self.gridLayout.addWidget(self.refreshButton, 7, 1, 1, 1)
self.gridLayout_2.addLayout(self.gridLayout, 1, 0, 1, 1)

self.retranslateUi(StyleOFDSDialog)
self.closeButton.pressed.connect(StyleOFDSDialog.close) # type: ignore
QtCore.QMetaObject.connectSlotsByName(StyleOFDSDialog)

def retranslateUi(self, StyleOFDSDialog):
_translate = QtCore.QCoreApplication.translate
StyleOFDSDialog.setWindowTitle(_translate("StyleOFDSDialog", "Style OFDS"))
self.nodesLabel.setText(_translate("StyleOFDSDialog", "Nodes Layer"))
self.closeButton.setText(_translate("StyleOFDSDialog", "Close"))
self.spansApplyButton.setText(_translate("StyleOFDSDialog", "Apply"))
self.infoLabel.setText(_translate("StyleOFDSDialog", "Apply styles to OFDS layers"))
self.nodesApplyButton.setText(_translate("StyleOFDSDialog", "Apply"))
self.spansLabel.setText(_translate("StyleOFDSDialog", "Spans Layer"))
self.refreshButton.setText(_translate("StyleOFDSDialog", "Refresh Layers"))
128 changes: 128 additions & 0 deletions gui_style.ui
Original file line number Diff line number Diff line change
@@ -0,0 +1,128 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>StyleOFDSDialog</class>
<widget class="QDialog" name="StyleOFDSDialog">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>457</width>
<height>161</height>
</rect>
</property>
<property name="windowTitle">
<string>Style OFDS</string>
</property>
<layout class="QGridLayout" name="gridLayout_2">
<item row="1" column="0">
<layout class="QGridLayout" name="gridLayout">
<item row="3" column="1">
<widget class="QComboBox" name="spansComboBox"/>
</item>
<item row="6" column="2">
<widget class="Line" name="line">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="nodesLabel">
<property name="maximumSize">
<size>
<width>100</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string>Nodes Layer</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QComboBox" name="nodesComboBox"/>
</item>
<item row="7" column="2">
<widget class="QPushButton" name="closeButton">
<property name="text">
<string>Close</string>
</property>
</widget>
</item>
<item row="3" column="2">
<widget class="QPushButton" name="spansApplyButton">
<property name="maximumSize">
<size>
<width>100</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string>Apply</string>
</property>
</widget>
</item>
<item row="0" column="0" colspan="3">
<widget class="QLabel" name="infoLabel">
<property name="text">
<string>Apply styles to OFDS layers</string>
</property>
</widget>
</item>
<item row="2" column="2">
<widget class="QPushButton" name="nodesApplyButton">
<property name="maximumSize">
<size>
<width>100</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string>Apply</string>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="spansLabel">
<property name="maximumSize">
<size>
<width>100</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string>Spans Layer</string>
</property>
</widget>
</item>
<item row="7" column="1">
<widget class="QPushButton" name="refreshButton">
<property name="text">
<string>Refresh Layers</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
<resources/>
<connections>
<connection>
<sender>closeButton</sender>
<signal>pressed()</signal>
<receiver>StyleOFDSDialog</receiver>
<slot>close()</slot>
<hints>
<hint type="sourcelabel">
<x>399</x>
<y>136</y>
</hint>
<hint type="destinationlabel">
<x>228</x>
<y>80</y>
</hint>
</hints>
</connection>
</connections>
</ui>
16 changes: 8 additions & 8 deletions metadata.txt
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
[general]
name=OFDS Consolidation Tool
description=A tool to consolidate multiple data sets formatted using the Open Fibre Data Standard
about=A tool to consolidate multiple data sets formatted using the Open Fibre Data Standard
version=0.1
qgisMinimumVersion=3.28
author=ODSC
[email protected]
[general]
name=OFDS Consolidation Tool
description=A tool to consolidate multiple data sets formatted using the Open Fibre Data Standard
about=A tool to consolidate multiple data sets formatted using the Open Fibre Data Standard
version=0.0.0
qgisMinimumVersion=3.28
author=ODSC
[email protected]
repository=https://github.com/Open-Telecoms-Data/ofds_consolidation_tool
Loading