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

View file

@ -0,0 +1,13 @@
# artifact-pull
## Usage
```yml
uses: actions/core/module/artifact-pull@1.0.0
with:
name: artifact
pattern: |
build/**/*
!build/exclude-*
run-id: 0001
```

View file

@ -0,0 +1,38 @@
# SPDX-License-Identifier: EUPL-1.2
name: "Release"
description: "Pull build artifacts from the pipeline artifact storage"
author: "Louis Seubert"
inputs:
name:
required: true
description: >
The name of the artifact to download. The name is used to identify the artifact in the
artifact storage and must be unique within the repository.
pattern:
required: false
description: >
Paths of files which will be extracted from the artifact. Can be multiple lines with file system globbing
patterns. A line starting with ! will negate the pattern and act as exclude pattern. If this input is not provided,
all files of the artifact will be extracted.
run-id:
required: false
description: >
The id of the workflow run from which the artifact should be downloaded. If this input is not provided, the
artifact from the current workflow run will be downloaded.
default: "${{ github.run_id }}"
runs:
using: 'docker'
image: 'code.geekeey.de/actions/core:1.0.0'
args:
- '--server'
- '${{ github.server_url }}'
- '--token'
- '${{ github.token }}'
- 'artifact'
- 'pull'
- '--name'
- '${{ inputs.name }}'
- '--pattern'
- '${{ inputs.pattern }}'
- '--run-id'
- '${{ inputs.run-id }}'

View file

@ -0,0 +1,16 @@
# artifact-push
## Usage
```yml
uses: actions/core/module/artifact-push@1.0.0
with:
name: artifact
path: |
build/**/*
!build/exclude-*
compression: 0
retention-days: 30
overwrite: false
include-hidden-files: false
```

View file

@ -0,0 +1,54 @@
# SPDX-License-Identifier: EUPL-1.2
name: "Release"
description: "Push build artifacts to the pipeline artifact storage"
author: "Louis Seubert"
inputs:
name:
required: true
description: >
The name of the artifact to upload. The name is used to identify the artifact in the
artifact storage and must be unique within the repository.
pattern:
required: true
description: >
Paths to files which will be uploaded as artifact. Can be multiple lines with file system
globbing patterns. A line starting with ! will negate the pattern and act as exclude
pattern.
retention-days:
required: false
description: >
The number of days to keep the artifact in the artifact storage. After this period, the artifact will be
automatically deleted. The default is 0 days which is the defaul value of the runner.
default: 0
overwrite:
required: false
description: >
Whether an artifact with the same name should be overwritten if it already exists in the artifact storage.
The default is false.
default: "false"
include-hidden:
required: false
description: >
Whether hidden files should be included in the artifact. A hidden file is a file which
starts with a dot (.) and is not the current or parent directory. Default is false.
default: "false"
runs:
using: 'docker'
image: 'code.geekeey.de/actions/core:1.0.0'
args:
- '--server'
- '${{ github.server_url }}'
- '--token'
- '${{ github.token }}'
- 'artifact'
- 'push'
- '--name'
- '${{ inputs.name }}'
- '--pattern'
- '${{ inputs.pattern }}'
- '--retention-days'
- '${{ inputs.retention-days }}'
- '--overwrite'
- '${{ inputs.overwrite }}'
- '--include-hidden'
- '${{ inputs.include-hidden }}'

11
module/checkout/README.md Normal file
View file

@ -0,0 +1,11 @@
# checkout
## Usage
```yml
uses: actions/core/module/checkout@1.0.0
with:
repository: ${{ github.server_url }}/${{ github.repository }}.git
path: ${{github.workspace}}
ref: ${{ github.ref || github.sha }}
```

View file

@ -0,0 +1,35 @@
# SPDX-License-Identifier: EUPL-1.2
name: "Checkout"
description: "Checkout a Git repository at a particular version"
author: "Louis Seubert"
inputs:
repository:
required: false
description: >
The path to the repository to checkout. Must be accessible with the
pipeline token or publicly. Can be either an HTTPS or SSH URL.
default: "${{ github.server_url }}/${{ github.repository }}.git"
path:
required: false
description: >
The directory to checkout the repository into. If the directory does not
exist, it will be created.
default: "${{ github.workspace }}"
ref:
required: false
description: >
The branch, tag or SHA to checkout. When checking out the repository that
triggered a workflow, this defaults to the reference or SHA for that
event. Otherwise, uses the default branch.
default: "${{ github.ref || github.sha }}"
runs:
using: 'docker'
image: 'docker://code.geekeey.de/actions/core:1.0.0'
args:
- 'checkout'
- '--repository'
- '${{ inputs.repository }}'
- '--path'
- '${{ inputs.path }}'
- '--reference'
- '${{ inputs.ref }}'

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 }}'