You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gitea/templates/repo
胖梁 36232b69db
Actions support workflow dispatch event (#28163)
fix #23668 

My plan:
* In the `actions.list` method, if workflow is selected and IsAdmin,
check whether the on event contains `workflow_dispatch`. If so, display
a `Run workflow` button to allow the user to manually trigger the run.
* Providing a form that allows users to select target brach or tag, and
these parameters can be configured in yaml
* Simple form validation, `required` input cannot be empty
* Add a route `/actions/run`, and an `actions.Run` method to handle
* Add `WorkflowDispatchPayload` struct to pass the Webhook event payload
to the runner when triggered, this payload carries the `inputs` values
and other fields, doc: [workflow_dispatch
payload](https://docs.github.com/en/webhooks/webhook-events-and-payloads#workflow_dispatch)

Other PRs
* the `Workflow.WorkflowDispatchConfig()` method still return non-nil
when workflow_dispatch is not defined. I submitted a PR
https://gitea.com/gitea/act/pulls/85 to fix it. Still waiting for them
to process.

Behavior should be same with github, but may cause confusion. Here's a
quick reminder.
*
[Doc](https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#workflow_dispatch)
Said: This event will `only` trigger a workflow run if the workflow file
is `on the default branch`.
* If the workflow yaml file only exists in a non-default branch, it
cannot be triggered. (It will not even show up in the workflow list)
* If the same workflow yaml file exists in each branch at the same time,
the version of the default branch is used. Even if `Use workflow from`
selects another branch


![image](https://github.com/go-gitea/gitea/assets/3114995/4bf596f3-426b-48e8-9b8f-0f6d18defd79)
```yaml
name: Docker Image CI

on:
  workflow_dispatch:
    inputs:
      logLevel:
        description: 'Log level'
        required: true
        default: 'warning'
        type: choice
        options:
        - info
        - warning
        - debug
      tags:
        description: 'Test scenario tags'
        required: false
        type: boolean
      boolean_default_true:
        description: 'Test scenario tags'
        required: true
        type: boolean
        default: true
      boolean_default_false:
        description: 'Test scenario tags'
        required: false
        type: boolean
        default: false
      environment:
        description: 'Environment to run tests against'
        type: environment
        required: true
        default: 'environment values'
      number_required_1:
        description: 'number '
        type: number
        required: true
        default: '100'
      number_required_2:
        description: 'number'
        type: number
        required: true
        default: '100'
      number_required_3:
        description: 'number'
        type: number
        required: true
        default: '100'
      number_1:
        description: 'number'
        type: number
        required: false
      number_2:
        description: 'number'
        type: number
        required: false
      number_3:
        description: 'number'
        type: number
        required: false

env:
  inputs_logLevel:              ${{ inputs.logLevel }}
  inputs_tags:                  ${{ inputs.tags }}
  inputs_boolean_default_true:  ${{ inputs.boolean_default_true }}
  inputs_boolean_default_false: ${{ inputs.boolean_default_false }}
  inputs_environment:           ${{ inputs.environment }}
  inputs_number_1:              ${{ inputs.number_1  }}
  inputs_number_2:              ${{ inputs.number_2  }}
  inputs_number_3:              ${{ inputs.number_3  }}
  inputs_number_required_1:     ${{ inputs.number_required_1  }}
  inputs_number_required_2:     ${{ inputs.number_required_2  }}
  inputs_number_required_3:     ${{ inputs.number_required_3  }}

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - run: ls -la
      - run: env | grep inputs
      - run: echo ${{ inputs.logLevel }}
      - run: echo ${{ inputs.boolean_default_false }}
```

![image](https://github.com/go-gitea/gitea/assets/3114995/a58a842d-a0ff-4618-bc6d-83a9596d07c8)

![image](https://github.com/go-gitea/gitea/assets/3114995/44a7cca5-7bd4-42a9-8723-91751a501c88)

---------

Co-authored-by: TKaxv_7S <954067342@qq.com>
Co-authored-by: silverwind <me@silverwind.io>
Co-authored-by: Denys Konovalov <kontakt@denyskon.de>
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
6 months ago
..
actions Actions support workflow dispatch event (#28163) 6 months ago
branch Don't include link of deleted branch when listing branches (#31028) 9 months ago
cite Fix Citation modal responsiveness and clipboard copy (#29799) 11 months ago
code Fix overflow on push notification (#31179) 9 months ago
diff Refactor image diff (#31444) 8 months ago
editor Code editor theme enhancements (#31629) 7 months ago
find Migrate `gt-hidden` to `tw-hidden` (#30046) 11 months ago
graph Always use HTML attributes for avatar size (#31509) 8 months ago
issue Support issue template assignees (#31083) 6 months ago
migrate Fix "force private" logic (#31012) 9 months ago
projects Migrate margin and padding helpers to tailwind (#30043) 11 months ago
pulls Prevent tab shifting, remove extra margin on fluid pages (#31090) 9 months ago
release Replace `gt-word-break` with `tw-break-anywhere` (#31183) 9 months ago
settings Fixes for unreachable project issues when transfer repository from organization (#31770) 6 months ago
tag Restyle release list, fix branch dropdown (#30837) 9 months ago
wiki Replace `gt-word-break` with `tw-break-anywhere` (#31183) 9 months ago
activity.tmpl Implement recent commits graph (#29210) 1 year ago
blame.tmpl Fix the link for .git-blame-ignore-revs bypass (#31432) 8 months ago
branch_dropdown.tmpl Fix some UI problems (dropdown/container) (#30849) 10 months ago
clone_buttons.tmpl Improve repo button row layout (#30668) 10 months ago
clone_script.tmpl Fix URL calculation in clone input box (#29470) 12 months ago
code_frequency.tmpl Refactor web routes (#30519) 10 months ago
commit_load_branches_and_tags.tmpl Migrate `gt-hidden` to `tw-hidden` (#30046) 11 months ago
commit_page.tmpl Fix all rounded borders, change affected tab menus to pills (#30707) 10 months ago
commit_status.tmpl Restore warning commit status (#27504) 1 year ago
commit_statuses.tmpl Replace 10 more gt- classes with tw- (#29945) 11 months ago
commits.tmpl Migrate margin and padding helpers to tailwind (#30043) 11 months ago
commits_list.tmpl Fix author name alignment in commits table (#30396) 11 months ago
commits_list_small.tmpl Fix some UI regressions for commit list (#30920) 10 months ago
commits_search_dropdown.tmpl Unify search boxes (#29530) 11 months ago
commits_table.tmpl Migrate margin and padding helpers to tailwind (#30043) 11 months ago
contributors.tmpl Fix Activity Page Contributors dropdown (#31264) 9 months ago
create.tmpl Fix "force private" logic (#31012) 9 months ago
create_helper.tmpl Remove incorrect and unnecessary Escape from templates (#29394) 1 year ago
empty.tmpl Migrate margin and padding helpers to tailwind (#30043) 11 months ago
file_info.tmpl Improve detecting empty files (#31332) 8 months ago
forks.tmpl Migrate margin and padding helpers to tailwind (#30043) 11 months ago
graph.tmpl Migrate `gt-hidden` to `tw-hidden` (#30046) 11 months ago
header.tmpl Refactor repo unit "disabled" check (#31389) 8 months ago
home.tmpl Replace `gt-word-break` with `tw-break-anywhere` (#31183) 9 months ago
icon.tmpl Replace 10 more gt- classes with tw- (#29945) 11 months ago
latest_commit.tmpl Fix `DEFAULT_SHOW_FULL_NAME=false` has no effect in commit list and commit graph page (#30096) 11 months ago
navbar.tmpl Implement recent commits graph (#29210) 1 year ago
packages.tmpl Fix inconsistent user profile layout across tabs (#25625) 2 years ago
pulse.tmpl Refactor web routes (#30519) 10 months ago
recent_commits.tmpl Refactor web routes (#30519) 10 months ago
release_tag_header.tmpl Refactor web routes (#30519) 10 months ago
search.tmpl Unify search boxes (#29530) 11 months ago
search_name.tmpl Clean template/helper.go (#23922) 2 years ago
shabox_badge.tmpl Always use HTML attributes for avatar size (#31509) 8 months ago
star_unstar.tmpl code optimization (#31315) 9 months ago
sub_menu.tmpl Refactor web routes (#30519) 10 months ago
unicode_escape_prompt.tmpl Replace some `gt-` classes with `tw-` (#29570) 12 months ago
upload.tmpl Always use `ctx.Locale.Tr` inside templates (#27231) 1 year ago
user_cards.tmpl Always use HTML attributes for avatar size (#31509) 8 months ago
view_file.tmpl Improve detecting empty files (#31332) 8 months ago
view_list.tmpl Fix view of readme file in the home code page. (#30564) 10 months ago
watch_unwatch.tmpl Tweak repo buttons on mobile and labeled button border-radius (#30503) 10 months ago
watchers.tmpl Fix user-cards format (#24428) 2 years ago