Lauris BH
86bc8b46ed
Change build message column type to text ( #1252 )
...
Fixes #1115
Fixes #1194
2022-10-13 00:47:11 +02:00
Lukas
12ff74c4cb
Fix branch loading ( #1249 )
...
Fixes a panic I got while viewing the branches in the UI.
```
runtime error: index out of range [0] with length 0
/home/gitpod/go/src/runtime/panic.go:113 (0x44053e)
goPanicIndex: panic(boundsError{x: int64(x), signed: true, y: y, code: boundsIndex})
/workspace/woodpecker/server/remote/gitea/gitea.go:444 (0xd36764)
(*Gitea).Branches.func1: result[i] = branches[i].Name
/workspace/woodpecker/server/remote/common/utils.go:34 (0xd3942a)
Paginate[...]: batch, err := get(page)
/workspace/woodpecker/server/remote/gitea/gitea.go:439 (0xd36665)
(*Gitea).Branches: branches, err := common.Paginate(func(page int) ([]string, error) {
/workspace/woodpecker/server/api/repo.go:202 (0xc823a1)
GetRepoBranches: branches, err := r.Branches(c, user, repo)
/workspace/go/pkg/mod/github.com/gin-gonic/gin@v1.8.1/context.go:173 (0xc71d44)
(*Context).Next: c.handlers[c.index](c)
/workspace/woodpecker/server/router/middleware/session/repo.go:148 (0xc71bba)
MustPull: c.Next()
/workspace/go/pkg/mod/github.com/gin-gonic/gin@v1.8.1/context.go:173 (0xc71aee)
(*Context).Next: c.handlers[c.index](c)
/workspace/woodpecker/server/router/middleware/session/repo.go:139 (0xc71aaa)
SetPerm.func1: c.Next()
/workspace/go/pkg/mod/github.com/gin-gonic/gin@v1.8.1/context.go:173 (0xc71251)
(*Context).Next: c.handlers[c.index](c)
/workspace/woodpecker/server/router/middleware/session/repo.go:53 (0xc710ec)
SetRepo.func1: c.Next()
/workspace/go/pkg/mod/github.com/gin-gonic/gin@v1.8.1/context.go:173 (0xccb50f)
(*Context).Next: c.handlers[c.index](c)
/workspace/woodpecker/server/router/middleware/token/token.go:50 (0xccb248)
Refresh: c.Next()
/workspace/go/pkg/mod/github.com/gin-gonic/gin@v1.8.1/context.go:173 (0xc721fc)
(*Context).Next: c.handlers[c.index](c)
/workspace/woodpecker/server/router/middleware/session/user.go:72 (0xc721e3)
SetUser.func1: c.Next()
/workspace/go/pkg/mod/github.com/gin-gonic/gin@v1.8.1/context.go:173 (0xcd069e)
(*Context).Next: c.handlers[c.index](c)
/workspace/woodpecker/server/router/middleware/store.go:29 (0xcd0685)
Store.func1: c.Next()
/workspace/go/pkg/mod/github.com/gin-gonic/gin@v1.8.1/context.go:173 (0xccff47)
(*Context).Next: c.handlers[c.index](c)
/workspace/woodpecker/server/router/middleware/logger.go:23 (0xccff2a)
Logger.func1: c.Next()
/workspace/go/pkg/mod/github.com/gin-gonic/gin@v1.8.1/context.go:173 (0xccaf99)
(*Context).Next: c.handlers[c.index](c)
/workspace/woodpecker/server/router/middleware/header/header.go:38 (0xccaec4)
Options: c.Next()
/workspace/go/pkg/mod/github.com/gin-gonic/gin@v1.8.1/context.go:173 (0xccae21)
(*Context).Next: c.handlers[c.index](c)
/workspace/woodpecker/server/router/middleware/header/header.go:30 (0xccae06)
NoCache: c.Next()
/workspace/go/pkg/mod/github.com/gin-gonic/gin@v1.8.1/context.go:173 (0xccf32a)
(*Context).Next: c.handlers[c.index](c)
/workspace/woodpecker/server/router/router.go:39 (0xccf310)
Load.func1: c.Next()
/workspace/go/pkg/mod/github.com/gin-gonic/gin@v1.8.1/context.go:173 (0xa2e0c1)
(*Context).Next: c.handlers[c.index](c)
/workspace/go/pkg/mod/github.com/gin-gonic/gin@v1.8.1/recovery.go:101 (0xa2e0ac)
CustomRecoveryWithWriter.func1: c.Next()
/workspace/go/pkg/mod/github.com/gin-gonic/gin@v1.8.1/context.go:173 (0xa2cf30)
(*Context).Next: c.handlers[c.index](c)
/workspace/go/pkg/mod/github.com/gin-gonic/gin@v1.8.1/gin.go:616 (0xa2cb98)
(*Engine).handleHTTPRequest: c.Next()
/workspace/go/pkg/mod/github.com/gin-gonic/gin@v1.8.1/gin.go:572 (0xa2c6dc)
(*Engine).ServeHTTP: engine.handleHTTPRequest(c)
/home/gitpod/go/src/net/http/server.go:2947 (0x79cc4b)
serverHandler.ServeHTTP: handler.ServeHTTP(rw, req)
/home/gitpod/go/src/net/http/server.go:1991 (0x797e66)
(*conn).serve: serverHandler{c.server}.ServeHTTP(w, w.req)
/home/gitpod/go/src/runtime/asm_amd64.s:1594 (0x476d80)
goexit: BYTE $0x90 // NOP
```
Co-authored-by: Anbraten <anton@ju60.de>
2022-10-09 21:10:36 +02:00
6543
c7fd1eb9d4
Introduce and use Pagination helper func ( #1236 )
2022-10-08 18:25:32 +02:00
[X]
3130a1c523
Fetch all branches from gitea ( #1231 )
...
Both repo branch view and manual branch selector were limited to the
stock pageSize of gitea client.
this add a loop to fetch all branches from gitea
2022-10-06 19:52:12 +02:00
Anbraten
287800ac62
Add when evaluate filter ( #1213 )
...
closes #312
closes #224
closes #963
Have a look for
https://github.com/antonmedv/expr/blob/master/docs/Language-Definition.md
2022-10-06 01:49:23 +02:00
Anbraten
f1339412eb
Fix invalid service names for Kubernetes ( #1234 )
...
closes #1232
2022-10-05 13:39:48 +02:00
6543
612eee8269
Sort secret lists and events ( #1223 )
...
close #1176
2022-09-29 22:46:20 +02:00
6543
5d7fdbc71c
fix: create secret for manual build ( #1222 )
2022-09-29 07:30:05 +02:00
qwerty287
7838f84b69
Fix SCM visibility if user visibility is private ( #1217 )
...
Closes https://codeberg.org/Codeberg-CI/feedback/issues/74
2022-09-27 21:24:33 +02:00
[X]
b4d89a1cce
Add ability to trigger manual builds ( #1156 )
...
closes #83
closes #240
Co-authored-by: Anbraten <anton@ju60.de>
Co-authored-by: qwerty287 <80460567+qwerty287@users.noreply.github.com>
Co-authored-by: 6543 <6543@obermui.de>
2022-09-27 11:05:00 +02:00
Zav Shotan
ec9b0a62a7
Add support for pipeline root.when conditions ( #770 )
...
Co-authored-by: Zav Shotan <zshotan@bloomberg.net>
Co-authored-by: Anbraten <anton@ju60.de>
Co-authored-by: 6543 <6543@obermui.de>
2022-09-26 09:27:20 +02:00
Martin Herren
1d47da647b
[Bitbucket] Use workspaces instead of deprecated/removed teams path ( #1166 )
...
Crude fix to allow to correctly list workspaces for bitbucket cloud
(https://bitbucket.org ) and so run a pipeline.
Last year they removed a bunch of deprecated APIs and replaced them with
new ones.
Signed-off-by: Martin Herren <martin.herren@gmail.com>
Co-authored-by: Martin Herren <martin.herren@ecorobotix.com>
Co-authored-by: 6543 <6543@obermui.de>
2022-09-18 09:26:13 +02:00
qwerty287
6433dfea23
Use package's structs and fix missing clone ( #1172 )
...
Closes #1169
Replaces structs that were added inline in hook structs with structs of
the corresponding SDKs. This makes it more readable and error-proof.
2022-09-07 18:16:40 +01:00
想出网名啦
eaf05dbae8
On Repo update, keep old "Clone" if update would empty it ( #1170 )
...
fixed #1169
after debugging, I found that:
if `Clone` in database is empty, before
https://github.com/woodpecker-ci/woodpecker/blob/master/server/api/hook.go#L128 ,
the `repo.Clone` be always unset, so clone is failed.
This PR makes the empty `Clone` can't overwrite the value in database.
2022-09-07 17:34:08 +01:00
qwerty287
52d3652f2e
Fetch repositories with remote ID if possible ( #1078 )
...
Use IDs of the forge to fetch repositories instead of their names and owner names. This improves handling of renamed and transferred repos.
TODO
- [ ] try to support as many forges as possible
- [x] Gogs (no API)
- [ ] Bitbucket Server
- [x] Coding (no API?)
- [x] update repo every time it is fetched or received from the forge
- [x] if repo remote IDs are not available, use owner / name to get it
- [x] handle redirections (redirect a renamed repo to its new path)
- [x] ~~pull all repos once during migration to update ID (?)~~ issue fixed by on-demand loading of remote IDs
- [x] handle redirections in web UI
- [ ] improve handling of hooks after a repo was renamed (currently it checks for a redirection to the repo)
- [x] tests
- [x] `UNIQUE` constraint for remote IDs after migration shouldn't work (all repos have an empty string as remote ID)
close #854
close #648 partial
close https://codeberg.org/Codeberg-CI/feedback/issues/46
Possible follow-up PRs
- apply the same scheme on everything fetched from the remote (currently only users)
Co-authored-by: 6543 <6543@obermui.de>
2022-09-05 17:08:51 +02:00
Anbraten
d8f598c2ad
Only enable debug endpoints if log level is debug or below ( #1160 )
2022-09-03 20:48:53 +02:00
Anbraten
5ca7ede9e4
Improve logging ( #1158 )
...
* switch default log level to info add start message and cleanup server start
* refactor code
* fix agent debug / trace logging
2022-09-03 20:41:23 +02:00
Anbraten
7db7e97f3f
fix (auto) cancel of blocked pipelines ( #1157 )
2022-09-02 22:14:38 +02:00
6543
4afddc2821
Extract commit message from branch creation ( #1150 )
...
if commit already exist
close https://codeberg.org/Codeberg-CI/feedback/issues/52
2022-09-02 16:41:51 +02:00
6543
3f2af06bbc
Respect WOODPECKER_GITEA_SKIP_VERIFY ( #1152 )
2022-09-01 22:48:33 +02:00
6543
18c1807f4f
Create mock for store and add unit tests for cron ( #1146 )
...
* pass remote on init as argument like store
* mock store
* TestCreateBuild
2022-09-01 01:19:49 +02:00
6543
383f273392
Add cron feature ( #934 )
...
https://woodpecker-ci.org/docs/usage/cron
Co-authored-by: Anbraten <anton@ju60.de>
Co-authored-by: qwerty287 <80460567+qwerty287@users.noreply.github.com>
2022-09-01 00:36:32 +02:00
6543
08a99152d6
Dedup code and migrate away from deprecated funcs ( #1141 )
...
Co-authored-by: Anbraten <anton@ju60.de>
2022-08-30 01:14:07 +02:00
6543
ca84f703e3
Add default event filter ( #1140 )
...
breakout from #934
when new events are added you don't have to worry that pipeline will behave different as it does now with this
Co-authored-by: Anbraten <anton@ju60.de>
2022-08-30 00:36:37 +02:00
6543
ae771a9931
Fix migration number ( #1134 )
2022-08-27 23:58:52 +02:00
6543
f15b27aadf
Remove own copy of oauth2 implementation ( #1127 )
...
at some point (~7years ago) the oauth2 implementation was copied into the code-base and never touched.
We only use it for gitlab the rest is already back using std.
This migrates to the std oauth2 implementation
2022-08-26 21:42:41 +02:00
6543
f21d854114
Move away from deprecated go funcs ( #1123 )
2022-08-25 08:39:19 +02:00
6543
a4453dc5af
Implement Refresher for GitLab and refactor nits ( #1031 )
...
* refactor & update gitea remote
* refactor & update gitlab remote
* gitlab remote: add Refresh()
* change as suggested by @dsanader
2022-08-24 15:46:11 +02:00
Lauris BH
5a945c10e9
Fix to show build pipeline parse error ( #1066 )
2022-08-15 14:37:46 +02:00
Lauris BH
1ac2c42652
Add global and organization secrets ( #1027 )
...
* Implement database changes and store methods for global and organization secrets
* Add tests for new store methods
* Add organization secret API and UI
* Add global secrets API and UI
* Add suggestions
* Update warning style
* Apply suggestions from code review
Co-authored-by: Anbraten <anton@ju60.de>
* Fix lint warning
Co-authored-by: Anbraten <anton@ju60.de>
2022-08-14 13:48:53 +02:00
qwerty287
bed3ef104c
Support Docker credential helpers ( #1075 )
...
* support docker credential and add docker-credential-ecr-login into alpine image
* Remove ecr from docker and add docs
* Update docs/docs/30-administration/22-backends/10-docker.md
Co-authored-by: WeStone <xuecanlong@qq.com>
Co-authored-by: Anbraten <anton@ju60.de>
2022-08-14 10:46:18 +02:00
Dejan SANADER
7a4827bbf6
Fix duplicate pipeline status in GitLab ( #1095 )
2022-08-12 17:49:40 +02:00
Lauris BH
550aefead4
Make returned proc list to be returned always in correct order ( #1060 )
2022-08-02 18:34:16 +02:00
Arno Hautala
d5e31dc187
Provide global environment variables for pipeline substitution ( #968 )
...
* make global environment variables available for pipeline substitution
* lint fixes
* global env support in cli exec; procBuilder tests
* drop GLOBAL_ prefix
* docs
* documentation typo
* Update docs/docs/20-usage/50-environment.md
as suggested by anbraten
Co-authored-by: Anbraten <anton@ju60.de>
Co-authored-by: 6543 <6543@obermui.de>
Co-authored-by: Anbraten <anton@ju60.de>
2022-07-30 08:06:03 +02:00
Simon Vieille
6351684070
Update type of 'log_data' from blob to longblob ( #1050 )
...
* Update type of 'log_data' from blob to longblob
* Add migration task to update log_data type
2022-07-29 14:57:18 +02:00
Lauris BH
19dfc331f4
Add method to check organization membership ( #1037 )
...
* Add remote method to check organization membership
* Use named return parameters in interface
* Add membership check service
* Update Gitea SDK
2022-07-25 03:09:35 +02:00
qwerty287
42c745362b
Show forge icons in UI ( #987 )
2022-06-17 20:14:01 +02:00
6543
08479390ff
Use editorconfig-checker ( #982 )
2022-06-17 12:03:34 +02:00
6543
0ab5182402
Document package architecture ( #972 )
...
to make it easier for devs to find the right place for code
close #655
Co-authored-by: Anbraten <anton@ju60.de>
Co-authored-by: qwerty287 <80460567+qwerty287@users.noreply.github.com>
2022-06-16 15:35:58 +02:00
6543
bdcee93f79
Move Server Pipeline Build code out of API into own package ( #949 )
...
- refactor
- create new errors to handle on them
- dedup code
- split server pipeline functionality's into dedicated functions
- add code comments to document what goes on
- add TODOs for next refactor
2022-06-15 21:33:29 +02:00
Anbraten
b45c0fa634
fix badges ( #957 )
2022-06-04 16:23:45 +02:00
x80486
48b91f99fe
Rename build to pipeline in badges ( #956 )
2022-06-03 15:42:42 +02:00
qwerty287
a561058fee
Fix nil pointer issue with config-service ( #953 )
2022-06-03 08:17:47 +02:00
qwerty287
0426f7c5d0
Fix nil pointer ( #950 )
2022-06-02 12:49:12 +02:00
Anbraten
cc30db44ac
Use asym key to sign webhooks ( #916 )
...
* use async key pair for webhooks
* fix tests
* fix linter
* improve code
* add key pair to database
* undo some changes
* more undo
* improve docs
* add api-endpoint
* add signaturne api endpoint
* fix error
* fix linting and test
* fix lint
* add test
* migration 006
* no need for migration
* replace httsign lib
* fix lint
Co-authored-by: 6543 <6543@obermui.de>
2022-06-01 20:06:27 +02:00
Anbraten
e79ad00826
Add agent tagging / filtering for pipelines ( #902 )
...
Officially support labels for pipelines and agents to improve pipeline picking.
* add pipeline labels
* update, improve docs and add migration
* update proto file
---
closes #304 & #860
2022-05-31 01:12:18 +02:00
6543
e2e094cfda
Revert "Do not run clone step if no pipeline step will run ( #877 )"
...
This reverts commit f05f918b8d
.
2022-05-20 05:20:17 +02:00
qwerty287
f05f918b8d
Do not run clone step if no pipeline step will run ( #877 )
...
Skip the clone step and ignore hook/pipeline if no pipeline step except clone would run. The status reported back to the forge is `success`.
Closes https://github.com/woodpecker-ci/woodpecker/issues/778
2022-05-18 23:25:14 +02:00
Anbraten
0b2b776ed8
Remove senders model ( #923 )
...
* remove senders
* drop table
2022-05-17 21:27:44 +02:00
Anbraten
70af29f9a2
fix redirect after login ( #824 )
...
if you are in buildView and login, go back to this buildView again
2022-05-14 17:45:01 +02:00
6543
d06dfc86b4
Allow gitea dev version ( #914 )
...
* update gitea sdk to latest
* As before try to autodetect gitea version, if this does not work, assume it's latest version (v1.17.0 atm)
2022-05-14 17:34:40 +02:00
6543
c350af645b
Move Badge & CCMenue into own packages ( #908 )
...
* move badge generation into own package
* move ccmenue away from models
* fix misspell
2022-05-14 14:30:09 +02:00
qwerty287
be0dfb280c
Add branches support for BitBucket ( #907 )
2022-05-12 19:31:01 +02:00
qwerty287
6568751320
Allow to change forge status messages ( #900 )
...
Allow to change the status message via template option
Closes https://github.com/woodpecker-ci/woodpecker/issues/855
2022-05-12 19:07:33 +02:00
Anbraten
bdb007e064
Auto cancel blocked pipelines ( #905 )
2022-05-11 07:45:21 +02:00
Zav Shotan
7313de2b1d
Add support for superseding runs ( #831 )
...
closes #11
Added support:
1. Environment variable `WOODPECKER_DELETE_MULTIPLE_RUNS_ON_EVENTS` (Default pull_request, push)
2. Builds will be marked as killed when they "override" another build
2022-05-09 11:26:09 +02:00
Johan Van de Wauw
8fa2a5efe4
Fix various typos ( #835 )
2022-03-09 01:44:08 +01:00
Anbraten
90dcc77870
fix secret updating ( #828 )
2022-03-03 15:24:20 +01:00
Lukas Bachschwell
59ba8538a1
Add support for pipeline configuration service ( #804 )
...
* Add configuration extension flags to server
Add httpsignatures dependency
Signed-off-by: Lukas Bachschwell <lukas@lbsfilm.at>
* Add http fetching to config fetcher
Signed-off-by: Lukas Bachschwell <lukas@lbsfilm.at>
* Refetch config on rebuild
Signed-off-by: Lukas Bachschwell <lukas@lbsfilm.at>
* - Ensure multipipeline compatiblity
- Send original config in http request
Signed-off-by: Lukas Bachschwell <lukas@lbsfilm.at>
* Basic tests of config api
Signed-off-by: Lukas Bachschwell <lukas@lbsfilm.at>
* Simple docs page
Signed-off-by: Lukas Bachschwell <lukas@lbsfilm.at>
* Better flag naming
Signed-off-by: Lukas Bachschwell <lukas@lbsfilm.at>
* Rename usages of the term yaml
Rename ConfigAPI struct
Signed-off-by: Lukas Bachschwell <lukas@lbsfilm.at>
* Doc adjustments
Signed-off-by: Lukas Bachschwell <lukas@lbsfilm.at>
* More docs touchups
Signed-off-by: Lukas Bachschwell <lukas@lbsfilm.at>
* Fix env vars in docs
Signed-off-by: Lukas Bachschwell <lukas@lbsfilm.at>
* fix json tags for api calls
Signed-off-by: Lukas Bachschwell <lukas@lbsfilm.at>
* Add example config service
Signed-off-by: Lukas Bachschwell <lukas@lbsfilm.at>
* Consistent naming for configService
Signed-off-by: Lukas Bachschwell <lukas@lbsfilm.at>
* Docs: Change example repository location
Signed-off-by: Lukas Bachschwell <lukas@lbsfilm.at>
* Fix tests after response field rename
Signed-off-by: Lukas Bachschwell <lukas@lbsfilm.at>
* Revert accidential unrelated change in api hook
Signed-off-by: Lukas Bachschwell <lukas@lbsfilm.at>
* Update server flag descriptions
Co-authored-by: Anbraten <anton@ju60.de>
Co-authored-by: Anbraten <anton@ju60.de>
2022-02-28 10:56:23 +01:00
Lukas Bachschwell
a2315fe931
Do not filter on linux/amd64 per default ( #805 )
...
* Do not filter on linux/amd64 per default & add tests
Tasks with no platform would otherwise not perform on runners with different OS/ARCH combos
Signed-off-by: Lukas Bachschwell <lukas@lbsfilm.at>
Co-authored-by: 6543 <6543@obermui.de>
2022-02-26 22:54:28 +01:00
qwerty287
ecc25395aa
Branch list enhancements ( #808 )
...
* Allow users not logged in to access branches page
(fixes a nil pointer derefernce)
* Add Gogs support for branches
2022-02-26 17:36:00 +01:00
6543
4607cf5f59
Split GRPC code of related contexts into separate files ( #798 )
2022-02-26 14:37:10 +01:00
Anbraten
52d8097290
Get Netrc machine from clone url ( #800 )
...
We previously got the machine hostname for Netrc from the url of the remote, but in cases where the clone-url does not match the api url this can lead to errors.
2022-02-26 02:54:15 +01:00
6543
8ae124d5e6
Remove unused code ( #797 )
...
* delete empty code files
* delete outdated readme
* delete unused code
* dedup license
2022-02-25 21:42:45 +01:00
qwerty287
28e96a3851
View better error if repo was deleted/renamed ( #780 )
...
If the repo was renamed, there's an issue with Gitea: it redirects the /api/v1/repos/<owner>/<repo>/hooks POST request to a GET request at the same URL.
This URL returns the list of all hooks, thus the Gitea SDK can't parse the response into a single gitea.Hook type.
A better error is also visisble if the repo was deleted.
2022-02-24 14:54:05 +01:00
6543
c4960cdd2c
Ignore items from WOODPECKER_ENVIRONMENT only containing a key and no value ( #781 )
...
* fix 761
* refactor: rename to match what it does & log ignore case
2022-02-23 08:59:52 +01:00
Zav Shotan
905350fa15
Add support for default clone image environment variable ( #769 )
...
This allows for custom clone images for deployment in air-gap systems.
Co-authored-by: Zav Shotan <zshotan@bloomberg.net>
2022-02-10 17:05:19 +01:00
Zav Shotan
f16525fae5
Add flag to always authenticate when cloning public repositories ( #760 )
...
As a developer using an custom git server (e.g. Github Enterprise) I would like to be able to authenticate
the user on repositories which are marked as public.
See issue: https://github.com/woodpecker-ci/woodpecker/issues/473
Ref: https://github.com/woodpecker-ci/woodpecker/pull/693#issuecomment-1025771162
2022-02-08 17:55:08 +01:00
6543
0d463ca467
Let non required migration tasks fail and continue ( #729 )
2022-01-31 15:50:10 +01:00
6543
2a5159f7fe
Fix pipeline timestamps ( #730 )
...
* only calculate time on running builds
* Add updated timestamp into database and use it in frontend
* add more trace logging
* refactor (move grpc unrelated func into related package)
* fix xorm schema
* add todo
2022-01-31 15:38:39 +01:00
Anbraten
6af94d79e3
Remove unused flags / options ( #693 )
...
Some flags where unused and / or unnecessary as they are covered by alternatives implemented in PRs of milestone 0.15.0 and just complicated the setup.
closes #681
2022-01-31 15:38:00 +01:00
6543
071bd7418a
Fix tests and pipeline ( #732 )
...
* fix pipeline
* use EqualStringSlice to compare slices in tests
* full test coverage
* tests: wait for mysql/postgres to sync ...
2022-01-31 14:39:53 +01:00
6543
edbf6a3ba9
Allow to change status context again ( #674 )
...
* use flag value
* fix test
* sed -i 's/STATUS_CONTEXT/WOODPECKER_STATUS_CONTEXT/g'
* docs
* Update docs/docs/91-migrations.md
Co-authored-by: Anbraten <anton@ju60.de>
2022-01-29 20:37:36 +01:00
Anbraten
401072abb1
Support ChangedFiles for Github & Gitlab PRs and Gitlab pushes ( #697 )
2022-01-17 23:46:59 +01:00
Anbraten
2f780193b1
github tag build should not have changed files ( #698 )
2022-01-16 18:44:44 +01:00
6543
5a120db69d
remove "panic()" as much as posible from code ( #682 )
2022-01-09 23:27:30 +01:00
Anbraten
37c82b905c
Show yml config of pipeline in UI ( #649 )
...
closes #89
2022-01-09 03:59:45 +01:00
Anbraten
5e595978fa
Send decline events back to UI ( #680 )
...
and remove unused code
2022-01-09 03:47:31 +01:00
6543
8489b5bd37
Gitea: push webhook notice changed files of all related commits ( #675 )
...
* getChangedFilesFromPushHook: use all commits
* add test
2022-01-08 22:16:07 +01:00
6543
1588495b1a
Build ref link point to commit not compare if only one commit was pushed ( #673 )
...
close #401
2022-01-08 22:06:00 +01:00
6543
c186e2fa8c
Update dev-docs & improve migration code ( #670 )
2022-01-08 20:21:22 +01:00
6543
acbde30c3b
Lint code with gofumpt ( #664 )
2022-01-06 07:44:14 +01:00
6543
2f91bdd4a0
gofumpt -w -l -extra . ( #661 )
2022-01-05 21:50:23 +01:00
6543
dec0eeeed7
Use global branch filter only on events containing branch info ( #659 )
...
- close #581
- delete unused code
- simplify code
- add check to procBuilder to fail on invalid config
2022-01-05 17:54:44 +01:00
jdoubleu
abd3d1d5c3
API GetRepos() return empty list if no active repos exist ( #658 )
2022-01-03 20:31:53 +01:00
jdoubleu
132d3567f4
skip nested GitLab repositories during sync ( #656 )
...
Implements https://github.com/woodpecker-ci/woodpecker/pull/651#issuecomment-1003794674 , partly fixes #648
2022-01-03 16:35:46 +01:00
Anbraten
7e6765ce95
hotfix gitlab sub repo listing ( #652 )
2022-01-03 16:35:17 +01:00
Anbraten
f7d1451ca3
pass repo to remote perm func ( #653 )
...
* pass repo to remote perm func
* go:generate mockery
Co-authored-by: 6543 <6543@obermui.de>
2022-01-03 15:33:36 +01:00
6543
a2429eb570
Do not exclude repo owner from gated rule ( #641 )
2022-01-01 13:17:42 +01:00
6543
30c3e139d7
proc.Tree() func do not depend on sorted procs list ( #647 )
...
* proc.Tree() func do not depend on sorted procs list
* Add test case
Signed-off-by: 6543 <6543@obermui.de>
2021-12-31 17:43:09 +01:00
ktprograms
b76606308c
Add field for image list in Secrets Repo Settings (Web UI) ( #638 )
...
- Add field for image list in Secrets Repo Settings (Web UI)
Simple comma separated input field, split into images array
- validate secret images in backend
- trim spaces and filter empty list items
Signed-off-by: 6543 <6543@obermui.de>
Co-authored-by: 6543 <6543@obermui.de>
2021-12-30 07:26:36 +01:00
Anbraten
8e8f8967c3
Improve status updates ( #561 )
...
- link to specific proc (only general build before)
- set status for all procs (before: only for the whole build on some SCMs)
- set status after restart
- set status to pending after waiting for approval
- make status of gitlab, gitea & github equal
- dedupe status update code
- dedupe `PostBuild` code
close #410 , close #297 , close #459 , close #521
2021-12-28 17:02:49 +01:00
6543
0aefdc9978
Add tests framework for storage migration ( #630 )
...
* add test sqlite db
* migration tests for sqlite
* fix pipeline config
* fix tests to other dbms
* fix postgres & mysql
2021-12-20 16:15:21 +01:00
6543
b2ce1f5da5
fix sqlite migration on column drop of uncommon schemas ( #629 )
...
* fix sqlite schema normalising
* sqlite robuster alg to extract columns form schema
2021-12-20 09:59:27 +01:00
6543
ef597eca0c
Add flag for not fetching permissions (FlatPermissions) ( #491 ) ( #625 )
...
Co-authored-by: Alex Eftimie <alex.eftimie@getyourguide.com>
2021-12-19 12:04:29 +01:00
Anbraten
ed0a9fd756
Use gitlab generic webhooks instead of drone-ci-service ( #620 )
...
Benefits:
- the webhook delivery history of the drone-ci-service is broken (no way to check if a webhook was successfully delivered by Gitlab)
- drone-ci-service has limited events support (for example no comment or branch deleted event)
- independent from drone integration in general
2021-12-19 01:12:09 +01:00
Anbraten
ce462ce4ac
fix new build not published to UI if blocked mode enabled ( #619 )
2021-12-19 00:23:48 +01:00
6543
f4c73792f3
Calculate build number on creation ( #615 )
...
* Calculate build number on creation
* Delete repo.Counter (form code and database)
2021-12-18 20:37:51 +01:00
Anbraten
1f85615a5d
Improve hook errors ( #612 )
...
Fixed problems:
- `c.AbortWithError()` stops the chain, but does not return a message as http response
- only return woodpeckers own messages and hide errors from http response (could be dangerous)
- added missing returns
- log all messages send to the user (at least on debug level)
2021-12-18 14:58:01 +01:00
6543
039bce7758
Use same func for accept gated pipelines and none gated pipelines ( #594 )
...
* write back to webhook caller what happend
* skip sound like an error - it is none change that
* improve hook func
* dedup code & fix bugs that only existed on gated builds
* startBuild use std context
* wordings
Co-authored-by: Anbraten <anton@ju60.de>
* nit
* todo done
Co-authored-by: Anbraten <anton@ju60.de>
2021-12-18 00:09:09 +01:00
Anbraten
3bee9044f1
Add flag to set oauth redirect host in dev mode ( #586 )
2021-12-13 20:22:09 +01:00
6543
0e89923854
rm workaround for gitlab webhook parsing ( #601 )
...
upstream got merged: https://github.com/xanzy/go-gitlab/pull/1282
possible because of #599
2021-12-12 21:40:36 +01:00
Anbraten
fe6c999160
Let remove be a remove ( #593 )
...
* UI: let remove be a remove
* UI: add deactivate repo btn
* Store: DeleteRepo also delete related
* Store: more test coverage
Co-authored-by: 6543 <6543@obermui.de>
2021-12-11 16:03:14 +01:00
6543
4cbdacb21c
Nits Collected over last month ( #595 )
...
- add coverage.out
- add context queue
- fix misspell
- sanitize config: WOODPECKER_GITEA_URL
- storage backend migration should have no xorm session within migration function
2021-12-11 13:15:04 +01:00
6543
7ab33f62f7
fix unit tests
2021-12-11 02:41:28 +01:00
Anbraten
cb97b39c82
Fix pr secret event names ( #592 )
...
* Fix pr secret event names
* Add validation for secret events
2021-12-11 02:37:40 +01:00
6543
4ea00f0035
Make cancel pipeline work again ( #585 )
...
* logger: on level debug or trace add caller to logs
* more logging
* fix cancel bug
* ignore error if occur for queue cancel
2021-12-08 23:40:00 +01:00
6543
3ec00140d9
Dont panic, report error back ( #582 )
...
dont panic! return error back
2021-12-08 23:36:23 +01:00
Anbraten
56f957b4e6
Improve favicons ( #576 )
...
- dark-mode favicon variants
- favicons based on pipeline state if opened build page
Co-authored-by: 6543 <6543@obermui.de>
2021-12-08 13:58:00 +01:00
Lukas
680d003a29
Add linter revive ( #554 )
...
* Add linter revive
* Add underscore to variable name to prevent shadowing
* Remove unnecessary leading underscore
* Revert changes to vendor file
* export ConfigFetcher as interface
* no 'yoda conditions'
* rename envsubst
Co-authored-by: 6543 <6543@obermui.de>
2021-12-01 14:22:06 +01:00
6543
7931bc78eb
Let normal repo admins change timeout to lower values ( #543 )
...
fix #534
fix #179
Co-authored-by: Anbraten <anton@ju60.de>
2021-11-27 16:06:00 +01:00
Lukas
2c75a299e2
Add linter unused ( #551 )
2021-11-27 15:29:37 +01:00
Lukas
eb134a2e27
Add linter ineffassign ( #550 )
2021-11-27 13:17:03 +01:00
6543
34a17f8219
Postgress can exec Sync2 after migration only in own transactions ( #544 )
...
(postgress do not allow us to use sync2 twice in one transaction at all)
2021-11-27 12:02:52 +01:00
6543
5e6b38e0e7
Server obtain remote from glob config not from context ( #540 )
2021-11-26 13:01:54 +01:00
6543
8b476e7722
Simplify web router code ( #541 )
2021-11-26 09:50:56 +01:00
Anbraten
c1a8884d62
Add backend selection for agent ( #463 )
...
- add backend selection option
- by default it will auto-detect a backend
2021-11-26 03:34:48 +01:00
Anbraten
65e10d46b3
Serve index.html directly without template ( #539 )
...
Remove not needed template functions
2021-11-26 01:12:44 +01:00
Lukas
fb333a3b1b
Add linter structcheck ( #537 )
2021-11-26 00:27:43 +01:00
Anbraten
063d0bb32a
Replace DRONE_ with CI_ variables in pipeline steps ( #427 )
...
Dropped support for `DRONE_*` environment variables in pipeline steps. Pipeline meta-data can be accessed with `CI_*` variables.
- `CI_*` prefix replaces `DRONE_*`
- `CI` value is now `woodpecker`
- `DRONE=true` has been removed
2021-11-25 20:43:31 +01:00
6543
ff8ad5bb83
Fix registry delete ( #532 )
...
- Make make it possible to delete `"§4fda`
- Reject non urls for registry-address
- Fix #520
2021-11-25 19:04:36 +01:00
Lukas
fac0e16996
Add linter staticcheck ( #535 )
...
* Add linter staticcheck
Co-authored-by: 6543 <6543@obermui.de>
2021-11-25 17:15:36 +01:00
Lukas
116c310820
Add linter misspell ( #530 )
...
* Add linter misspell
* Fix spelling
Co-authored-by: Anbraten <anton@ju60.de>
2021-11-24 02:01:12 +01:00
Lukas
25bf91bd37
Add linter whitespace ( #531 )
2021-11-24 01:31:11 +01:00
6543
fe31fb1e06
Drop error only on purpose or else report back or log ( #514 )
...
- Remove Deadcode
- Simplify Code
- Drop error only on purpose
2021-11-23 15:36:52 +01:00
6543
f454371e56
store migrations: cache migrations and add note ( #522 )
...
* Cache migrations instead of query each time
* Add a note of migration execute order
Co-authored-by: Anbraten <anton@ju60.de>
2021-11-23 05:06:46 +01:00
6543
51617e7f86
Rename struct field and add new types into server/model's ( #523 )
...
Resolve some todos in server/model:
* Move persistent queue into its own package
* Create Types: StatusValue, SCMKind, RepoVisibly
* Rename struct Repo fields: SCMKind, IsSCMPrivate
2021-11-22 12:55:13 +01:00
6543
07b32fa0fe
Update database in one transaction on syncing user repositorys ( #513 )
...
* userSyncer Sync commit changes in one transaction
* cover new cases with unit tests
2021-11-18 15:42:18 +01:00
6543
4891f104f0
Update only relevant cols on repo sync ( #512 )
...
close #511
2021-11-15 00:55:37 +01:00
6543
86bb8f195c
format do 'simplify' and check via CI ( #509 )
...
* `make format` simplify code now
* code format
* check simplified via linter
2021-11-14 22:33:45 +01:00
6543
2524c6900c
Fix reggression, save not activated repos to database on sync again ( #510 )
...
* Fix #508
* Add testcase
Unrelated nits:
* Rm one index (unique will already create an index)
* Do not drop on UpdateUser
2021-11-14 22:13:59 +01:00
6543
ca8e215cfa
Migrate to Xorm ( #474 )
...
close #234
* Migrate store
* Migrate tests
* Rewrite migrations
* Init fresh DB in on step
* Rm old stuff (meddler, sql files, dead code, ...)
2021-11-13 20:18:06 +01:00
6543
aca5fddcf3
Use Goblin Assert as intended ( #501 )
...
this allow for better debugging if an error occur
2021-11-04 14:42:25 +01:00
Anbraten
58838f225c
Rewrite of WebUI ( #245 )
...
Rewrite of the UI using Typescript, Vue3, Windicss and Vite. The design should be close to the current one with some changes:
- latest pipeline in a sidebar on the right
- secrets and registry as part of the repo-settings (secrets and registry entries shouldn't be used as much so they can be "hidden" under settings IMO)
- start page shows list of active repositories with button to enable / add new ones (currently you see all repositories and in most cases you only add new repositories once in a while)
2021-11-03 17:40:31 +01:00
Anbraten
06800cb61e
Change paths to use woodpecker instead of drone ( #494 )
...
* change paths to use woodpecker instead of drone
* improve sql file migration
* add migration notice
2021-10-28 14:02:43 -05:00
6543
965235e421
Remove some wrapper and make code more redable ( #478 )
...
* meaningful var names
* no context wrapper, use store directly
* retrieve store from context once
* rm store.GetRepoOwnerName
2021-10-28 11:12:58 +02:00
6543
473a05d5b5
Update gogs client ( #487 )
...
* update github.com/gogits/go-gogs-client
* migrate
* fix test & use DefaultBranch
2021-10-28 10:09:27 +02:00
6543
798c2bc8b2
Upgrade urfave/cli to v2 ( #483 )
...
* migrate urfave/ci v1 -> v2
* refactor cli (format flag)
* log error if agent can not listen on port 3000
close #452
2021-10-27 21:03:14 +02:00
Anbraten
d35f5158bc
Add repo branches endpoint ( #481 )
...
* add repo branches endpoint
* add branches func to remotes
2021-10-27 02:47:55 +02:00
Anbraten
63a93087a1
Gitea use default branch ( #480 )
...
instead of hard-coded default branch use what gitea tell us
2021-10-27 00:37:01 +02:00
Anbraten
3c5827f08a
Fix repo access ( #476 )
...
* fix repo access
* fix permission syncing
2021-10-26 21:29:30 +02:00
6543
5990d32fd3
More logging and refactor ( #457 )
...
* only use "context"
* enable 'h2' support at server
* trace log remote and database config
* log loglevel on start
2021-10-19 11:44:49 +02:00
Cyrill Burgener
fd8e0b248b
Add TestPipelineName
to procBuilder_test.go
( #461 )
...
test for a bug where pipelines that use `depends_on` were not built in multi-pipeline builds. The problem is that pipelines names keep a leading `'/'` when the pipeline path does not have a trailing `'/'`.
2021-10-19 09:35:10 +02:00
6543
bbbb53b9bc
Always wait 3s to fetch pipeline config ( #458 )
...
This fix a bug where first try will fail because timeout is 0s
2021-10-19 02:04:21 +02:00
John Olheiser
8e658c135d
Add log level API ( #444 )
...
* Add log level API
Signed-off-by: jolheiser <john.olheiser@gmail.com>
* Update cli/loglevel/loglevel.go
Co-authored-by: Anbraten <anton@ju60.de>
* Move API to api routes
Signed-off-by: jolheiser <john.olheiser@gmail.com>
Co-authored-by: Anbraten <anton@ju60.de>
2021-10-18 18:25:20 -05:00
Anbraten
fd9448cad7
simplify routes ( #437 )
2021-10-13 18:36:11 +02:00
Anbraten
72aa979644
Add repo permission endpoint ( #436 )
2021-10-13 14:16:26 +02:00
Anbraten
e6183e3378
Move api-routes to own file ( #434 )
2021-10-12 21:01:14 +02:00
Anbraten
f779860ff1
Add web-config.js endpoint ( #433 )
...
This is a preparation for #245 and adds a new endpoint (`.js``file) which can be included by the web-ui to get some config and credentials like the user profile or access-token.
2021-10-12 18:21:13 +02:00
Anbraten
3d6bc43ff1
Remove unused repo-config option ( #432 )
2021-10-12 12:00:03 +02:00