qwerty287
f582ad3159
Various enhancements in configuration ( #1645 )
...
- backends: move to cli flags instead of os.Getenv
- ssh: support 2fa with key and password
- allow to set grpc jwt secret (solves todo)
- allow to set default and max timeout (solves todo)
Closes https://github.com/woodpecker-ci/woodpecker/issues/896
Closes https://github.com/woodpecker-ci/woodpecker/issues/1131
2023-03-19 20:24:43 +01:00
6543
56e6639396
Refactor nits ( #1652 )
...
-
https://github.com/woodpecker-ci/woodpecker/pull/1641/files#r1141405630
-
ade8e6d010 (r105091268)
-
https://github.com/woodpecker-ci/woodpecker/pull/1647/files#r1141410010
---------
Co-authored-by: Anbraten <anton@ju60.de>
2023-03-19 18:32:19 +01:00
qwerty287
ade8e6d010
Various fixes and improvements ( #1643 )
...
- allow repo names to be case-insensitive
- improve backend error handling on DB get errors (record not found ->
404, else -> 500)
- replace magic numbers of http response codes
- unify the look and feel of cancel / save buttons on forms and view
them in one line
---------
Co-authored-by: Lauris BH <lauris@nix.lv>
2023-03-19 13:52:58 +01:00
qwerty287
42a115e19e
Add PR pipeline list ( #1641 )
...
Instead of viewing PR pipelines in the branches lists, add a separate
list for them. The API endpoint for PRs supports pagination (thus I
added a lot of pagination-related stuff), the UI doesn't yet though.
![wp](https://user-images.githubusercontent.com/80460567/226099133-bb4935d6-c357-4d73-8465-9157e25c0d82.png )
Closes #1619
Extends this part of #1640
---------
Co-authored-by: Anbraten <anton@ju60.de>
2023-03-19 10:43:57 +01:00
Anbraten
277a839157
Add users UI for admins ( #1634 )
...
Co-authored-by: Lauris BH <lauris@nix.lv>
2023-03-18 21:21:20 +01:00
6543
7e3bf2202c
Return 404 if pipeline not exist and handle 404 errors in WebUI ( #1627 )
2023-03-17 02:10:51 +01:00
Hayden
a2f226f7f9
fix: return 404 on badge request for inactive repo ( #1600 )
...
closes #1427 with suggested edit.
2023-03-04 11:36:13 +01:00
6543
18d3139e9e
Use modern error handling and enforce it via lint ( #1327 )
...
Co-authored-by: Anbraten <anton@ju60.de>
2023-02-02 00:08:02 +01:00
Anbraten
71d6c03ca7
Add agent no-schedule flag ( #1567 )
...
This flag allows an agent owner / admin to stop the agent from taking
new workflows / pipelines.
2023-01-30 20:18:48 +01:00
Anbraten
d96032349a
Store an agents list and add agent heartbeats ( #1189 )
...
Co-authored-by: 6543 <6543@obermui.de>
2023-01-28 14:13:04 +01:00
Anbraten
a3f4f3056c
disable metrics access if no token is set ( #1469 )
2022-12-09 18:03:43 +01:00
Anbraten
de8ea95dd3
Rename forge-id to forge-remote-id ( #1418 )
2022-11-15 15:01:23 +01:00
Josh Soref
023d03dd61
Spelling ( #1405 )
...
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2022-11-09 08:12:17 +01:00
6543
18311d4360
Split and refactor ( #1394 )
...
Closes #974
2022-11-06 12:44:04 +01:00
qwerty287
3372d1a87c
Rename remote
to forge
( #1357 )
...
As of #745
Co-authored-by: Anbraten <anton@ju60.de>
2022-11-05 00:35:06 +01:00
Divya Jain
280d27d723
Fix pipeline cancel API endpoint and update Web and CLI clients ( #1372 )
...
Fixes #1369
Co-authored-by: Anbraten <anton@ju60.de>
2022-10-30 14:39:01 +01:00
Harikesh00
36e42914fa
Renamed procs/jobs to steps in code ( #1331 )
...
Renamed `procs` to `steps` in code for the issue #1288
Co-authored-by: Harikesh Prajapati <harikesh.prajapati@druva.com>
Co-authored-by: qwerty287 <ndev@web.de>
Co-authored-by: qwerty287 <80460567+qwerty287@users.noreply.github.com>
Co-authored-by: 6543 <6543@obermui.de>
2022-10-28 17:38:53 +02:00
qwerty287
e568c42e84
Support plugin-only secrets ( #1344 )
...
Closes #1071
2022-10-27 04:21:07 +02:00
qwerty287
de4e62cfcf
Allow to run cron manually ( #1338 )
...
Closes #1154
2022-10-26 01:23:28 +02:00
qwerty287
849e05bb8b
Rename build
to pipeline
in code ( #1224 )
...
Ref: #745
Co-authored-by: Anbraten <anton@ju60.de>
Co-authored-by: 6543 <6543@obermui.de>
2022-10-18 03:24:12 +02:00
Avinil Bedarkar
493ec45be6
Return return 404 if registry to delete do not exist ( #1278 )
...
Closes #524
Co-authored-by: 6543 <6543@obermui.de>
2022-10-18 01:48:04 +02:00
Avinil Bedarkar
11f37f4649
Converting all inputs which are coming as secret to lowercase ( #1276 )
...
Closes #926
Co-authored-by: qwerty287 <80460567+qwerty287@users.noreply.github.com>
2022-10-16 14:58:13 +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
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
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
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
6543
08479390ff
Use editorconfig-checker ( #982 )
2022-06-17 12:03:34 +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
qwerty287
a561058fee
Fix nil pointer issue with config-service ( #953 )
2022-06-03 08:17:47 +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
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
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
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
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
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
Anbraten
401072abb1
Support ChangedFiles for Github & Gitlab PRs and Gitlab pushes ( #697 )
2022-01-17 23:46:59 +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
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
6543
a2429eb570
Do not exclude repo owner from gated rule ( #641 )
2022-01-01 13:17:42 +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
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
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
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
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
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
6543
5e6b38e0e7
Server obtain remote from glob config not from context ( #540 )
2021-11-26 13:01:54 +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
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
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
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
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
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
3c5827f08a
Fix repo access ( #476 )
...
* fix repo access
* fix permission syncing
2021-10-26 21:29:30 +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
72aa979644
Add repo permission endpoint ( #436 )
2021-10-13 14:16:26 +02:00
John Olheiser
4276a04f0c
Move entirely to zerolog ( #426 )
...
Completely switch to zerolog
(Remove usage of logrus and std logger)
Signed-off-by: jolheiser <john.olheiser@gmail.com>
Co-authored-by: 6543 <6543@obermui.de>
2021-10-12 09:25:13 +02:00
John Olheiser
9c85c8fd68
Enable pull_request hook by default on repository activation ( #420 )
...
Closes #419
Signed-off-by: jolheiser <john.olheiser@gmail.com>
2021-10-09 03:26:35 +02:00
Anbraten
bb37836600
Replace drone strings with woodpecker ( #391 )
...
Co-authored-by: 6543 <6543@obermui.de>
2021-10-02 10:59:34 +02:00
6543
e3499f610d
Pass down context.Context ( #371 )
...
* pass context down to remote clients
* make tests work
* add ctx to Refresh() and use it
* bitbucketserver
* code format
* plugin interface: add todo context
* solve todo
* RM TODO by using context.WithTimeout
* refactor & fix
* Apply suggestions from code review
Co-authored-by: Anbraten <anton@ju60.de>
* go fmt
* Update server/remote/coding/coding.go
Co-authored-by: Anbraten <anton@ju60.de>
Co-authored-by: Anbraten <anton@ju60.de>
2021-09-28 12:56:59 +02:00
6543
f81bd8c656
Extend Logging & Report to WebHook Caller back if pulls are disabled ( #369 )
...
* Add more logging
* Format Code
* Add TODOs
* Fix nits
* Delete two unused functions
* Report to WebHook Caller back if pulls are disabled
2021-09-27 23:32:08 +02:00
6543
a94807efeb
Refactor: move model/ to server/model/ ( #366 )
2021-09-27 19:51:55 +02:00
6543
0bd10fa507
Cleanup Code ( #348 )
...
* Fix "Empty slice declaration using a literal"
* Fix "collides with imported package name"
* Remove unused code in pipeline
* Remove unused oauth2.providerAuthHeaderWorks()
* Add TODOs
* Format Code
* Cleanup doublestar import
* Migrate deprecated functions
Co-authored-by: Anbraten <anton@ju60.de>
2021-09-24 16:29:26 +02:00
Jacob Floyd
e34daae0cf
Move cncd/pipeline/pipeline/ to pipeline/ ( #347 )
...
* Refactor: move cncd/pipeline/ to pipeline/
* Refactor: move pipeline/pipeline/ to pipeline/
2021-09-24 13:18:34 +02:00
Jacob Floyd
a0d008e071
Move cncd/{logging,pubsub,queue}/ to server/{logging,pubsub,queue}/ ( #346 )
...
* Move cncd/{logging,pubsub,queue}/ to server/{logging,pubsub,queue}/
* Update REAMDEs and include history
Co-authored-by: Anbraten <anton@ju60.de>
Co-authored-by: Anbraten <anton@ju60.de>
2021-09-23 22:29:09 +02:00
Jacob Floyd
780c902a6b
Refactor: move remote/ to server/remote/ ( #344 )
2021-09-23 18:25:51 +02:00
Jacob Floyd
5fe712cca6
Move package store/ to server/store/ ( #341 )
...
* Refactor: move store/ to server/store/
* fix pipeline for moved tests
Co-authored-by: 6543 <6543@obermui.de>
2021-09-23 13:33:59 +02:00
Jacob Floyd
b8f55f31e2
Move router package to server/router/ ( #339 )
2021-09-22 22:41:32 +02:00
Jacob Floyd
35a45b7961
Reorganize code into server/{api,grpc,shared} packages ( #337 )
...
* move api code to server/api
* move grpc server for agent communication to server/grpc
* move server.Config to server/config.go as it is used by both server/api and server/grpc
* move shared code used by server/api and server/grpc to server/shared
2021-09-22 20:48:01 +02:00