Jason Song 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							4011821c94 
							
						 
					 
					
						
						
							
							Implement actions ( #21937 )  
						
						... 
						
						
						
						Close  #13539 .
Co-authored by: @lunny @appleboy @fuxiaohei and others.
Related projects:
- https://gitea.com/gitea/actions-proto-def 
- https://gitea.com/gitea/actions-proto-go 
- https://gitea.com/gitea/act 
- https://gitea.com/gitea/act_runner 
### Summary
The target of this PR is to bring a basic implementation of "Actions",
an internal CI/CD system of Gitea. That means even though it has been
merged, the state of the feature is **EXPERIMENTAL**, and please note
that:
- It is disabled by default;
- It shouldn't be used in a production environment currently;
- It shouldn't be used in a public Gitea instance currently;
- Breaking changes may be made before it's stable.
**Please comment on #13539  if you have any different product design
ideas**, all decisions reached there will be adopted here. But in this
PR, we don't talk about **naming, feature-creep or alternatives**.
### ⚠️  Breaking
`gitea-actions` will become a reserved user name. If a user with the
name already exists in the database, it is recommended to rename it.
### Some important reviews
- What is `DEFAULT_ACTIONS_URL` in `app.ini` for?
  - https://github.com/go-gitea/gitea/pull/21937#discussion_r1055954954 
- Why the api for runners is not under the normal `/api/v1` prefix?
  - https://github.com/go-gitea/gitea/pull/21937#discussion_r1061173592 
- Why DBFS?
  - https://github.com/go-gitea/gitea/pull/21937#discussion_r1061301178 
- Why ignore events triggered by `gitea-actions` bot?
  - https://github.com/go-gitea/gitea/pull/21937#discussion_r1063254103 
- Why there's no permission control for actions?
  - https://github.com/go-gitea/gitea/pull/21937#discussion_r1090229868 
### What it looks like
<details>
#### Manage runners
<img width="1792" alt="image"
src="https://user-images.githubusercontent.com/9418365/205870657-c72f590e-2e08-4cd4-be7f-2e0abb299bbf.png ">
#### List runs
<img width="1792" alt="image"
src="https://user-images.githubusercontent.com/9418365/205872794-50fde990-2b45-48c1-a178-908e4ec5b627.png ">
#### View logs
<img width="1792" alt="image"
src="https://user-images.githubusercontent.com/9418365/205872501-9b7b9000-9542-4991-8f55-18ccdada77c3.png ">
</details>
### How to try it
<details>
#### 1. Start Gitea
Clone this branch and [install from
source](https://docs.gitea.io/en-us/install-from-source ).
Add additional configurations in `app.ini` to enable Actions:
```ini
[actions]
ENABLED = true
```
Start it.
If all is well, you'll see the management page of runners:
<img width="1792" alt="image"
src="https://user-images.githubusercontent.com/9418365/205877365-8e30a780-9b10-4154-b3e8-ee6c3cb35a59.png ">
#### 2. Start runner
Clone the [act_runner](https://gitea.com/gitea/act_runner ), and follow
the
[README](https://gitea.com/gitea/act_runner/src/branch/main/README.md )
to start it.
If all is well, you'll see a new runner has been added:
<img width="1792" alt="image"
src="https://user-images.githubusercontent.com/9418365/205878000-216f5937-e696-470d-b66c-8473987d91c3.png ">
#### 3. Enable actions for a repo
Create a new repo or open an existing one, check the `Actions` checkbox
in settings and submit.
<img width="1792" alt="image"
src="https://user-images.githubusercontent.com/9418365/205879705-53e09208-73c0-4b3e-a123-2dcf9aba4b9c.png ">
<img width="1792" alt="image"
src="https://user-images.githubusercontent.com/9418365/205879383-23f3d08f-1a85-41dd-a8b3-54e2ee6453e8.png ">
If all is well, you'll see a new tab "Actions":
<img width="1792" alt="image"
src="https://user-images.githubusercontent.com/9418365/205881648-a8072d8c-5803-4d76-b8a8-9b2fb49516c1.png ">
#### 4. Upload workflow files
Upload some workflow files to `.gitea/workflows/xxx.yaml`, you can
follow the [quickstart](https://docs.github.com/en/actions/quickstart )
of GitHub Actions. Yes, Gitea Actions is compatible with GitHub Actions
in most cases, you can use the same demo:
```yaml
name: GitHub Actions Demo
run-name: ${{ github.actor }} is testing out GitHub Actions 🚀 
on: [push]
jobs:
  Explore-GitHub-Actions:
    runs-on: ubuntu-latest
    steps:
      - run: echo "🎉  The job was automatically triggered by a ${{ github.event_name }} event."
      - run: echo "🐧  This job is now running on a ${{ runner.os }} server hosted by GitHub!"
      - run: echo "🔎  The name of your branch is ${{ github.ref }} and your repository is ${{ github.repository }}."
      - name: Check out repository code
        uses: actions/checkout@v3
      - run: echo "💡  The ${{ github.repository }} repository has been cloned to the runner."
      - run: echo "🖥️  The workflow is now ready to test your code on the runner."
      - name: List files in the repository
        run: |
          ls ${{ github.workspace }}
      - run: echo "🍏  This job's status is ${{ job.status }}."
```
If all is well, you'll see a new run in `Actions` tab:
<img width="1792" alt="image"
src="https://user-images.githubusercontent.com/9418365/205884473-79a874bc-171b-4aaf-acd5-0241a45c3b53.png ">
#### 5. Check the logs of jobs
Click a run and you'll see the logs:
<img width="1792" alt="image"
src="https://user-images.githubusercontent.com/9418365/205884800-994b0374-67f7-48ff-be9a-4c53f3141547.png ">
#### 6. Go on
You can try more examples in [the
documents](https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions )
of GitHub Actions, then you might find a lot of bugs.
Come on, PRs are welcome.
</details>
See also: [Feature Preview: Gitea
Actions](https://blog.gitea.io/2022/12/feature-preview-gitea-actions/ )
---------
Co-authored-by: a1012112796 <1012112796@qq.com>
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
Co-authored-by: delvh <dev.lh@web.de>
Co-authored-by: ChristopherHX <christopher.homberger@web.de>
Co-authored-by: John Olheiser <john.olheiser@gmail.com> 
					
						2023-01-31 09:45:19 +08:00 
						 
				 
			
				
					
						
							
							
								Lunny Xiao 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							68704532c2 
							
						 
					 
					
						
						
							
							Rename almost all Ctx functions ( #22071 )  
						
						
						
						
					 
					
						2022-12-10 10:46:31 +08:00 
						 
				 
			
				
					
						
							
							
								Lunny Xiao 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							0a7d3ff786 
							
						 
					 
					
						
						
							
							refactor some functions to support ctx as first parameter ( #21878 )  
						
						... 
						
						
						
						Co-authored-by: KN4CK3R <admin@oldschoolhack.me>
Co-authored-by: Lauris BH <lauris@nix.lv> 
						
						
					 
					
						2022-12-03 10:48:26 +08:00 
						 
				 
			
				
					
						
							
							
								flynnnnnnnnnn 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							e81ccc406b 
							
						 
					 
					
						
						
							
							Implement FSFE REUSE for golang files ( #21840 )  
						
						... 
						
						
						
						Change all license headers to comply with REUSE specification.
Fix  #16132 
Co-authored-by: flynnnnnnnnnn <flynnnnnnnnnn@github>
Co-authored-by: John Olheiser <john.olheiser@gmail.com> 
						
						
					 
					
						2022-11-27 18:20:29 +00:00 
						 
				 
			
				
					
						
							
							
								KN4CK3R 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							044c754ea5 
							
						 
					 
					
						
						
							
							Add context.Context to more methods ( #21546 )  
						
						... 
						
						
						
						This PR adds a context parameter to a bunch of methods. Some helper
`xxxCtx()` methods got replaced with the normal name now.
Co-authored-by: delvh <dev.lh@web.de>
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com> 
						
						
					 
					
						2022-11-19 16:12:33 +08:00 
						 
				 
			
				
					
						
							
							
								Lunny Xiao 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							5e8e3ecbeb 
							
						 
					 
					
						
						
							
							Fix issues count bug ( #21557 )  
						
						... 
						
						
						
						fix  #19349  , #19505 
Co-authored-by: delvh <dev.lh@web.de> 
					
						2022-10-25 14:47:46 +02:00 
						 
				 
			
				
					
						
							
							
								delvh 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							0ebb45cfe7 
							
						 
					 
					
						
						
							
							Replace all instances of fmt.Errorf(%v) with fmt.Errorf(%w) ( #21551 )  
						
						... 
						
						
						
						Found using
`find . -type f -name '*.go' -print -exec vim {} -c
':%s/fmt\.Errorf(\(.*\)%v\(.*\)err/fmt.Errorf(\1%w\2err/g' -c ':wq' \;`
Co-authored-by: 6543 <6543@obermui.de>
Co-authored-by: Andrew Thornton <art27@cantab.net>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com> 
						
						
					 
					
						2022-10-24 20:29:17 +01:00 
						 
				 
			
				
					
						
							
							
								zeripath 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							716fcfcf72 
							
						 
					 
					
						
						
							
							Make every not exist error unwrappable to a fs.ErrNotExist ( #20891 )  
						
						... 
						
						
						
						A lot of our code is repeatedly testing if individual errors are
specific types of Not Exist errors. This is repetitative and unnecesary.
`Unwrap() error` provides a common way of labelling an error as a
NotExist error and we can/should use this.
This PR has chosen to use the common `io/fs` errors e.g.
`fs.ErrNotExist` for our errors. This is in some ways not completely
correct as these are not filesystem errors but it seems like a
reasonable thing to do and would allow us to simplify a lot of our code
to `errors.Is(err, fs.ErrNotExist)` instead of
`package.IsErr...NotExist(err)`
I am open to suggestions to use a different base error - perhaps
`models/db.ErrNotExist` if that would be felt to be better.
Signed-off-by: Andrew Thornton <art27@cantab.net>
Co-authored-by: delvh <dev.lh@web.de> 
						
						
					 
					
						2022-10-18 07:50:37 +02:00 
						 
				 
			
				
					
						
							
							
								luzpaz 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							cb3b3e519f 
							
						 
					 
					
						
						
							
							Fix various typos ( #21103 )  
						
						... 
						
						
						
						Found via `codespell -q 3 -S
./options/locale,./options/license,./public/vendor,./web_src/fomantic -L
actived,allways,attachements,ba,befores,commiter,pullrequest,pullrequests,readby,splitted,te,unknwon`
Co-authored-by: techknowlogick <techknowlogick@gitea.io> 
						
						
					 
					
						2022-09-07 14:40:36 -04:00 
						 
				 
			
				
					
						
							
							
								Lunny Xiao 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							1d8543e7db 
							
						 
					 
					
						
						
							
							Move some files into models' sub packages ( #20262 )  
						
						... 
						
						
						
						* Move some files into models' sub packages
* Move functions
* merge main branch
* Fix check
* fix check
* Fix some tests
* Fix lint
* Fix lint
* Revert lint changes
* Fix error comments
* Fix lint
Co-authored-by: 6543 <6543@obermui.de> 
						
						
					 
					
						2022-08-25 10:31:57 +08:00 
						 
				 
			
				
					
						
							
							
								Lunny Xiao 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							0649c54275 
							
						 
					 
					
						
						
							
							Adjust transaction handling via db.Context ( #20031 )  
						
						
						
						
					 
					
						2022-06-20 14:38:58 +02:00 
						 
				 
			
				
					
						
							
							
								Wim 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							cb50375e2b 
							
						 
					 
					
						
						
							
							Add more linters to improve code readability ( #19989 )  
						
						... 
						
						
						
						Add nakedret, unconvert, wastedassign, stylecheck and nolintlint linters to improve code readability
- nakedret - https://github.com/alexkohler/nakedret  - nakedret is a Go static analysis tool to find naked returns in functions greater than a specified function length.
- unconvert - https://github.com/mdempsky/unconvert  - Remove unnecessary type conversions
- wastedassign - https://github.com/sanposhiho/wastedassign  -  wastedassign finds wasted assignment statements.
- notlintlint -  Reports ill-formed or insufficient nolint directives
- stylecheck - https://staticcheck.io/docs/checks/#ST  - keep style consistent
  - excluded: [ST1003 - Poorly chosen identifier](https://staticcheck.io/docs/checks/#ST1003 ) and [ST1005 - Incorrectly formatted error string](https://staticcheck.io/docs/checks/#ST1005 ) 
						
						
					 
					
						2022-06-20 12:02:49 +02:00 
						 
				 
			
				
					
						
							
							
								Lunny Xiao 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							1a9821f57a 
							
						 
					 
					
						
						
							
							Move issues related files into models/issues ( #19931 )  
						
						... 
						
						
						
						* Move access and repo permission to models/perm/access
* fix test
* fix git test
* Move functions sequence
* Some improvements per @KN4CK3R and @delvh
* Move issues related code to models/issues
* Move some issues related sub package
* Merge
* Fix test
* Fix test
* Fix test
* Fix test
* Rename some files 
						
						
					 
					
						2022-06-13 17:37:59 +08:00 
						 
				 
			
				
					
						
							
							
								Sandro Santilli 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							52c2e82813 
							
						 
					 
					
						
						
							
							Custom regexp external issues ( #17624 )  
						
						... 
						
						
						
						* Implement custom regular expression for external issue tracking.
Signed-off-by: Alexander Beyn <malex@fatelectrons.org>
* Fix syntax/style
* Update repo.go
* Set metas['regexp']
* gofmt
* fix some tests
* fix more tests
* refactor frontend
* use LRU cache for regexp
* Update modules/markup/html_internal_test.go
Co-authored-by: Alexander Beyn <malex@fatelectrons.org>
Co-authored-by: techknowlogick <techknowlogick@gitea.io>
Co-authored-by: Lauris BH <lauris@nix.lv>
Co-authored-by: 6543 <6543@obermui.de>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com> 
						
						
					 
					
						2022-06-10 13:39:53 +08:00 
						 
				 
			
				
					
						
							
							
								Lunny Xiao 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							fd7d83ace6 
							
						 
					 
					
						
						
							
							Move almost all functions' parameter db.Engine to context.Context ( #19748 )  
						
						... 
						
						
						
						* Move almost all functions' parameter db.Engine to context.Context
* remove some unnecessary wrap functions 
						
						
					 
					
						2022-05-20 22:08:52 +08:00 
						 
				 
			
				
					
						
							
							
								6543 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							92f139d091 
							
						 
					 
					
						
						
							
							Use for a repo action one database transaction ( #19576 )  
						
						... 
						
						
						
						... more context
(part of #9307 ) 
						
						
					 
					
						2022-05-03 21:46:28 +02:00 
						 
				 
			
				
					
						
							
							
								KN4CK3R 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							1d332342db 
							
						 
					 
					
						
						
							
							Add Package Registry ( #16510 )  
						
						... 
						
						
						
						* Added package store settings.
* Added models.
* Added generic package registry.
* Added tests.
* Added NuGet package registry.
* Moved service index to api file.
* Added NPM package registry.
* Added Maven package registry.
* Added PyPI package registry.
* Summary is deprecated.
* Changed npm name.
* Sanitize project url.
* Allow only scoped packages.
* Added user interface.
* Changed method name.
* Added missing migration file.
* Set page info.
* Added documentation.
* Added documentation links.
* Fixed wrong error message.
* Lint template files.
* Fixed merge errors.
* Fixed unit test storage path.
* Switch to json module.
* Added suggestions.
* Added package webhook.
* Add package api.
* Fixed swagger file.
* Fixed enum and comments.
* Fixed NuGet pagination.
* Print test names.
* Added api tests.
* Fixed access level.
* Fix User unmarshal.
* Added RubyGems package registry.
* Fix lint.
* Implemented io.Writer.
* Added support for sha256/sha512 checksum files.
* Improved maven-metadata.xml support.
* Added support for symbol package uploads.
* Added tests.
* Added overview docs.
* Added npm dependencies and keywords.
* Added no-packages information.
* Display file size.
* Display asset count.
* Fixed filter alignment.
* Added package icons.
* Formatted instructions.
* Allow anonymous package downloads.
* Fixed comments.
* Fixed postgres test.
* Moved file.
* Moved models to models/packages.
* Use correct error response format per client.
* Use simpler search form.
* Fixed IsProd.
* Restructured data model.
* Prevent empty filename.
* Fix swagger.
* Implemented user/org registry.
* Implemented UI.
* Use GetUserByIDCtx.
* Use table for dependencies.
* make svg
* Added support for unscoped npm packages.
* Add support for npm dist tags.
* Added tests for npm tags.
* Unlink packages if repository gets deleted.
* Prevent user/org delete if a packages exist.
* Use package unlink in repository service.
* Added support for composer packages.
* Restructured package docs.
* Added missing tests.
* Fixed generic content page.
* Fixed docs.
* Fixed swagger.
* Added missing type.
* Fixed ambiguous column.
* Organize content store by sha256 hash.
* Added admin package management.
* Added support for sorting.
* Add support for multiple identical versions/files.
* Added missing repository unlink.
* Added file properties.
* make fmt
* lint
* Added Conan package registry.
* Updated docs.
* Unify package names.
* Added swagger enum.
* Use longer TEXT column type.
* Removed version composite key.
* Merged package and container registry.
* Removed index.
* Use dedicated package router.
* Moved files to new location.
* Updated docs.
* Fixed JOIN order.
* Fixed GROUP BY statement.
* Fixed GROUP BY #2 .
* Added symbol server support.
* Added more tests.
* Set NOT NULL.
* Added setting to disable package registries.
* Moved auth into service.
* refactor
* Use ctx everywhere.
* Added package cleanup task.
* Changed packages path.
* Added container registry.
* Refactoring
* Updated comparison.
* Fix swagger.
* Fixed table order.
* Use token auth for npm routes.
* Enabled ReverseProxy auth.
* Added packages link for orgs.
* Fixed anonymous org access.
* Enable copy button for setup instructions.
* Merge error
* Added suggestions.
* Fixed merge.
* Handle "generic".
* Added link for TODO.
* Added suggestions.
* Changed temporary buffer filename.
* Added suggestions.
* Apply suggestions from code review
Co-authored-by: Thomas Boerger <thomas@webhippie.de>
* Update docs/content/doc/packages/nuget.en-us.md
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
Co-authored-by: Thomas Boerger <thomas@webhippie.de> 
						
						
					 
					
						2022-03-30 16:42:47 +08:00 
						 
				 
			
				
					
						
							
							
								Lunny Xiao 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							b06b9a056c 
							
						 
					 
					
						
						
							
							Move organization related structs into sub package ( #18518 )  
						
						... 
						
						
						
						* Move organization related structs into sub package
* Fix test
* Fix lint
* Move more functions into sub packages
* Fix bug
* Fix test
* Update models/organization/team_repo.go
Co-authored-by: KN4CK3R <admin@oldschoolhack.me>
* Apply suggestions from code review
Co-authored-by: KN4CK3R <admin@oldschoolhack.me>
* Fix fmt
* Follow suggestion from @Gusted
* Fix test
* Fix test
* Fix bug
* Use ctx but db.DefaultContext on routers
* Fix bug
* Fix bug
* fix bug
* Update models/organization/team_user.go
* Fix bug
Co-authored-by: KN4CK3R <admin@oldschoolhack.me>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com> 
						
						
					 
					
						2022-03-29 14:29:02 +08:00 
						 
				 
			
				
					
						
							
							
								wxiaoguang 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							d4c789dfc1 
							
						 
					 
					
						
						
							
							Refactor repo clone button and repo clone links, fix JS error on empty repo page ( #19208 )  
						
						... 
						
						
						
						The last PR about clone buttons introduced an JS error when visiting an empty repo page:
* https://github.com/go-gitea/gitea/pull/19028 
* `Uncaught ReferenceError: isSSH is not defined`, because the variables are scoped and doesn't share between sub templates.
This:
1. Simplify `templates/repo/clone_buttons.tmpl` and make code clear
2. Move most JS code into `initRepoCloneLink`
3. Remove unused `CloneLink.Git`
4. Remove `ctx.Data["DisableSSH"] / ctx.Data["ExposeAnonSSH"] / ctx.Data["DisableHTTP"]`, and only set them when is is needed (eg: deploy keys / ssh keys)
5. Introduce `Data["CloneButton*"]` to provide data for clone buttons and links
6. Introduce `Data["RepoCloneLink"]` for the repo clone link (not the wiki)
7. Remove most `ctx.Data["PageIsWiki"]` because it has been set in the `/wiki` middleware
8. Remove incorrect `quickstart` class in `migrating.tmpl` 
						
						
					 
					
						2022-03-29 05:21:30 +02:00 
						 
				 
			
				
					
						
							
							
								Gusted 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							548adb94b4 
							
						 
					 
					
						
						
							
							Avoid database lookups for DescriptionHTML ( #18924 )  
						
						... 
						
						
						
						* Avoid database lookups for `DescriptionHTML`
- Don't Compose meta's for DescriptionHTML, they are only needed in
order to correctly format and show issue's but it's highly unlikely that
a repository description will refer to a local issue.
Using 125 Connections for 5 seconds: on `/explore/repos`(which is the most
noticeable usage by this function's database lookups):
Before:
Statistics        Avg      Stdev        Max
  Reqs/sec       569.41     506.05    2715.00
  Latency      214.27ms    16.60ms   294.84ms
  HTTP codes:
    1xx - 0, 2xx - 2974, 3xx - 0, 4xx - 0, 5xx - 0
    others - 0
  Throughput:    27.17MB/s
After:
Statistics        Avg      Stdev        Max
  Reqs/sec      1585.04     789.84    4144.56
  Latency       78.89ms    15.89ms   206.94ms
  HTTP codes:
    1xx - 0, 2xx - 7975, 3xx - 0, 4xx - 0, 5xx - 0
    others - 0
  Throughput:    73.85MB/s
Co-authored-by: 6543 <6543@obermui.de>
Co-authored-by: zeripath <art27@cantab.net> 
						
						
					 
					
						2022-02-27 18:51:34 +01:00 
						 
				 
			
				
					
						
							
							
								Gusted 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							f56bba1a78 
							
						 
					 
					
						
						
							
							Fix trace log to show value instead of pointers ( #18926 )  
						
						... 
						
						
						
						- Fixes a issue with a trace of repo.Units whereby it would show the pointers.
Before:

After:
 
						
						
					 
					
						2022-02-27 15:49:22 +00:00 
						 
				 
			
				
					
						
							
							
								Clar Fon 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							99d14f6051 
							
						 
					 
					
						
						
							
							Add separate SSH_USER config option ( #17584 )  
						
						... 
						
						
						
						Co-authored-by: zeripath <art27@cantab.net> 
						
						
					 
					
						2022-02-07 16:56:45 -05:00 
						 
				 
			
				
					
						
							
							
								Lauris BH 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							6392f4691a 
							
						 
					 
					
						
						
							
							API: Return primary language and repository language stats API URL ( #18396 )  
						
						
						
						
					 
					
						2022-01-25 08:33:40 +02:00 
						 
				 
			
				
					
						
							
							
								zeripath 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							5cb0c9aa0d 
							
						 
					 
					
						
						
							
							Propagate context and ensure git commands run in request context ( #17868 )  
						
						... 
						
						
						
						This PR continues the work in #17125  by progressively ensuring that git
commands run within the request context.
This now means that the if there is a git repo already open in the context it will be used instead of reopening it.
Signed-off-by: Andrew Thornton <art27@cantab.net> 
						
						
					 
					
						2022-01-19 23:26:57 +00:00 
						 
				 
			
				
					
						
							
							
								Lunny Xiao 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							8ce1b539b1 
							
						 
					 
					
						
						
							
							Use conditions but not repo ids as query condition ( #16839 )  
						
						... 
						
						
						
						* Use conditions but not repo ids as query condition
* Improve the performance of pulls/issue
* Remove duplicated code
* fix lint
* Fix bug
* Fix stats
* More fixes
* Fix build
* Fix lint
* Fix test
* Fix build
* Adjust the logic
* Merge
* Fix conflicts
* improve the performance
* Add comments for the query conditions functions
* Some improvements 
						
						
					 
					
						2021-12-29 21:02:12 +08:00 
						 
				 
			
				
					
						
							
							
								zeripath 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							8354670708 
							
						 
					 
					
						
						
							
							Prevent hang in git cat-file if repository is not a valid repository and other fixes ( #17991 )  
						
						... 
						
						
						
						This PR contains multiple fixes. The most important of which is:
* Prevent hang in git cat-file if the repository is not a valid repository 
    
    Unfortunately it appears that if git cat-file is run in an invalid
    repository it will hang until stdin is closed. This will result in
    deadlocked /pulls pages and dangling git cat-file calls if a broken
    repository is tried to be reviewed or pulls exists for a broken
    repository.
    Fix  #14734 
    Fix  #9271 
    Fix  #16113 
Otherwise there are a few small other fixes included which this PR was initially intending to fix:
* Fix panic on partial compares due to missing PullRequestWorkInProgressPrefixes
* Fix links on pulls pages  due to regression from #17551  - by making most /issues routes match /pulls too - Fix  #17983 
* Fix links on feeds pages due to another regression from #17551  but also fix issue with syncing tags - Fix  #17943 
* Add missing locale entries for oauth group claims
* Prevent NPEs if ColorFormat is called on nil users, repos or teams. 
						
						
					 
					
						2021-12-16 19:01:14 +00:00 
						 
				 
			
				
					
						
							
							
								Caellion 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							e79272ab20 
							
						 
					 
					
						
						
							
							Fix TemplateRepo no longer in models.repo ( #17993 )  
						
						... 
						
						
						
						* Fixes error 500 that appears when trying to browse code of a repository generated from template
* forgot to update comment
* Update models/repo/repo.go
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
* Update repo.go
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com> 
						
						
					 
					
						2021-12-16 15:12:50 +08:00 
						 
				 
			
				
					
						
							
							
								zeripath 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							eba07867ef 
							
						 
					 
					
						
						
							
							Prevent deadlock in create issue ( #17970 )  
						
						
						
						
					 
					
						2021-12-13 17:59:39 -05:00 
						 
				 
			
				
					
						
							
							
								Lunny Xiao 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							5723240490 
							
						 
					 
					
						
						
							
							Some repository refactors ( #17950 )  
						
						... 
						
						
						
						* some repository refactors
* remove unnecessary code
* Fix test
* Remove unnecessary banner 
						
						
					 
					
						2021-12-12 23:48:20 +08:00 
						 
				 
			
				
					
						
							
							
								Lunny Xiao 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							719bddcd76 
							
						 
					 
					
						
						
							
							Move repository model into models/repo ( #17933 )  
						
						... 
						
						
						
						* Some refactors related repository model
* Move more methods out of repository
* Move repository into models/repo
* Fix test
* Fix test
* some improvements
* Remove unnecessary function 
						
						
					 
					
						2021-12-10 09:27:50 +08:00