1 Commits

Author SHA1 Message Date
5d085b79cc WIP 2
All checks were successful
run tests / check (push) Successful in 36s
run tests / release (push) Successful in 25s
2025-12-11 11:30:41 +01:00
6 changed files with 60 additions and 34 deletions

View File

@@ -1 +1 @@
version_descriptor: setup.py
version_descriptor: pyproject.toml

23
flake.lock generated
View File

@@ -34,10 +34,31 @@
"type": "github"
}
},
"pyproject-nix": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1764134915,
"narHash": "sha256-xaKvtPx6YAnA3HQVp5LwyYG1MaN4LLehpQI8xEdBvBY=",
"owner": "pyproject-nix",
"repo": "pyproject.nix",
"rev": "2c8df1383b32e5443c921f61224b198a2282a657",
"type": "github"
},
"original": {
"owner": "pyproject-nix",
"repo": "pyproject.nix",
"type": "github"
}
},
"root": {
"inputs": {
"flake-utils": "flake-utils",
"nixpkgs": "nixpkgs"
"nixpkgs": "nixpkgs",
"pyproject-nix": "pyproject-nix"
}
},
"systems": {

View File

@@ -4,22 +4,23 @@
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.05";
flake-utils.url = "github:numtide/flake-utils";
pyproject-nix = {
url = "github:pyproject-nix/pyproject.nix";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = { self, nixpkgs, flake-utils, ... }:
outputs = { self, nixpkgs, flake-utils, pyproject-nix }:
flake-utils.lib.eachDefaultSystem (system:
let
pkgs = import nixpkgs { inherit system; };
python = pkgs.python313.withPackages (ps: with ps; [
isort
flake8
semver
toml
requests
pyyaml
packaging
]);
pythonProject = pyproject-nix.lib.project.loadPyproject {
projectRoot = ./.;
};
pythonInterpreter = pkgs.python313;
pythonPackage = pkgs.python3Packages.buildPythonPackage {
name = "release-action";
@@ -32,24 +33,18 @@
pkgs.envsubst
pkgs.just
pkgs.gitea-actions-runner
python
(pythonInterpreter.withPackages
(pythonProject.renderers.withPackages {
python = pythonInterpreter;
extraPackages = ps: with ps; [ flake8 isort ];
}))
];
};
packages.default = pkgs.writers.writePython3Bin
"release-action"
{
libraries = with pkgs.python3Packages; [
semver # TODO move to setup.py?
toml
requests
pythonPackage
pyyaml
packaging
];
}
(builtins.readFile ./src/main.py)
;
packages.default = pythonInterpreter.pkgs.buildPythonPackage (
pythonProject.renderers.buildPythonPackage {
python = pythonInterpreter;
});
}
);
}

16
pyproject.toml Normal file
View File

@@ -0,0 +1,16 @@
[project]
name = "gitea-release-action"
version = "0.0.1"
description = "reusable action for release workflows"
authors = [ ]
requires-python = ">=3.13"
dependencies = [
"semver",
"toml",
"requests",
"pyyaml",
"packaging"
]
[project.scripts]
gitea-release-action = "main:main_cli"

View File

@@ -1,6 +0,0 @@
from setuptools import setup
setup(
name='release-action',
version='0.0.1',
)

View File

@@ -248,7 +248,7 @@ def sync_versions(project_description: ProjectDescription):
sync(artefact.version_descriptor)
if __name__ == '__main__':
def main_cli():
parser = ArgumentParser()
parser.add_argument('action', choices=[
'declare',