mirror of
https://gitea.com/gitea/tea.git
synced 2026-10-26 11:01:25 +01:00
revert: tea 1.0 rewrite (#1122–#1126) (#1146)
Reverts #1126, #1125, #1124, #1123 and #1122. `go.mod` keeps the Go 1.26 line with toolchain `go1.26.9` (instead of the original `go1.26.6`) so the security fix from #1131 isn't lost. reopens #69 reopens #141 reopens #162 reopens #172 reopens #197 reopens #232 reopens #240 reopens #246 reopens #323 reopens #325 reopens #326 reopens #328 reopens #344 reopens #351 reopens #373 reopens #403 reopens #406 reopens #417 reopens #430 reopens #457 reopens #480 reopens #482 reopens #489 reopens #490 reopens #498 reopens #500 reopens #504 reopens #510 reopens #516 reopens #523 reopens #556 reopens #560 reopens #569 reopens #571 reopens #602 reopens #632 reopens #633 reopens #643 reopens #666 reopens #670 reopens #672 reopens #677 reopens #683 reopens #697 reopens #726 reopens #737 reopens #770 reopens #779 reopens #804 reopens #817 reopens #831 reopens #833 reopens #834 reopens #908 reopens #966 reopens #1023 reopens #1029 reopens #1032 reopens #1050 reopens #1052 reopens #1069 reopens #1073 reopens #1087 reopens #1091 reopens #1094 reopens #1110 reopens #1115 reopens #1116 reopens #1118 Reviewed-on: https://gitea.com/gitea/tea/pulls/1146 Reviewed-by: TheFox0x7 <95654+thefox0x7@noreply.gitea.com>
This commit is contained in:
1 parent
33bb12729e
commit
c5f674111a
604 files changed
+33711
-35545
No files matched your search
+113
-23
@@ -1,30 +1,120 @@
|
||||
# Gitea Actions workflows
|
||||
# Gitea actions workflows
|
||||
|
||||
Select a repository explicitly for scripts and supply a token scoped to its instance:
|
||||
## Workflow management with tea
|
||||
|
||||
```sh
|
||||
export TEA_HOST=https://gitea.example.org
|
||||
export TEA_REPO=owner/repository
|
||||
# Supply GITEA_TOKEN through your CI secret environment.
|
||||
tea workflow list --no-input --json
|
||||
tea workflow view deploy.yml --no-input --json
|
||||
tea workflow run deploy.yml --ref main --field env=staging --field version=1.2.3 --no-input
|
||||
tea workflow disable deploy.yml --yes --no-input
|
||||
tea workflow enable deploy.yml --no-input
|
||||
### List workflows
|
||||
|
||||
```bash
|
||||
# List all workflows in the repository
|
||||
tea actions workflows list
|
||||
```
|
||||
|
||||
Workflow dispatch requires a `workflow_dispatch` trigger in the workflow. Dispatch
|
||||
and watching are separate commands; find the run with `tea run list`, then use
|
||||
`tea run watch RUN_ID --timeout 10m --no-input`. Unsuccessful completed runs return
|
||||
a nonzero exit code.
|
||||
### View workflow details
|
||||
|
||||
For an explicitly authorized merge in CI:
|
||||
|
||||
```sh
|
||||
tea pr merge 123 --repo owner/repository --method rebase --no-input
|
||||
```bash
|
||||
# View details of a specific workflow by ID or filename
|
||||
tea actions workflows view deploy.yml
|
||||
```
|
||||
|
||||
Keep credentials in the secret environment or credential store. Never write a token
|
||||
into `config.yml` or `hosts.yml`. Run `tea help <command>`, or see the command
|
||||
reference in each release's docs archive, for supported flags and the
|
||||
[README](../README.md) for fresh authentication.
|
||||
### Dispatch (trigger) a workflow
|
||||
|
||||
```bash
|
||||
# Dispatch a workflow on the current branch
|
||||
tea actions workflows dispatch deploy.yml
|
||||
|
||||
# Dispatch on a specific branch
|
||||
tea actions workflows dispatch deploy.yml --ref main
|
||||
|
||||
# Dispatch with workflow inputs
|
||||
tea actions workflows dispatch deploy.yml --ref main --input env=staging --input version=1.2.3
|
||||
|
||||
# Dispatch and follow log output
|
||||
tea actions workflows dispatch ci.yml --ref feature/my-pr --follow
|
||||
```
|
||||
|
||||
### Enable / disable workflows
|
||||
|
||||
```bash
|
||||
# Disable a workflow
|
||||
tea actions workflows disable deploy.yml --confirm
|
||||
|
||||
# Enable a workflow
|
||||
tea actions workflows enable deploy.yml
|
||||
```
|
||||
|
||||
## Example: Re-trigger CI from an AI-driven PR flow
|
||||
|
||||
Use `tea actions workflows dispatch` to re-run a specific workflow after
|
||||
pushing changes in an automated PR workflow:
|
||||
|
||||
```bash
|
||||
# Push changes to a feature branch, then re-trigger CI
|
||||
git push origin feature/auto-fix
|
||||
tea actions workflows dispatch check-and-test --ref feature/auto-fix --follow
|
||||
```
|
||||
|
||||
## Example: Dispatch a workflow with `workflow_dispatch` trigger
|
||||
|
||||
```yaml
|
||||
name: deploy
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
env:
|
||||
description: "Target environment"
|
||||
required: true
|
||||
default: "staging"
|
||||
version:
|
||||
description: "Version to deploy"
|
||||
required: true
|
||||
|
||||
jobs:
|
||||
deploy:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
- name: Deploy
|
||||
run: |
|
||||
echo "Deploying version ${{ gitea.event.inputs.version }} to ${{ gitea.event.inputs.env }}"
|
||||
```
|
||||
|
||||
Trigger this workflow from the CLI:
|
||||
|
||||
```bash
|
||||
tea actions workflows dispatch deploy.yml --ref main --input env=production --input version=2.0.0
|
||||
```
|
||||
|
||||
## Merge Pull request on approval
|
||||
|
||||
```yaml
|
||||
---
|
||||
name: Pull request
|
||||
on:
|
||||
pull_request_review:
|
||||
types: [submitted, dismissed]
|
||||
jobs:
|
||||
approved:
|
||||
name: Approved
|
||||
if: gitea.event.review.type == 'pull_request_review_approved'
|
||||
container:
|
||||
image: docker.io/pysen/tea:latest
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Configure Tea
|
||||
env:
|
||||
# This is a tea config.yml with (service) account token
|
||||
TEA_CREDENTIALS: ${{ secrets.TEA_CREDENTIALS }}
|
||||
run: |
|
||||
echo "$TEA_CREDENTIALS" > $HOME/.config/tea/config.yml
|
||||
- name: Rebase then fast-forward merge Git
|
||||
run: |
|
||||
tea pr merge --repo ${{ gitea.event.repository.full_name }} --style rebase ${{ gitea.event.pull_request.number }}
|
||||
dismissed:
|
||||
name: Dismissed
|
||||
if: gitea.event.review.type == 'pull_request_review_rejected'
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- run: |
|
||||
tea pr reject --repo ${{ gitea.event.repository.full_name }} ${{ gitea.event.pull_request.number }} "Dismissed"
|
||||
```
|
||||
Reference in new issue
Block a user