Files
common/gitea/gitea-get-next-branched-version/action.yaml
2025-06-24 15:24:16 -07:00

90 lines
3.2 KiB
YAML

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