Commit Graph

3812 Commits

Author SHA1 Message Date
Lunny Xiao
482832da76 delete unused structs 2022-11-25 17:48:45 +08:00
Bo-Yi.Wu
4c2d976629 chore(runner): get runner by uuid from header
Signed-off-by: Bo-Yi.Wu <appleboy.tw@gmail.com>
2022-11-25 17:48:45 +08:00
Bo-Yi.Wu
eeaac2c9f7 chore(runner): remove url checker from register
Signed-off-by: Bo-Yi.Wu <appleboy.tw@gmail.com>
2022-11-25 17:48:45 +08:00
Jason Song
1cba52376a feat: use run id and job id in page view 2022-11-25 17:48:45 +08:00
Jason Song
d320eb66f4 feat: fetch job data 2022-11-25 17:48:45 +08:00
Jason Song
027d748fe2 feat: api for fetch job state 2022-11-25 17:48:45 +08:00
Bo-Yi Wu
b7aaa3ba77 chore(runner): support update runner status. 2022-11-25 17:48:45 +08:00
fuxiaohei
fbb9f437a6 feat(runner): delete runner from admin html page 2022-11-25 17:48:45 +08:00
fuxiaohei
5b989e2a11 feat(bots): update runner data in html page 2022-11-25 17:48:45 +08:00
Jason Song
848a1ae309 feat: receive task logs 2022-11-25 17:48:45 +08:00
Jason Song
7497155d14 feat: update step state 2022-11-25 17:48:45 +08:00
Jason Song
6df53243aa feat: create task steps 2022-11-25 17:48:45 +08:00
fuxiaohei
9648482ed6 feat(bots): move runner status update function to context 2022-11-25 17:48:45 +08:00
fuxiaohei
dff0d4b907 feat(runner): update edit.html 2022-11-25 17:48:45 +08:00
fuxiaohei
206b2a104e feat(runner): begin runner view ui 2022-11-25 17:48:44 +08:00
fuxiaohei
1a78fd3494 feat(runner): update runner last_online and status when FetchTask 2022-11-25 17:48:44 +08:00
Jason Song
32a5797608 chore: debug runner log reporting 2022-11-25 17:48:44 +08:00
Jason Song
79966763c6 feat: distribute tasks to runner 2022-11-25 17:48:44 +08:00
Bo-Yi.Wu
6f18f76577 chore(runner): update runner status using proto define
Signed-off-by: Bo-Yi.Wu <appleboy.tw@gmail.com>
2022-11-25 17:48:44 +08:00
Jason Song
530faf7227 feat: assign task to runner 2022-11-25 17:48:44 +08:00
Bo-Yi.Wu
4233090738 chore(runner): get token from header
Signed-off-by: Bo-Yi.Wu <appleboy.tw@gmail.com>
2022-11-25 17:48:44 +08:00
Bo-Yi.Wu
f79bc4f605 chore(runner): vaildate the repo URL
Signed-off-by: Bo-Yi.Wu <appleboy.tw@gmail.com>
2022-11-25 17:48:44 +08:00
Bo-Yi.Wu
ade88b3a7b chore(runner): register new runner
Signed-off-by: Bo-Yi.Wu <appleboy.tw@gmail.com>
2022-11-25 17:48:44 +08:00
Jason Song
e21c07cc55 feat: parse runner from ctx 2022-11-25 17:48:44 +08:00
Bo-Yi.Wu
4dd135580f chore(runner): update to latest proto format.
Signed-off-by: Bo-Yi.Wu <appleboy.tw@gmail.com>
2022-11-25 17:48:44 +08:00
wxiaoguang
4f2330623e view logs 2022-11-25 17:48:44 +08:00
Bo-Yi.Wu
fb738c4192 chore(runner): support fetch detail stage data
Signed-off-by: Bo-Yi.Wu <appleboy.tw@gmail.com>
2022-11-25 17:48:44 +08:00
Bo-Yi.Wu
8255915350 chore: move core package to top folder.
Signed-off-by: Bo-Yi.Wu <appleboy.tw@gmail.com>
2022-11-25 17:48:44 +08:00
Bo-Yi.Wu
1148903d79 refactor: move build status to core package 2022-11-25 17:48:44 +08:00
Bo-Yi.Wu
ea0cf8515e chore(gRPC): handle requesut for stage data
Signed-off-by: Bo-Yi.Wu <appleboy.tw@gmail.com>
2022-11-25 17:48:44 +08:00
Bo-Yi.Wu
eac6425b2f chore(gRPC): support update stage and step method.
Signed-off-by: Bo-Yi.Wu <appleboy.tw@gmail.com>
2022-11-25 17:48:44 +08:00
Bo-Yi.Wu
68d416bd1b chore(gRPC): initial request method
Signed-off-by: Bo-Yi.Wu <appleboy.tw@gmail.com>
2022-11-25 17:48:44 +08:00
Bo-Yi.Wu
e07d416366 chore(model): create build, stage, step and logs table
Signed-off-by: Bo-Yi.Wu <appleboy.tw@gmail.com>
2022-11-25 17:48:44 +08:00
Bo-Yi.Wu
e05f224d19 chore(runner): support register
Signed-off-by: Bo-Yi.Wu <appleboy.tw@gmail.com>
2022-11-25 17:48:44 +08:00
Bo-Yi.Wu
c10414a018 test(ping): add testing for gRPC 2022-11-25 17:48:44 +08:00
Bo-Yi.Wu
e4e41a8065 chore(bots): re-structure grpc folder.
Signed-off-by: Bo-Yi.Wu <appleboy.tw@gmail.com>
2022-11-25 17:48:44 +08:00
Bo-Yi.Wu
2cba8fafd8 chore(grpc): add health check and grpc v1, alpha version
Signed-off-by: Bo-Yi.Wu <appleboy.tw@gmail.com>
2022-11-25 17:48:44 +08:00
GiteaBot
257ba77e8d chore(proto): update import path
Signed-off-by: GiteaBot <teabot@gitea.io>
2022-11-25 17:48:44 +08:00
Bo-Yi Wu
ef3a74a1ba chore(proto): Add ping service
Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com>
2022-11-25 17:48:44 +08:00
Bo-Yi Wu
0e79fc556a chore(router): Add grpc and grep-web api
Using connect-go package

https://github.com/bufbuild/connect-go

Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com>
2022-11-25 17:48:44 +08:00
wxiaoguang
92d15afd18 database-filesystem, demo log tailing in term 2022-11-25 17:48:43 +08:00
Lunny Xiao
931d8c2c21 add runners management ui 2022-11-25 17:48:43 +08:00
Lunny Xiao
2c4f6fd42f add most tables 2022-11-25 17:48:43 +08:00
Lunny Xiao
5a479bb034 Add builds UI 2022-11-25 17:48:43 +08:00
Lunny Xiao
7732392a96 Add bots 2022-11-25 17:48:33 +08:00
KN4CK3R
a1ae83f36e Workaround for container registry push/pull errors (#21862)
This PR addresses #19586

I added a mutex to the upload version creation which will prevent the
push errors when two requests try to create these database entries. I'm
not sure if this should be the final solution for this problem.

I added a workaround to allow a reupload of missing blobs. Normally a
reupload is skipped because the database knows the blob is already
present. The workaround checks if the blob exists on the file system.
This should not be needed anymore with the above fix so I marked this
code to be removed with Gitea v1.20.

Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
2022-11-25 13:47:46 +08:00
KN4CK3R
fc7a2d5a95 Add support for HEAD requests in Maven registry (#21834)
Related #18543

Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
2022-11-24 16:25:13 +02:00
Xinyu Zhou
68e934ab5d Add option to enable CAPTCHA validation for login (#21638)
Enable this to require captcha validation for user login. You also must
enable `ENABLE_CAPTCHA`.

Summary:
- Consolidate CAPTCHA template
- add CAPTCHA handle and context
- add `REQUIRE_CAPTCHA_FOR_LOGIN` config and docs
- Consolidate CAPTCHA set-up and verification code 

Partially resolved #6049 

Signed-off-by: Xinyu Zhou <i@sourcehut.net>
Signed-off-by: Andrew Thornton <art27@cantab.net>
Co-authored-by: Andrew Thornton <art27@cantab.net>
2022-11-22 21:13:18 +00:00
zeripath
e77b76425e Prepend refs/heads/ to issue template refs (#20461)
Fix #20456

At some point during the 1.17 cycle abbreviated refishs to issue
branches started breaking. This is likely due serious inconsistencies in
our management of refs throughout Gitea - which is a bug needing to be
addressed in a different PR. (Likely more than one)

We should try to use non-abbreviated `fullref`s as much as possible.
That is where a user has inputted a abbreviated `refish` we should add
`refs/heads/` if it is `branch` etc. I know people keep writing and
merging PRs that remove prefixes from stored content but it is just
wrong and it keeps causing problems like this. We should only remove the
prefix at the time of
presentation as the prefix is the only way of knowing umambiguously and
permanently if the `ref` is referring to a `branch`, `tag` or `commit` /
`SHA`. We need to make it so that every ref has the appropriate prefix,
and probably also need to come up with some definitely unambiguous way
of storing `SHA`s if they're used in a `ref` or `refish` field. We must
not store a potentially
ambiguous `refish` as a `ref`. (Especially when referring a `tag` -
there is no reason why users cannot create a `branch` with the same
short name as a `tag` and vice versa and any attempt to prevent this
will fail. You can even create a `branch` and a
`tag` that matches the `SHA` pattern.)

To that end in order to fix this bug, when parsing issue templates check
the provided `Ref` (here a `refish` because almost all users do not know
or understand the subtly), if it does not start with `refs/` add the
`BranchPrefix` to it. This allows people to make their templates refer
to a `tag` but not to a `SHA` directly. (I don't think that is
particularly unreasonable but if people disagree I can make the `refish`
be checked to see if it matches the `SHA` pattern.)

Next we need to handle the issue links that are already written. The
links here are created with `git.RefURL`

Here we see there is a bug introduced in #17551 whereby the provided
`ref` argument can be double-escaped so we remove the incorrect external
escape. (The escape added in #17551 is in the right place -
unfortunately I missed that the calling function was doing the wrong
thing.)

Then within `RefURL()` we check if an unprefixed `ref` (therefore
potentially a `refish`) matches the `SHA` pattern before assuming that
is actually a `commit` - otherwise is assumed to be a `branch`. This
will handle most of the problem cases excepting the very unusual cases
where someone has deliberately written a `branch` to look like a `SHA1`.

But please if something is called a `ref` or interpreted as a `ref` make
it a full-ref before storing or using it. By all means if something is a
`branch` assume the prefix is removed but always add it back in if you
are using it as a `ref`. Stop storing abbreviated `branch` names and
`tag` names - which are `refish` as a `ref`. It will keep on causing
problems like this.

Fix #20456

Signed-off-by: Andrew Thornton <art27@cantab.net>
Co-authored-by: Lauris BH <lauris@nix.lv>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
2022-11-22 20:58:49 +08:00
silverwind
c2fb27beb4 Improvements for Content Copy (#21842)
It now supports copying Markdown, SVG and Images (not in Firefox
currently because of lacking
[`ClipboardItem`](https://developer.mozilla.org/en-US/docs/Web/API/ClipboardItem)
support, but can be enabled in `about:config` and works). It will fetch
the data if in a rendered view or when it's an image.

Followup to https://github.com/go-gitea/gitea/pull/21629.
2022-11-21 17:59:42 +08:00