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 }}" shell: bash - 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' }}" shell: bash - if: ${{ !steps.version.outputs.version && inputs.prerelease != 'false' }} run: echo "${{ steps.packageFallback.outputs.version }}" shell: bash - 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 }}