Implementierung v0
All checks were successful
run tests / check (push) Successful in 27s
run tests / release (push) Successful in 15s

This commit is contained in:
2025-12-12 11:00:11 +01:00
parent bd50bef4ad
commit bf30b4defe
41 changed files with 2823 additions and 0 deletions

141
declare/action.yaml Normal file
View File

@@ -0,0 +1,141 @@
name: "declare project for release"
description: "start release configuration by declaring a project"
inputs:
filename:
required: false
default: ".gitea/release.yaml"
description: |
location of release.yaml file. will be ignored if version_descriptor is
set.
version_descriptor:
required: false
default: ""
configure_runner_environment:
required: false
default: true
repository:
required: false
default: "${{ github.repository }}"
gitea_instance:
required: false
default: "https://gitea.puzzleyou.net"
artefact_type:
required: false
description: "known types: oci_image, tarball, wheel, sdist, npm"
artefact_repository:
required: false
description: "allowed for oci_image, tarbal, wheel, sdist"
default: ""
artefact_name:
required: false
description: "required for oci_image"
default: ""
artefact_filename:
required: false
description: "required for tarball, sdist, wheel"
default: ""
artefact_package_name:
required: false
description: "required for tarball"
default: ""
artefact_directory:
required: false
description: "required for npm"
default: ""
artefact_version_descriptor:
required: false
description: "allowed for all"
default: ""
deployment_type:
required: false
description: "known types: helm_release"
deployment_release_name:
required: false
description: "helm release name"
default: ""
deployment_condition:
required: false
description: |
when should the deployment be updated?
choices: always, never, pre_release_only, release_only
default: ""
deployment_image_paths:
required: false
description: "space separated list of paths to image tags in helm values"
default: ""
deployment_namespace:
required: false
description: "kubernetes namespace of the release"
default: ""
deployment_repository:
required: false
description: "helm chart registry"
default: ""
runs:
using: composite
steps:
- if: inputs.configure_runner_environment == 'true'
uses: https://gitea.puzzleyou.net/actions/configure-runner-environment@master
- name: declare release project
run: |
if [[ ! -z "${RELEASE_PROJECT_CURRENT_VERSION}" ]]; then
echo "already set up."
exit 0
fi
nix run ${{ github.action_path }} -- \
declare \
--release-yaml-filename "${{ inputs.filename }}" \
--version-descriptor "${{ inputs.version_descriptor }}" \
--gitea-instance "${{ inputs.gitea_instance }}" \
--release-repository-name "${{ inputs.repository }}" \
--release-ref-name "${{ github.ref_name }}" \
--release-run-number "${{ github.run_number }}" \
--release-commit-sha "${{ github.sha }}" \
--write-env-vars-to-filename "$GITHUB_ENV"
if [[ ! -z "${{ inputs.artefact_type }}" ]]; then
nix run ${{ github.action_path }} -- \
add-artefact \
--state "${RELEASE_ACTION_STATEFILE}" \
--artefact-type "${{ inputs.artefact_type }}" \
--artefact-repository "${{ inputs.artefact_repository }}" \
--artefact-name "${{ inputs.artefact_name }}" \
--artefact-filename "${{ inputs.artefact_filename }}" \
--artefact-package-name "${{ inputs.artefact_package_name }}" \
--artefact-directory "${{ inputs.artefact_directory }}" \
--version-descriptor "${{ inputs.artefact_version_descriptor }}"
fi
if [[ ! -z "${{ inputs.deployment_type }}" ]]; then
nix run ${{ github.action_path }} -- \
add-deployment \
--state "${RELEASE_ACTION_STATEFILE}" \
--deployment-type "${{ inputs.deployment_type }}" \
--deployment-release-name "${{ inputs.deployment_release_name }}" \
--deployment-condition "${{ inputs.deployment_condition }}" \
--deployment-image-paths "${{ inputs.deployment_image_paths }}" \
--deployment-namespace "${{ inputs.deployment_namespace }}" \
--deployment-repository "${{ inputs.deployment_repository }}"
fi