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,56 @@
name: github-query-nuget-versions-latest
description: "Get the latest version of a NuGet package."
inputs:
url:
description: "Url of the GitHub server instance."
required: true
default: ${{ github.server_url }}
organization:
description: "Organization to search."
required: true
default: ${{ github.repository_owner }}
apiToken:
description: "Api Token for GitHub."
required: true
default: ${{ github.token }}
prerelease:
description: "Show 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/github/github-query-nuget-versions@master
with:
url: ${{ inputs.url }}
organization: ${{ inputs.organization }}
apiToken: ${{ inputs.apiToken }}
prerelease: ${{ inputs.prerelease }}
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 }}

View File

@@ -0,0 +1,48 @@
name: github-query-nuget-versions
description: "Get the versions of a NuGet package."
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 }}
prerelease:
description: "Show prerelease packages. Values: true, false."
required: false
default: "false"
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/github/github-query-nuget@master
with:
url: ${{ inputs.url }}
organization: ${{ inputs.organization }}
apiToken: ${{ inputs.apiToken }}
prerelease: ${{ inputs.prerelease }}
name: ${{ inputs.name }}
additionalArgs: ${{ inputs.additionalArgs }}
- name: "Parse query result."
id: parse
uses: act/common/yq/yq-expression@master
with:
expression: .data[] | select(.id == "${{ inputs.name }}").versions[].version
input: ${{ steps.query.outputs.query }}

View File

@@ -0,0 +1,56 @@
name: github-query-nuget
description: "Make a query to the GitHub NuGet api."
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 }}
prerelease:
description: "Show prerelease packages. Values: true, false."
required: false
default: "false"
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="/_registry/nuget/${{ inputs.organization }}/query?"
NAME="${{ inputs.name }}"
PRERELEASE="${{ inputs.prerelease }}"
if [[ "$PRERELEASE" == "true" ]]; then
ROUTE="${ROUTE}prerelease=true&"
fi
if [[ -n "$NAME" ]]; then
ROUTE="${ROUTE}q=$NAME"
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,54 @@
name: github-query
description: "Make a query to GitHub."
inputs:
url:
description: "Url of the GitHub server repository."
required: true
default: ${{ github.server_url }}
route:
description: "Route of the api to call."
required: false
default: ""
apiToken:
description: "Api Token to for GitHub."
required: false
default: ${{ github.token }}
additionalArgs:
description: "Additional arguments to pass into curl."
required: false
outputs:
query:
description: "The query result."
value: ${{ steps.query.outputs.console }}
runs:
using: "composite"
steps:
- name: "Build and run query."
id: query
run: |
URL_ROOT="${{ inputs.url }}"
# Remove any trailing slash from the url root
URL_ROOT=${URL_ROOT%/}
# Remove any leading slash from the route
ROUTE="${{ inputs.route }}"
ROUTE=${ROUTE#/}
FULL_URL="$URL_ROOT/$ROUTE"
QUERY="curl -sL \"$FULL_URL\" ${{ inputs.additionalArgs }}"
TOKEN="${{ inputs.apiToken }}"
if [[ -n "$TOKEN" ]]; then
QUERY="$QUERY -H \"Authorization: token $TOKEN\""
fi
OUTPUT=$(eval "$QUERY")
RESULT=$?
if [[ -n "$OUTPUT" ]]; then
echo "console<<EOF" >> "$GITHUB_OUTPUT"
echo "$OUTPUT" >> "$GITHUB_OUTPUT"
echo "EOF" >> "$GITHUB_OUTPUT"
fi
exit $RESULT
shell: bash