Removed npm-specific version checking.
This commit is contained in:
@@ -1,8 +1,8 @@
|
|||||||
name: github-query-nuget-versions
|
name: github-query-package-versions
|
||||||
description: "Change the language format of a file."
|
description: "Change the language format of a file."
|
||||||
inputs:
|
inputs:
|
||||||
url:
|
url:
|
||||||
description: "Url of the GitHub server repository."
|
description: "Url of the GitHub or Gitea server repository."
|
||||||
required: true
|
required: true
|
||||||
default: ${{ github.server_url }}
|
default: ${{ github.server_url }}
|
||||||
organization:
|
organization:
|
||||||
@@ -53,6 +53,6 @@ runs:
|
|||||||
- name: "Parse query result."
|
- name: "Parse query result."
|
||||||
id: parse
|
id: parse
|
||||||
uses: act/common/yq/yq-expression@master
|
uses: act/common/yq/yq-expression@master
|
||||||
with:
|
with:
|
||||||
expression: .[] | select(.name == "${{ inputs.name }}").version
|
expression: .[] | select(.name == "${{ inputs.name }}").version
|
||||||
input: ${{ steps.query.outputs.query }}
|
input: ${{ steps.query.outputs.query }}
|
||||||
|
|||||||
@@ -8,13 +8,18 @@ inputs:
|
|||||||
description: "Default version to use."
|
description: "Default version to use."
|
||||||
required: true
|
required: true
|
||||||
default: "1.0.0"
|
default: "1.0.0"
|
||||||
registry:
|
url:
|
||||||
description: "NPM registry URL."
|
description: "URL of the Gitea server instance."
|
||||||
required: false
|
required: false
|
||||||
default: ${{ github.server_url }}/api/packages/${{ github.repository_owner }}/npm/
|
default: ${{ github.server_url }}
|
||||||
|
organization:
|
||||||
|
description: "Organization to search."
|
||||||
|
required: false
|
||||||
|
default: ${{ github.repository_owner }}
|
||||||
apiKey:
|
apiKey:
|
||||||
description: "Authentication token for the registry."
|
description: "API token for Gitea."
|
||||||
required: true
|
required: true
|
||||||
|
default: ${{ github.token }}
|
||||||
prerelease:
|
prerelease:
|
||||||
description: "Query prerelease packages. Values: true, false."
|
description: "Query prerelease packages. Values: true, false."
|
||||||
required: false
|
required: false
|
||||||
@@ -26,7 +31,7 @@ inputs:
|
|||||||
outputs:
|
outputs:
|
||||||
latestVersion:
|
latestVersion:
|
||||||
description: "The current latest version for the package."
|
description: "The current latest version for the package."
|
||||||
value: ${{ steps.npm.outputs.version || steps.npmFallback.outputs.version }}
|
value: ${{ steps.gitea.outputs.version || steps.giteaFallback.outputs.version }}
|
||||||
nextVersion:
|
nextVersion:
|
||||||
description: "The next version for the package."
|
description: "The next version for the package."
|
||||||
value: ${{ steps.version.outputs.nextVersion }}
|
value: ${{ steps.version.outputs.nextVersion }}
|
||||||
@@ -38,27 +43,33 @@ runs:
|
|||||||
id: base
|
id: base
|
||||||
with:
|
with:
|
||||||
version: ${{ inputs.defaultVersion }}
|
version: ${{ inputs.defaultVersion }}
|
||||||
- uses: act/common/npm/npm-query-versions-latest@master
|
- uses: act/common/gitea/gitea-query-package-versions-latest@master
|
||||||
id: npm
|
id: gitea
|
||||||
with:
|
with:
|
||||||
name: ${{ inputs.name }}
|
name: ${{ inputs.name }}
|
||||||
registry: ${{ inputs.registry }}
|
url: ${{ inputs.url }}
|
||||||
apiKey: ${{ inputs.apiKey }}
|
organization: ${{ inputs.organization }}
|
||||||
|
apiToken: ${{ inputs.apiKey }}
|
||||||
|
type: npm
|
||||||
filter: ^${{ steps.base.outputs.baseVersion }}
|
filter: ^${{ steps.base.outputs.baseVersion }}
|
||||||
|
filterIsExpression: "true"
|
||||||
prerelease: ${{ inputs.prerelease }}
|
prerelease: ${{ inputs.prerelease }}
|
||||||
- name: "If no version is found, get the latest version for the package if we didn't already look for it."
|
- name: "If no version is found, get the latest version for the package if we didn't already look for it."
|
||||||
uses: act/common/npm/npm-query-versions-latest@master
|
uses: act/common/gitea/gitea-query-package-versions-latest@master
|
||||||
id: npmFallback
|
id: giteaFallback
|
||||||
if: ${{ steps.npm.outputs.version == '' && inputs.prerelease != 'false' }}
|
if: ${{ steps.gitea.outputs.version == '' && inputs.prerelease != 'false' }}
|
||||||
with:
|
with:
|
||||||
name: ${{ inputs.name }}
|
name: ${{ inputs.name }}
|
||||||
registry: ${{ inputs.registry }}
|
url: ${{ inputs.url }}
|
||||||
apiKey: ${{ inputs.apiKey }}
|
organization: ${{ inputs.organization }}
|
||||||
|
apiToken: ${{ inputs.apiKey }}
|
||||||
|
type: npm
|
||||||
filter: ^${{ steps.base.outputs.majorMinorPatchVersion }}
|
filter: ^${{ steps.base.outputs.majorMinorPatchVersion }}
|
||||||
|
filterIsExpression: "true"
|
||||||
prerelease: "false"
|
prerelease: "false"
|
||||||
- name: "Get the next version for the package."
|
- name: "Get the next version for the package."
|
||||||
uses: act/common/utils/version-increment-branch@master
|
uses: act/common/utils/version-increment-branch@master
|
||||||
id: version
|
id: version
|
||||||
with:
|
with:
|
||||||
incrementMode: ${{ inputs.incrementMode }}
|
incrementMode: ${{ inputs.incrementMode }}
|
||||||
version: ${{ steps.npm.outputs.version || steps.npmFallback.outputs.version || inputs.defaultVersion }}
|
version: ${{ steps.gitea.outputs.version || steps.giteaFallback.outputs.version || inputs.defaultVersion }}
|
||||||
|
|||||||
@@ -1,46 +0,0 @@
|
|||||||
name: npm-query-versions-latest
|
|
||||||
description: "Get the latest version of an NPM package."
|
|
||||||
inputs:
|
|
||||||
name:
|
|
||||||
description: "Name of the package."
|
|
||||||
required: true
|
|
||||||
registry:
|
|
||||||
description: "NPM registry URL."
|
|
||||||
required: false
|
|
||||||
default: ${{ github.server_url }}/api/packages/${{ github.repository_owner }}/npm/
|
|
||||||
apiKey:
|
|
||||||
description: "Authentication token for the registry."
|
|
||||||
required: true
|
|
||||||
prerelease:
|
|
||||||
description: "Include prerelease packages. Values: true, false."
|
|
||||||
required: false
|
|
||||||
default: "false"
|
|
||||||
filter:
|
|
||||||
description: "String to filter by."
|
|
||||||
required: false
|
|
||||||
filterIsExpression:
|
|
||||||
description: "Is the filter a Regular Expression? Values: true, false."
|
|
||||||
required: false
|
|
||||||
default: "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/npm/npm-query-versions@master
|
|
||||||
with:
|
|
||||||
name: ${{ inputs.name }}
|
|
||||||
registry: ${{ inputs.registry }}
|
|
||||||
apiKey: ${{ inputs.apiKey }}
|
|
||||||
prerelease: ${{ inputs.prerelease }}
|
|
||||||
- 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 }}
|
|
||||||
@@ -1,28 +0,0 @@
|
|||||||
name: npm-query-versions
|
|
||||||
description: "Get all versions of an NPM package from a registry."
|
|
||||||
inputs:
|
|
||||||
name:
|
|
||||||
description: "Name of the package."
|
|
||||||
required: true
|
|
||||||
registry:
|
|
||||||
description: "NPM registry URL."
|
|
||||||
required: false
|
|
||||||
default: ${{ github.server_url }}/api/packages/${{ github.repository_owner }}/npm/
|
|
||||||
apiKey:
|
|
||||||
description: "Authentication token for the registry."
|
|
||||||
required: true
|
|
||||||
prerelease:
|
|
||||||
description: "Include prerelease packages. Values: true, false."
|
|
||||||
required: false
|
|
||||||
default: "false"
|
|
||||||
outputs:
|
|
||||||
versions:
|
|
||||||
description: "Newline-separated list of versions."
|
|
||||||
value: ${{ steps.query.outputs.versions }}
|
|
||||||
runs:
|
|
||||||
using: "composite"
|
|
||||||
steps:
|
|
||||||
- name: "Query NPM registry for versions."
|
|
||||||
id: query
|
|
||||||
run: bash ${{ github.action_path }}/query_versions.sh "${{ inputs.name }}" "${{ inputs.registry }}" "${{ inputs.apiKey }}" "${{ inputs.prerelease }}"
|
|
||||||
shell: bash
|
|
||||||
@@ -1,41 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
set -e
|
|
||||||
|
|
||||||
PACKAGE_NAME="$1"
|
|
||||||
REGISTRY="$2"
|
|
||||||
AUTH_TOKEN="$3"
|
|
||||||
PRERELEASE="$4"
|
|
||||||
|
|
||||||
if [[ ! -f "$GITHUB_OUTPUT" ]]; then
|
|
||||||
GITHUB_OUTPUT="/dev/fd/1"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Construct the registry URL
|
|
||||||
REGISTRY_URL="$REGISTRY"
|
|
||||||
|
|
||||||
# Build curl headers
|
|
||||||
CURL_HEADERS=(-H "Accept: application/vnd.npm.install-v1+json")
|
|
||||||
if [[ -n "$AUTH_TOKEN" ]]; then
|
|
||||||
CURL_HEADERS+=(-H "Authorization: Bearer $AUTH_TOKEN")
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Query the package metadata
|
|
||||||
RESPONSE=$(curl -sL "${CURL_HEADERS[@]}" "$REGISTRY_URL/$PACKAGE_NAME" 2>/dev/null || echo "{}")
|
|
||||||
|
|
||||||
# Extract versions
|
|
||||||
if [[ "$PRERELEASE" == "true" ]]; then
|
|
||||||
# Get all versions
|
|
||||||
VERSIONS=$(echo "$RESPONSE" | jq -r '.versions | keys[]' 2>/dev/null || echo "")
|
|
||||||
else
|
|
||||||
# Filter out prerelease versions (those with - in them)
|
|
||||||
VERSIONS=$(echo "$RESPONSE" | jq -r '.versions | keys[] | select(contains("-") | not)' 2>/dev/null || echo "")
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Output versions separated by newlines
|
|
||||||
if [[ -n "$VERSIONS" ]]; then
|
|
||||||
echo "versions<<EOF" >> "$GITHUB_OUTPUT"
|
|
||||||
echo "$VERSIONS" >> "$GITHUB_OUTPUT"
|
|
||||||
echo "EOF" >> "$GITHUB_OUTPUT"
|
|
||||||
else
|
|
||||||
echo "versions=" >> "$GITHUB_OUTPUT"
|
|
||||||
fi
|
|
||||||
Reference in New Issue
Block a user