Removed npm-specific version checking.

This commit is contained in:
2026-01-05 10:28:13 -08:00
parent cf3f0954f9
commit 043d6620f0
5 changed files with 29 additions and 133 deletions

View File

@@ -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:

View File

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

View File

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

View File

@@ -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

View File

@@ -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