Added many, many more actions.

This commit is contained in:
2025-06-24 15:24:16 -07:00
parent 62fbe4dead
commit 57ef232d2b
108 changed files with 4212 additions and 7 deletions

View File

@@ -0,0 +1,89 @@
name: gitea-get-next-branched-version
description: "Get the next version of a Gitea package based on the current branch status."
inputs:
name:
description: "The name of the package."
required: true
defaultVersion:
description: "Default version to use."
required: true
default: 1.0.0
url:
description: "Url of the Gitea server instance."
required: true
default: ${{ github.server_url }}
organization:
description: "Organization to search."
required: true
default: ${{ github.repository_owner }}
apiToken:
description: "Api Token for Gitea."
required: true
default: ${{ github.token }}
type:
description: "The type of package to search for."
required: false
default: ""
page:
description: "The page number of results to return."
required: false
default: ""
limit:
description: "The page size of results."
required: false
default: ""
prerelease:
description: "Query prerelease packages. Values: true, false."
required: false
default: "${{ github.event_name == 'pull_request' }}"
outputs:
latestVersion:
description: "The current latest version for the .nupkg."
value: ${{ steps.version.outputs.version || steps.packageFallback.outputs.version }}
nextVersion:
description: "The next version for the .nupkg file."
value: ${{ steps.version.outputs.nextVersion }}
runs:
using: "composite"
steps:
- name: "Get the base version for the package."
uses: act/common/utils/version-increment-branch@master
id: base
with:
version: ${{ inputs.defaultVersion }}
- run: echo "${{ steps.base.outputs.majorMinorPatchVersion }}"
- name: "Get versions."
id: package
uses: act/common/gitea/gitea-query-package-versions-latest@master
with:
url: ${{ inputs.url }}
organization: ${{ inputs.organization }}
apiToken: ${{ inputs.apiToken }}
type: ${{ inputs.type }}
page: ${{ inputs.page }}
limit: ${{ inputs.limit }}
name: ${{ inputs.name }}
filter: ^${{ steps.base.outputs.baseVersion }}
prerelease: ${{ inputs.prerelease }}
- name: "If no version is found, get the latest version for the package if we didn't already look for it."
uses: act/common/gitea/gitea-query-package-versions-latest@master
id: packageFallback
if: ${{ steps.version.outputs.version == '' && inputs.prerelease != 'false' }}
with:
url: ${{ inputs.url }}
organization: ${{ inputs.organization }}
apiToken: ${{ inputs.apiToken }}
type: ${{ inputs.type }}
page: ${{ inputs.page }}
limit: ${{ inputs.limit }}
name: ${{ inputs.name }}
filter: ^${{ steps.base.outputs.majorMinorPatchVersion }}
prerelease: false
- run: echo "${{ steps.version.outputs.version == '' }}" AND "${{ inputs.prerelease != 'false' }}"
- if: ${{ steps.version.outputs.version == '' && inputs.prerelease != 'false' }}
run: echo "${{ steps.packageFallback.outputs.version }}"
- name: "Get the next version for the package."
uses: act/common/utils/version-increment-branch@master
id: version
with:
version: ${{ steps.package.outputs.version || steps.packageFallback.outputs.version || inputs.defaultVersion }}

View File

@@ -0,0 +1,71 @@
name: gitea-query-package-versions-latest
description: "Get the latest version of a package."
inputs:
url:
description: "Url of the Gitea server instance."
required: true
default: ${{ github.server_url }}
organization:
description: "Organization to search."
required: true
default: ${{ github.repository_owner }}
apiToken:
description: "Api Token for Gitea."
required: true
default: ${{ github.token }}
type:
description: "The type of package to search for."
required: false
default: ""
page:
description: "The page number of results to return."
required: false
default: ""
limit:
description: "The page size of results."
required: false
default: ""
prerelease:
description: "Whether to include prerelease packages. Values: true, false."
required: false
default: "false"
name:
description: "Name of a specific package."
required: true
filter:
description: "String to filter by."
required: false
filterIsExpression:
description: "Is the first filter a Regular Expression? Values: true, false."
required: false
default: "false"
additionalArgs:
description: "Additional arguments to pass into curl."
required: false
outputs:
version:
description: "The latest version of the specified package."
value: ${{ steps.parse.outputs.version }}
runs:
using: "composite"
steps:
- name: "Get versions."
id: versions
uses: act/common/gitea/gitea-query-package-versions@master
with:
url: ${{ inputs.url }}
organization: ${{ inputs.organization }}
apiToken: ${{ inputs.apiToken }}
type: ${{ inputs.type }}
page: ${{ inputs.page }}
limit: ${{ inputs.limit }}
name: ${{ inputs.name }}
additionalArgs: ${{ inputs.additionalArgs }}
- name: "Parse query result."
id: parse
uses: act/common/utils/get-latest-version@master
with:
versions: ${{ steps.versions.outputs.versions }}
filter: ${{ inputs.filter }}
filterIsExpression: ${{ inputs.filterIsExpression }}
stripPrerelease: ${{ inputs.prerelease == 'false' }}

View File

@@ -0,0 +1,58 @@
name: github-query-nuget-versions
description: "Change the language format of a file."
inputs:
url:
description: "Url of the GitHub server repository."
required: true
default: ${{ github.server_url }}
organization:
description: "Organization to search."
required: true
default: ${{ github.repository_owner }}
apiToken:
description: "Api Token to for GitHub."
required: true
default: ${{ github.token }}
type:
description: "The type of package to search for."
required: false
default: ""
page:
description: "The page number of results to return."
required: false
default: ""
limit:
description: "The page size of results."
required: false
default: ""
name:
description: "Name of a specific package."
required: true
additionalArgs:
description: "Additional arguments to pass into curl."
required: false
outputs:
versions:
description: "The versions of the specified package."
value: ${{ steps.parse.outputs.result }}
runs:
using: "composite"
steps:
- name: "Build and run query."
id: query
uses: act/common/gitea/gitea-query-packages@master
with:
url: ${{ inputs.url }}
organization: ${{ inputs.organization }}
apiToken: ${{ inputs.apiToken }}
type: ${{ inputs.type }}
page: ${{ inputs.page }}
limit: ${{ inputs.limit }}
name: ${{ inputs.name }}
additionalArgs: ${{ inputs.additionalArgs }}
- name: "Parse query result."
id: parse
uses: act/common/yq/yq-expression@master
with:
expression: .[] | select(.name == "${{ inputs.name }}").version
input: ${{ steps.query.outputs.query }}

View File

@@ -0,0 +1,73 @@
name: gitea-query-packages
description: "Change the language format of a file."
inputs:
url:
description: "Url of the Gitea server repository."
required: true
default: ${{ github.server_url }}
organization:
description: "Organization to search."
required: true
default: ${{ github.repository_owner }}
apiToken:
description: "Api Token to for Gitea."
required: true
default: ${{ github.token }}
type:
description: "The type of package to search for."
required: false
default: ""
page:
description: "The page number of results to return."
required: false
default: ""
limit:
description: "The page size of results."
required: false
default: ""
name:
description: "Name of a specific package."
required: false
default: ""
additionalArgs:
description: "Additional arguments to pass into curl."
required: false
outputs:
query:
description: "The query result."
value: ${{ steps.query.outputs.query }}
runs:
using: "composite"
steps:
- name: "Build route."
id: route
run: |
ROUTE="/api/v1/packages/${{ inputs.organization }}?"
NAME="${{ inputs.name }}"
TYPE="${{ inputs.type }}"
PAGE="${{ inputs.page }}"
LIMIT="${{ inputs.limit }}"
if [[ -n "$NAME" ]]; then
ROUTE="${ROUTE}q=$NAME&"
fi
if [[ -n "$TYPE" ]]; then
ROUTE="${ROUTE}type=$TYPE&"
fi
if [[ -n "$PAGE" ]]; then
ROUTE="${ROUTE}page=$PAGE&"
fi
if [[ -n "$LIMIT" ]]; then
ROUTE="${ROUTE}limit=$LIMIT&"
fi
echo "route=$ROUTE" >> "$GITHUB_OUTPUT"
shell: bash
- name: "Build and run query."
id: query
uses: act/common/github/github-query@master
with:
url: ${{ inputs.url }}
route: ${{ steps.route.outputs.route }}
apiToken: ${{ inputs.apiToken }}
additionalArgs: ${{ inputs.additionalArgs }}

View File

@@ -0,0 +1,69 @@
name: gitea-upload-generic-package
description: "Upload a generic package to Gitea."
inputs:
url:
description: "Url of the Gitea server repository."
required: true
default: ${{ github.server_url }}
organization:
description: "Organization to upload the package to."
required: true
default: ${{ github.repository_owner }}
apiToken:
description: "Api Token to for Gitea."
required: true
default: ${{ github.token }}
version:
description: "The version of package to upload."
required: false
default: ""
name:
description: "Name of the package."
required: false
default: ""
file:
description: "Path of the file to upload."
required: false
default: ""
filename:
description: "Name to upload the file as. Defaults to the basename of the file."
required: false
default: ""
additionalArgs:
description: "Additional arguments to pass into curl."
required: false
outputs:
query:
description: "The query result."
value: ${{ steps.query.outputs.query }}
runs:
using: "composite"
steps:
- name: "Get filename."
id: file
run: |
FILE="${{ inputs.filename }}"
if [[ -z "$FILE" ]]; then
FILE="${{ inputs.file }}"
fi
FILE=$(basename "$FILE")
echo "file=$FILE" >> "$GITHUB_OUTPUT"
shell: bash
- uses: act/common/utils/urlencode@master
id: url
with:
input: ${{ steps.file.outputs.file }}
- name: "Build route."
id: route
run: |
ROUTE="/api/packages/${{ inputs.organization }}/generic/${{ inputs.name }}/${{ inputs.version }}/${{ steps.url.outputs.result }}"
echo "route=$ROUTE" >> "$GITHUB_OUTPUT"
shell: bash
- name: "Build and run query."
id: query
uses: act/common/github/github-query@master
with:
url: ${{ inputs.url }}
route: ${{ steps.route.outputs.route }}
apiToken: ${{ inputs.apiToken }}
additionalArgs: --upload-file "${{ inputs.file }}" ${{ inputs.additionalArgs }}