Commit graph

765 commits

Author SHA1 Message Date
Jacob Floyd e2b59787c1
Move plugins/ package to server/plugins/ (#343) 2021-09-23 16:12:46 +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
Jacob Floyd 7f4a205764
Remove legacy/unused code + misc cleanups (#331)
* delete obsolete cncd code

jsonrpc2 client+server, and the utils that used them (piped, pipec)
are not used anymore.

jsonrpc2 was replaced with grpc
piped+pipec were replaced by agents

* delete duplicate section in swagger file

* comment typos

* go mod tidy (websocket+jsonrpc2 no longer used)

* go mod vendor

Co-authored-by: Anbraten <anton@ju60.de>
2021-09-21 17:35:32 +02:00
Anbraten 5653577d7e
Fix sanitizePath (#326)
With #299 the `sanitizePath` has a bug now. If no special config (empty string) has been set it falls back to default values, but the `sanitizePath` function  the used the pipelince-config-path to sanitize pipeline names.
2021-09-21 04:21:13 +02:00
Anbraten 894df351ee
Remove push, tag and deployment webhook filters (#281)
- remove `AllowPush`, `AllowTag`,  `AllowDeploy` options.
- keep `AllowPullRequest` option and disable it by default

---
close #265 
close #243
2021-09-18 16:28:35 +02:00
Anbraten 289f0c9ad6
Change pipeline config path resolution (#299)
# Config resolution
- pipeline-config setting empty / not specified (default): `.woodpecker/` => `.woodpecker.yml` => `.drone.yml`
- pipeline-config setting defined by user: try that file / folder and no fallback (if a user sets some special value that is normally done for some reason)

# Changes
- pipeline-config setting will be empty by default
- remove fallback setting for config loading (simplifies config)

---
closes #133

---

* adjust config fetching mechanism

* default path empty

* remove fallback flag from ui and db
2021-09-17 21:40:43 +02:00
Anbraten 34cfabb56d
Fix filter pipeline config files (#279)
closes #271 

- filter pipeline config folders for `.yml` and `.yaml` files
- improve `fetchConfig` tests
- update remote mock and correct wrong folder name `mock` => `mocks` to match package name
- fix: return correct filename for fallback
- improve config loading by checking if folder or not before sending api call
2021-08-30 22:54:21 +02:00
Anbraten 8aeae0a651
Use custom config path to sanitize build names (#280)
fix #270
2021-08-29 22:25:41 +02:00
Anbraten 1a67fc6e99
Use server-host as source for public links and warn if it is set to localhost (#251)
* Use server-host as source for public links

* use config and rm GetURL()

* fix: solve import cycle

Co-authored-by: 6543 <6543@obermui.de>
2021-08-20 16:32:52 +02:00
6543 70958acc44
update / remove drone dependencies (#236)
* include github.com/drone/signal

* update github.com/drone/envsubst

* move github.com/woodpecker-ci/expr to woodpecker org
2021-06-30 19:15:28 +02:00
Alex Eftimie 2ff91e6a05
Add support for path-prefix condition (#174)
Example:
```yaml
when:
  path: '*.md'
```

should match only builds in which the commit added/removed or modified files with the *.md extension

Co-authored-by: 6543 <6543@obermui.de>
2021-06-28 23:50:35 +02:00
Paweł Bogusławski 68dbd488a9
Using configured server URL instead of obtained from request (#175)
Woodpecker should use configured server URL when creating self
URL-s for VCS UI and not depend on URL read from request. In
case of internal calls like answers for webhooks from Gitea
on backend, address in URL may be internal and this causes
Gitea to display CI status for commit with intenal URL
to woodpecker not external one.
2021-06-28 19:28:18 +02:00
6543 bfc4aa8059
Enforce code format (#228)
* format .drone.yml & go code

* improve .editorconfig

* extend Makefile

* enforce go code format

* fix space

* update deps

* clean up
2021-06-22 12:34:35 +02:00
Laszlo Fogas c7ebd68232 Relaced laszlocph/woodpecker with woodpecker-ci/woodpecker 2021-05-25 14:08:27 +02:00
Laszlo Fogas 5ea7098569 Go 1.16, go fmt, go modules update 2021-02-19 09:43:03 +01:00
Laszlo Fogas 14636cc226
Merge pull request #119 from imduffy15/owner-filter
Add whitelist for syncable owners
2020-05-20 06:53:24 +02:00
Ian 1f8b3c4a45 Fix mistakes caused from splitting out into PRs 2020-05-19 13:20:29 +01:00
Ian 0d90789422 Add whitelist for syncable owners 2020-05-18 16:58:59 +01:00
Ian a11db91e49 Upgrade dependencies 2020-05-18 16:41:15 +01:00
Laszlo Fogas a63a74053e Administration articles moved 2019-11-13 20:04:14 +01:00
Laszlo Fogas 0970d3a971 Make version number visible in UI 2019-11-12 21:42:05 +01:00
Laszlo Fogas 8dee34878d Version is now a string coming from ldlags and git tags 2019-11-12 21:10:16 +01:00
Laszlo Fogas 61a14df51b Pull in frontend 2019-11-12 14:27:39 +01:00
Laszlo Fogas e2a7917c83
Merge pull request #74 from mhmxs/test-parallel
Make test execution parallel in server
2019-10-08 15:52:21 +02:00
mhmxs 1196222a14 Make test execution parallel in server 2019-10-06 20:30:06 +02:00
mhmxs 72743424fa Proc status update tests 2019-10-04 18:27:46 +02:00
Laszlo Fogas d8fe50dfa7 Iterating on cance;ation logic 2019-09-16 15:19:09 +02:00
mhmxs db4876aabc Create separate Go file for proc status updates 2019-09-15 07:29:45 +02:00
mhmxs 53258bf989 Format source code 2019-09-14 14:21:16 +02:00
mhmxs fd361ddf2a Create separate Go file for build status updates 2019-09-14 14:20:16 +02:00
Laszlo Fogas 1c306dd1d4 Surface parsing error in branch filter 2019-09-09 09:53:54 +02:00
Laszlo Fogas 630c383181 Project is renamed to Woodpecker 2019-08-27 13:07:19 +02:00
Laszlo Fogas 1f83f0f198 After filterItemsWithMissingDependencies introduced, the next id can be higher than the length of procs 2019-07-23 14:10:44 +02:00
Laszlo Fogas 3bb0f64025 Handling zero-steps as transitive dependencies 2019-07-22 14:29:15 +02:00
Laszlo Fogas 6879bf62cb Handling zero-step pipelines as multi-pipeline depedencies 2019-07-22 14:13:46 +02:00
Laszlo Fogas ed51df29b3 Factor out sideeffects 2019-07-22 13:45:01 +02:00
Laszlo Fogas b7f61fc81d Queue knows about skipped tasks now to handle transitive deps 2019-07-22 12:44:03 +02:00
Laszlo Fogas 906c0c7a0d Merge remote-tracking branch 'origin/master' into zero-steps
* origin/master:
  Reinstate simplified gating logic
2019-07-20 21:15:50 +02:00
Laszlo Fogas d560643b26 Calculating build steps early on to cut short cases without any runnable steps 2019-07-19 10:13:02 +02:00
Laszlo Fogas c303a4d463 If there are no steps, it shouldn't yield a proc 2019-07-19 09:18:40 +02:00
Laszlo Fogas 2edc5fcfb7 Pid ID refactor 2019-07-19 09:17:47 +02:00
Laszlo Fogas 2cd5d8c02b Reinstate simplified gating logic 2019-07-18 14:21:05 +02:00
Laszlo Fogas 05ca66cc97 Moved to woodpecker-ui 2019-07-09 13:23:08 +02:00
Laszlo Fogas 1d564e978f More prometheus metrics, refactoring 2019-06-28 14:28:41 +02:00
Laszlo Fogas 8bb5770636 Endpoint that blocks until there are running builds 2019-06-28 08:42:06 +02:00
Laszlo Fogas d39dd6f2ff Pause/Resume queue 2019-06-28 08:29:57 +02:00
Laszlo Fogas ace264fe2f Persist intended URL through the OAuth flow 2019-06-27 08:25:00 +02:00
Laszlo Fogas 8d79f8671e Fallback to default config. Allows incremental rollout of custom-path 2019-06-25 13:45:43 +02:00
Laszlo Fogas 84564f9ae5 .drone.yml takes precedence over configured path. Allows incremental rollout 2019-06-25 09:46:18 +02:00
Laszlo Fogas 580b7b272f Pipeline path configurable 2019-06-24 09:04:30 +02:00
Laszlo Fogas eed92421c9 Branch conditions on pipelines 2019-06-19 09:36:54 +02:00
Laszlo Fogas fded153328 Gated builds is disabled as I don't understand the feature 2019-06-19 09:01:17 +02:00
Laszlo Fogas 69de8face1 Handling canceled, skipped builds 2019-06-19 08:36:13 +02:00
Laszlo Fogas 1d47ba8a32 Status line for each pipeline on Github 2019-06-17 10:48:40 +02:00
Laszlo Fogas a433591afa Introducing runs_on to run pipelines on failure 2019-06-17 09:06:36 +02:00
Laszlo Fogas 2253ca66db Tasks should not run on error, unless specified 2019-06-16 15:56:32 +02:00
Laszlo Fogas a22747f5c3 Sort later, so it is sorted in restarts too 2019-06-16 15:55:55 +02:00
Laszlo Fogas 6a2c3f129c Factor into functions 2019-06-16 10:54:31 +02:00
Laszlo Fogas 001d645471 Order files alphabetically 2019-06-13 18:09:25 +02:00
Laszlo Fogas a3ec40d438 Fifo queue with dependencies 2019-06-13 18:02:26 +02:00
Laszlo Fogas f9c5fcec0d N:N relationship between build and config. Restarts work 2019-06-11 10:50:50 +02:00
Laszlo Fogas 3fe710bbe4 1:n relationship for build-config 2019-06-07 10:40:16 +02:00
Laszlo Fogas 105a0708fe Refactor 2019-06-05 15:58:27 +02:00
Laszlo Fogas dbfbd15238 Moved proc id changes closer to each other 2019-06-05 10:36:16 +02:00
Laszlo Fogas 435083db9e Handling channel close 2019-06-05 10:08:49 +02:00
Laszlo Fogas 5cc4dca56f Fetching multiple pipelines from Github, skipping some logic for now 2019-06-04 15:04:18 +02:00
Laszlo Fogas df50b7ef40 Testing procBuilder 2019-06-01 13:02:26 +02:00
Laszlo Fogas c9f2346c2c Supporting multiple yamls in procBuilder 2019-06-01 13:02:26 +02:00
Laszlo Fogas 8199fe4a21 Fixed tests 2019-06-01 13:01:50 +02:00
Laszlo Fogas 4cce34d5bf Moved things closer that belong together 2019-06-01 13:00:19 +02:00
Laszlo Fogas ddabcde3e3 Factored to a better place 2019-06-01 12:52:30 +02:00
Laszlo Fogas 21d6552b4b It's okay 2019-06-01 10:59:35 +02:00
Laszlo Fogas 8cec8ed0d5 Dryness 2019-06-01 10:27:28 +02:00
Laszlo Fogas 73aa46405a Factored into file 2019-06-01 10:17:02 +02:00
Laszlo Fogas 43c44cfbd6 Factored into named functions 2019-06-01 10:08:41 +02:00
Laszlo Fogas f25317599a Unlimited 2019-06-01 09:45:20 +02:00
Laszlo Fogas a4541ac901 Pull in cncd/* for simpler workflow 2019-04-06 15:44:04 +02:00
Laszlo Fogas ca5817ffc2 Renamed package 2019-04-04 20:51:20 +02:00
Niall Sheridan a55fa44589 Recover panic on closed channel
Related to #2480

Signed-off-by: Niall Sheridan <nsheridan@squarespace.com>
2018-11-14 11:27:41 +00:00
Brad Rydzewski eb96456909 fix for #2480 2018-10-18 22:33:56 -07:00
Delfer ea2c72b4b4 Add ability to restart build of any state 2018-04-06 17:54:24 +03:00
Brad Rydzewski c78ce27d76
Merge pull request #2386 from fbcbarbosa/patch-1
Fix EventStreamSSE Memory Leak
2018-03-30 09:39:41 -07:00
Fernando Barbosa 00f72ef206
Fix EventStreamSSE Memory Leak
The `Config.Services.Pubsub.Subscribe` is being initialized with the global Gin Context. This causes the publisher object to [hang at line 58](https://github.com/cncd/pubsub/blob/master/pub.go#L58) and the goroutine remains opened indefinetly, which can be a source of memory leak.

Setting it to the locally defined ctx object correctly causes the goroutine to close when the function exits due to the deferred close.

See https://discourse.drone.io/t/memory-leak-on-drone-server/1884 for further information.
2018-03-27 19:19:22 -03:00
Thomas Boerger 398ca972bc
Fixed wrong variable name 2018-03-27 22:50:55 +02:00
Thomas Boerger 06ff6b50ed
Use specific token for prometheus metrics 2018-03-27 22:22:19 +02:00
Thomas Boerger 7f49e69607
Just fixed format with go fmt ./... 2018-03-21 14:02:17 +01:00
Brad Rydzewski 580fe9abb7 add apache license header to files 2018-02-19 14:24:10 -08:00
Brad Rydzewski cef20f0476
Merge pull request #2331 from jbrockopp/master
Build List Pagination
2018-02-19 14:01:33 -08:00
Brad Rydzewski 909053ba5b
Merge pull request #2244 from appleboy/fix2
Fix drone filter func
2018-02-19 13:01:05 -08:00
Yuki Yoshida 100f44c615 Fix typos 2018-02-16 17:21:01 +09:00
Jordan Brockopp c84031e3e8 get page query param. set default of 1 if not set 2018-02-02 13:04:21 -06:00
Jordan Brockopp a844ed53e9 allow repo admin to update build counter 2018-02-01 13:10:00 -06:00
Tony Li 2700a5eeaa
better format 2018-01-18 13:20:42 -05:00
Tony Li e15e88584e
purge log w/ timestamp 2018-01-18 13:08:11 -05:00
Brad Rydzewski 8771fb53af purged log placeholder to include username 2018-01-18 09:30:41 -08:00
Brad Rydzewski cd0524e77e endpoint to purge build logs 2018-01-18 09:26:28 -08:00
Elena Grahovac 296a4f1977 Log the exact error in case of 'error setting commit status' 2017-12-20 12:12:38 +01:00
Brad Rydzewski 1db7bde877
Merge pull request #2274 from appleboy/bugs
fix(drone-server): missing default branch name in metadata.
2017-12-06 13:43:20 -08:00
Brad Rydzewski cf30898042 enable instance in when clause 2017-12-01 13:38:55 -08:00
Brad Rydzewski 970080e444 use a backoff when fetching the yaml 2017-12-01 09:22:30 -08:00
Bo-Yi Wu b6a9645b31 fix(drone-server): missing default branch name in metadata. 2017-12-01 12:24:19 +08:00
Bo-Yi Wu 8ad98fa42b add missing filter expr content.
Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com>
2017-10-17 23:47:53 +08:00
Thomas Boerger 5abfd70c53
Fix procs.proc_started value if not set 2017-10-06 22:17:48 +02:00
Brad Rydzewski bb8c569249 add healthz endpoint to server 2017-10-05 14:17:27 -07:00
Brad Rydzewski 9a0a6f924e prevent per-user concurrent sync 2017-09-29 11:21:06 -07:00
Brad Rydzewski ec6016062b show loading status in user interface 2017-09-20 12:29:57 -07:00
Brad Rydzewski 2c9d50ccc6 should use correct status for killed 2017-09-15 09:04:21 -07:00
Brad Rydzewski 45357681a6 do not restart errored build 2017-09-14 15:33:12 -07:00
Matt Leung 820d07263b Add server env var to specify .drone.yml location
Allow setting DRONE_REPO_CONFIG to override default location of .drone.yml
2017-09-12 17:06:12 -07:00
Brad Rydzewski 8795cf039f reduce logfile upload limit 2017-09-12 09:03:32 -07:00
Brad Rydzewski 25c9b8050a introduce limiter for planned refactoring 2017-09-11 10:22:45 -07:00
Brad Rydzewski 902523911e remove unused websocket funcs 2017-09-10 17:48:12 -07:00
Brad Rydzewski c95d2bf9f0 restart build will always fork; update sqlite 2017-09-10 17:45:42 -07:00
Brad Rydzewski 6cdf907c73 Merge pull request #2200 from praxist/build_filter_expression_parser
Add expression parser evaulator for build filter
2017-09-10 14:39:15 -07:00
Matt Leung 4c2ff78d20 Add expression parser evaulator for build filter
Vendor github.com/drone/expr
Vendor github.com/drone/expr/parse
2017-09-08 19:39:24 -07:00
Brad Rydzewski b2dc32d5bb Merge pull request #2192 from tonglil/fix-typo [ci skip]
Fix typo
2017-09-08 17:49:14 -07:00
Matt Leung 2892efedda Add repo to task labels for build filtering
Add generated labels after user-defined labels to prevent tampering
2017-09-08 16:46:28 -07:00
Brad Rydzewski 49ea713a36 improve UI loader 2017-09-07 17:43:33 -07:00
Tony Li 81fe4b6520 fix typo 2017-09-05 17:09:12 -04:00
Brad Rydzewski cf549e47c3 repo repair should update private status 2017-08-26 15:52:57 -07:00
Brad Rydzewski 47c1caa7cd Merge pull request #2168 from josmo/rename-repo
Adding the ability to update the repo owner and name via patch with t…
2017-08-26 13:14:03 -07:00
Brad Rydzewski 7d245e7b27 fix route for proc logs 2017-08-24 17:03:11 -07:00
Brad Rydzewski 23a348b4f7 periodically ping client from server 2017-08-22 08:49:44 -07:00
Joachim Hill-Grannec 06bffddf96 remove lingering visibility 2017-08-21 18:52:09 -04:00
Joachim Hill-Grannec f54175de91 Made ResetVisibility and ParseRepo generic.
Validate new from repo has admin rights
2017-08-21 18:49:09 -04:00
Joachim Hill-Grannec cee90e93aa Update to create move endpoint to allow changing the repo name 2017-08-21 17:56:37 -04:00
Joachim Hill-Grannec 6c386b18a6 Update to add visibility and isPrivate from the rename 2017-08-21 15:56:44 -04:00
Joachim Hill-Grannec 1260a829d0 Merge branch 'master' into rename-repo 2017-08-21 13:13:55 -04:00
Joachim Hill-Grannec 10b47c69e4 custom session expiration 2017-08-17 12:50:44 -07:00
Joachim Hill-Grannec c30198e412 Adding Environment variable to configure the session expiration 2017-08-17 12:50:31 -07:00
Joachim Hill-Grannec 4fab997871 Adding the ability to update the repo owner and name via patch with the owner and name props 2017-08-16 16:21:13 -07:00
Joachim Hill-Grannec a848f3e793 allow in a patch update to change the build number if the user is an admin 2017-08-12 17:01:10 -07:00
Brad Rydzewski ef4ed73179 fix default workspace path 2017-08-04 16:17:16 -04:00
Brad Rydzewski 5172b974a3 update index template 2017-08-02 16:49:00 -04:00
Brad Rydzewski 60cd607450 capture file metadata 2017-08-02 16:04:00 -04:00
Brad Rydzewski 7a4879c3e4 ability to force kill zombie builds 2017-08-01 12:57:01 -04:00
Brad Rydzewski 241d994a26 abstract the user interface 2017-07-31 15:15:05 -04:00
Brad Rydzewski bcdd5c9d06 implement file endpoints 2017-07-27 13:06:24 -04:00
Brad Rydzewski 825dc630b9 return files/artifacts with build 2017-07-26 17:58:44 -04:00
Brad Rydzewski aadcde2b2c Merge pull request #2142 from bradrydzewski/master
fix issue #2138
2017-07-25 14:01:28 -04:00
Brad Rydzewski 162d9b3a67 fix issue #2138 2017-07-25 13:57:13 -04:00
Brad Rydzewski 5e735c2632 improve experimental quic setup 2017-07-24 21:46:00 -04:00
Brad Rydzewski 441a015ca8 serve logs with sse; update acme pkg 2017-07-24 15:57:07 -04:00
Brad Rydzewski 39251a85a9 removed unused and broken packages 2017-07-24 13:23:22 -04:00
Brad Rydzewski c3732041d5 refresh repo info on activation 2017-07-21 11:53:11 -04:00
Brad Rydzewski eaa6d41699 pass agent hostname to all rpc calls 2017-07-20 12:21:15 -04:00
Brad Rydzewski 1c01cd3612 Merge remote-tracking branch 'origin' 2017-07-19 23:07:45 -04:00
Brad Rydzewski 9720337655 set machine on proc update 2017-07-19 23:07:29 -04:00