This commit is contained in:
Louis Seubert 2026-02-12 21:18:29 +01:00
commit f1d7d6accc
Signed by: louis9902
GPG key ID: 4B9DB28F826553BD
33 changed files with 1676 additions and 0 deletions

17
module/release/README.md Normal file
View file

@ -0,0 +1,17 @@
# release
## Usage
```yml
uses: actions/core/module/release@1.0.0
with:
repository: ${{ github.server_url }}/${{ github.repository }}
version: ${{ github.ref_name }}
draft: false # or pattern to match agains version e.g. '\d+\.\d+\.\d+'
prerelease: false # or pattern to match agains version e.g. '.*-rc\.\d+'
title: Release ${{ github.ref_name }}
notes: ${{ steps.changelog.outputs.changelog }}
attachments: |
${{ github.workspace }}/build/*.zip
!${{ github.workspace }}/build/exclude-*.zip
```

69
module/release/action.yml Normal file
View file

@ -0,0 +1,69 @@
# SPDX-License-Identifier: EUPL-1.2
name: "Release"
description: "Create a release from a Git tag and attache file artifacts"
author: "Louis Seubert"
inputs:
repository:
required: false
description: >
The owner and repository name seperated by a slash of the repository in which
the release should be created. The repository must be on the same instance as
the action is running on.
default: "${{ github.server_url }}/${{ github.repository }}"
version:
required: false
description: >
The tag name of the git tag for which the release should be created and to which
the artifacts should be attached to.
default: "${{ github.ref_name }}"
draft:
required: false
description: >
A boolean value or a regex pattern which will be evaluated against the version
to determine if the created release will be saved as draft.
default: "false"
prerelease:
required: false
description: >
A boolean value or a regex pattern which will be evaluated against the version
to determine if the created release will be marked as pre-release.
default: "false"
title:
required: false
description: >
The title of the created release. Leave this empty to use the label of the
referenced git tag.
notes:
required: false
description: >
The message of the created release. Leave this empty to use the notes of the
referenced git tag.
attachments:
required: false
description: >
Paths to files which will be attached to the release. Can be multiple lines
with file system globbing patterns. A line starting with ! will negate the
pattern and act as exclude pattern.
runs:
using: 'docker'
image: 'code.geekeey.de/actions/core:1.0.0'
args:
- '--server'
- '${{ github.server_url }}'
- '--token'
- '${{ github.token }}'
- 'release'
- '--repository'
- '${{ inputs.repository }}'
- '--version'
- '${{ inputs.version }}'
- '--draft'
- '${{ inputs.draft }}'
- '--prerelease'
- '${{ inputs.prerelease }}'
- '--title'
- '${{ inputs.title }}'
- '--notes'
- '${{ inputs.notes }}'
- '--attachments'
- '${{ inputs.attachments }}'