Compare commits

...

16 commits
v1.0.0 ... main

Author SHA1 Message Date
e9933c4bed Merge pull request 'chore(deps): Update python:3.14-slim Docker digest to 2751cbe' (#5) from renovate/python-3.14-slim into main
Reviewed-on: #5
2025-12-12 21:38:44 +01:00
renovate.bot
f733b705a2 chore(deps): Update python:3.14-slim Docker digest to 2751cbe 2025-12-12 19:42:25 +00:00
d1a799d1c6 Merge pull request 'chore(deps): Update dependency urllib3 to ~=2.6.0' (#6) from renovate/urllib3-2.x into main
Reviewed-on: #6
2025-12-08 11:15:43 +01:00
renovate.bot
aac88fc4db chore(deps): Update dependency urllib3 to ~=2.6.0 2025-12-06 12:43:30 +00:00
3198d19f8b Update requirements.txt 2025-11-25 13:42:10 +01:00
622baf5089 Merge pull request 'chore(deps): Update python Docker tag to v3.14' (#3) from renovate/python-3.x into main
Reviewed-on: #3
2025-11-25 13:39:25 +01:00
renovate.bot
2f1a1d4777 chore(deps): Update python Docker tag to v3.14 2025-11-25 12:22:02 +00:00
d9004715ca Update renovate.json 2025-11-25 13:20:24 +01:00
085dd46afc Update renovate.json 2025-11-25 13:18:06 +01:00
2128742b51 Add renovate.json 2025-11-25 13:05:01 +01:00
2aa3fdc84d Update release_drafter.py 2025-08-21 10:26:33 +02:00
96a1977368 Update release_drafter.py 2025-08-21 10:18:42 +02:00
76ca009d05 Update action.yaml 2025-08-21 10:13:45 +02:00
e6bb11d2ea Update release_drafter.py 2025-08-21 10:13:09 +02:00
f75472ecd0 Update entrypoint.sh 2025-08-21 10:11:31 +02:00
0dce7aa37f Update release_drafter.py 2025-08-21 10:05:42 +02:00
6 changed files with 38 additions and 21 deletions

View file

@ -1,4 +1,4 @@
FROM python:3.11-slim
FROM python:3.14-slim@sha256:2751cbe93751f0147bc1584be957c6dd4c5f977c3d4e0396b56456a9fd4ed137
# Install deps
COPY requirements.txt .

View file

@ -1,13 +1,13 @@
name: "Forgejo Release Drafter"
description: "Custom action that drafts releases in Forgejo using a Python script"
inputs:
forgejo-token:
description: "API token for Forgejo"
token:
description: "Forgejo API token"
required: true
repo:
description: "Forgejo repo (e.g. org/project)"
required: true
api-endpoint:
endpoint:
description: "Forgejo api endpoint (e.g. https://<your-domain>/api/v1)"
required: true
outputs:

View file

@ -1,7 +1,4 @@
#!/bin/sh
set -e
python /release_drafter.py \
--token "${INPUT_FORGEJO_TOKEN}" \
--repo "${INPUT_REPO}" \
--endpoint "${INPUT_API_ENDPOINT}"
python /release_drafter.py

View file

@ -1,6 +1,5 @@
import os
import re
import argparse
from dataclasses import dataclass, field
from datetime import datetime
from datetime import timezone
@ -11,6 +10,10 @@ import semver
from requests.adapters import HTTPAdapter
from urllib3 import Retry
print("DEBUG: env vars seen by Python")
for k, v in os.environ.items():
if k.startswith("INPUT_"):
print(f"{k}={v}")
@dataclass
@ -46,16 +49,10 @@ class ReleaseManager:
@staticmethod
def validate_environment() -> Dict[str, str]:
"""Validate all required environment variables are present."""
parser = argparse.ArgumentParser()
parser.add_argument("--token", required=True)
parser.add_argument("--repo", required=True)
parser.add_argument("--endpoint", required=True)
args = parser.parse_args()
required_vars = {
"FORGEJO_API_URL": args.endpoint,
"REPO": args.repo,
"FORGEJO_TOKEN": args.token,
"FORGEJO_API_URL": os.getenv("INPUT_ENDPOINT"),
"REPO": os.getenv("INPUT_REPO"),
"FORGEJO_TOKEN": os.getenv("INPUT_TOKEN"),
}
missing_vars = [var for var, value in required_vars.items() if not value]
@ -469,7 +466,9 @@ Compare with previous version: [{previous_tag}...{new_tag}]({url_base}/{self.rep
release_notes, latest_tag, comparison_tag
)
url = self.create_or_update_release(comparison_tag, release_notes, existing_draft)
print(f"::set-output name=release-url::{url}")
with open(os.environ["GITHUB_OUTPUT"], "a") as gh_out:
gh_out.write(f"release-url={url}\n")
except Exception as e:
print(f"An error occurred: {str(e)}")

20
renovate.json Normal file
View file

@ -0,0 +1,20 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [
"local>entwirr.me/renovate-config"
],
"commitMessagePrefix": "chore(deps):",
"enabledManagers": ["dockerfile", "github-actions", "pip_requirements"],
"rangeStrategy": "update-lockfile",
"updatePinnedDependencies": true,
"packageRules": [
{
"matchPackageNames": ["*"],
"matchUpdateTypes": ["major", "minor", "patch", "pin", "digest"]
},
{
"matchManagers": ["composer", "github-actions", "pip_requirements"],
"addLabels": ["chore"]
}
]
}

View file

@ -1,2 +1,3 @@
requests
semver
requests~=2.32.5
semver~=3.0.4
urllib3~=2.6.0