Commit graph

1276 commits

Author SHA1 Message Date
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
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
luzpaz
9b687a923e
Fix various typos (#416)
Fix various typos found via `codespell -q 3 -S vendor -L pullrequest,pullrequests`
2021-10-08 18:35:56 +02:00
John Olheiser
88389e4a06
Append trailing slash to default GH API URL (#411) 2021-10-07 09:49:45 +02:00
6543
169e7e5aa3
Refactor Gitlab Remote (#358)
- Replace custom client
- Update Docs
- Test if it works
- Update Tests

close #285
2021-10-03 14:42:47 +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
Anbraten
ed6d3f3cea
Use go embed for web files and remove httptreemux (#382)
- replace togo with go embed
- replace httptreemux with gin

closes #308
2021-09-29 17:34:56 +02:00
6543
a82d569bd1
Upgrade github client (#381)
* update github client

* ajust types
2021-09-29 07:59:46 +02:00
6543
7f3a6eb17f
Update Generated Proto Code (#351)
update generated code (definitions, client implementation & server interface)
and add documentation how to generate
2021-09-29 02:10:09 +02:00
Marian Steinbach
17b8867b96
Clean up config environment variables for server and agent (#218)
The goal here is to make consistent use of configuration environment variables prefixed `WOODPECKER_`. Where several variants existed, this PR aims to remove all but one option, leaving the most explicit.

This PR only changes server and agent code, but not documentation, in order to keep the PR digestible. Once we have consensus that this is correct, I'll change docs accordingly.

User (rather: admin) facing changes in this PR:

- In general, support for all server and agent config environment variables (env vars) starting with `DRONE_` is removed. The according `WOODPECKER_*` variables must be used instead.
- The env var `WOODPECKER_HOST` replaces `DRONE_HOST`, and `DRONE_SERVER_HOST`.
- The env var `WOODPECKER_AGENT_SECRET` is used to configure the shared secret which agents use to authenticate against the server. It replaces `WOODPECKER_SECRET`, `DRONE_SECRET`, `WOODPECKER_PASSWORD`, `DRONE_PASSWORD`, and `DRONE_AGENT_SECRET`.
- The env var `WOODPECKER_DATABASE_DRIVER` replaces `DRONE_DATABASE_DRIVER` and `DATABASE_DRIVER`.
- The env var `WOODPECKER_DATABASE_DATASOURCE` replaces `DRONE_DATABASE_DATASOURCE` and `DATABASE_CONFIG`.
2021-09-28 15:43:44 +02:00
Anbraten
6144f16631
Remove unsupported pipeline file extension "yaml" (#373)
Docs, `sanitizePath` and json-schema do not mention / support `.yaml` (only `.yml`) files so they should simply be ignored.
2021-09-28 14:07:25 +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
c0888de86b
Delete Gerrit placeholder (#372) 2021-09-28 10:22:34 +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
06d83c7b0e
Remote Gitea drop basic auth support (#365)
you now have to set **gitea-client** and **gitea-secret**.
2021-09-27 08:11:11 +02:00
Anbraten
bd19f90756
Replace www-path with www-proxy option for development (#248)
By adding a new ENV variable called `WOODPECKER_WWW_PROXY` it is possible to serve a webinterface via a proxy configured by the `WOODPECKER_WWW_PROXY` value for development instead of serving the interface from the bundled code or from some folder location as the old `WOODPECKER_WWW` option allowed. Using a proxy allows developing the UI with hot-reloading.
2021-09-27 00:22:23 +02:00
6543
5a05a7fe6b
Make configFetcher fallback work for gitea (#357)
#299 who closed #133 did not take into account, that that gitea (and eventually) other forges do return 200 and empty string if file was not found - this make configFetcher more resilient
2021-09-26 01:23:17 +02:00
6543
d8cd4925ec
If config is no dir asume its a folder (#354)
If config is no dir assume its a folder (user do not always add / suffix)
2021-09-25 02:56:05 +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
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
Brad Rydzewski
61fa5ff08d Merge pull request #2125 from bradrydzewski/master
Pass agent hostname to server and persist
2017-07-19 22:46:43 -04:00
Brad Rydzewski
250b048b22 pass agent hostname to server and persist 2017-07-19 17:46:03 -04:00
execjosh
1beaab12e8 Escape newlines in env var substitution 2017-07-19 19:39:36 +09:00
Brad Rydzewski
39b74e172e improve local UI testing and ability for pluggable UI 2017-07-18 14:20:19 -04:00
Brad Rydzewski
c867bcaf3c add sse for user event feed 2017-07-18 12:27:20 -04:00
Brad Rydzewski
631cd10033 username validation fixes #1418 2017-07-17 00:01:35 -04:00
Brad Rydzewski
d5200ad8b3 improve flush capability during sync 2017-07-16 13:37:16 -04:00
Brad Rydzewski
b078f1abc9 enable new polymer user interface 2017-07-16 12:27:01 -04:00
Brad Rydzewski
35e0ee2e5f implement sync logic 2017-07-14 15:58:38 -04:00
Brad Rydzewski
7008e79c9c ability to server website from disk 2017-06-30 14:39:25 -04:00
Brad Rydzewski
aed567a71e initial work to enable grpc 2017-06-28 13:21:22 -04:00
Brad Rydzewski
ec9171cead inject globals 2017-06-26 15:27:53 -04:00
Jacob McCann
daa23ce673 Allow specifying limits for pipeline steps from server config (#2085) 2017-06-24 08:16:16 -04:00
Brad Rydzewski
3ed811644f fixes #1523 to ensure json-file driver (#2083) 2017-06-22 15:11:05 -04:00
Brad Rydzewski
62876d6ad9 bump version to 0.7 2017-05-24 16:45:56 +02:00
Brad Rydzewski
076dc0c3b9 fix todo for missing env variables from api 2017-05-23 20:08:06 +02:00
Brad Rydzewski
8a62c626bd cleanup visibility verification logic 2017-05-23 00:54:04 +02:00
Brad Rydzewski
b1cbe65985 use visibility to alter permissions 2017-05-23 00:44:58 +02:00
Brad Rydzewski
108e3fe93b update secret order of operations 2017-05-19 23:36:08 +02:00
Brad Rydzewski
833b5af087 fixes #914 2017-05-14 19:57:38 +02:00
Lucas Lara
c1b500665f Expose parent build number 2017-05-12 21:31:08 +02:00
Brad Rydzewski
823175605f Merge remote-tracking branch 'origin/master' 2017-05-12 16:06:56 +02:00
Brad Rydzewski
ccb28d0d74 commit embedded templates 2017-05-12 16:06:01 +02:00
Thomas Boerger
86ca01561b
Use proper random container name 2017-05-12 15:07:01 +02:00
Brad Rydzewski
3a64aa4cf2 simplify gating logic 2017-05-05 20:05:42 +02:00
Brad Rydzewski
4aac0bc4d6 re-use gated logic 2017-05-05 19:13:40 +02:00
Brad Rydzewski
4569b60f09 persist and compare yaml for gating 2017-05-05 18:59:37 +02:00
Brad Rydzewski
cb4f2f9a1d propogate hostname correctly 2017-05-05 16:40:54 +02:00
Jason Riddle
3a255230ec Add /api/metrics/prometheus endpoint 2017-04-27 16:49:28 -04:00
Brad Rydzewski
987f9a49d3 pwd 2017-04-21 17:31:13 +02:00
Brad Rydzewski
30b561636f make escalated plugins, volumes, networks configurable 2017-04-14 10:41:24 +02:00
Brad Rydzewski
0f13620d66 fix remote status on build completion 2017-04-12 19:56:30 +02:00
Brad Rydzewski
18bee1b84d added repo repair 2017-04-12 15:32:44 +02:00
Brad Rydzewski
5dfc61ca7e ability to update repo settings from cli 2017-04-12 14:12:21 +02:00
Brad Rydzewski
2f67f5f706 compare server and agent version for compatibility 2017-04-12 13:04:39 +02:00
Brad Rydzewski
f2d4cf7be5 update repo patch logic 2017-04-11 23:51:33 +02:00
Brad Rydzewski
8348c858ba wip enable pluggable secret and registry backends 2017-04-11 19:06:45 +02:00
Brad Rydzewski
6e244be920 improve secret match logic 2017-04-10 18:27:34 +02:00
Brad Rydzewski
489cdf2572 disable yaml change detecting / approval. not needed 2017-04-10 14:56:37 +02:00
Brad Rydzewski
4f4e3f2404 update how secrets provided to compiler 2017-04-10 13:08:12 +02:00
Brad Rydzewski
b10a074b57 implement compose secret syntax 2017-04-10 12:39:50 +02:00
Brad Rydzewski
4502e5a256 source registry secrets from db 2017-04-07 01:04:25 +09:00
Brad Rydzewski
55d4ccd64e add registry management 2017-04-06 21:51:01 +09:00
Brad Rydzewski
76006d28ac restart build by clearing prior procs and logs 2017-04-04 19:50:15 +09:00
Brad Rydzewski
16a07e660a enable granular step data for matrix 2017-04-04 18:30:06 +09:00
Brad Rydzewski
0daee76aa8 use separate log table 2017-04-03 18:34:37 +09:00
Brad Rydzewski
ec88661d9e refactor job to proc 2017-04-02 23:13:26 +09:00
Brad Rydzewski
6c11444de0 agent update build steps 2017-04-01 20:17:04 +09:00
Bo-Yi Wu
316a6ea454 fix: missing matrix env. 2017-03-21 22:30:01 +08:00
Brad Rydzewski
f0cbe62d81 load ui assets from filesystem 2017-03-20 23:51:41 +08:00
Brad Rydzewski
da1193734c only expose netrc when private repo 2017-03-19 17:07:21 +08:00
Brad Rydzewski
6246b32569 ability to customize yaml path 2017-03-19 16:44:57 +08:00
Brad Rydzewski
b100401e29 only force approval when secrets exposed 2017-03-18 23:40:12 +08:00
Brad Rydzewski
0795dce4ed added logging 2017-03-18 23:20:09 +08:00
Brad Rydzewski
130c623a35 compare yaml files 2017-03-18 19:25:53 +08:00
Brad Rydzewski
bfdd09c484 update github status on decline 2017-03-18 17:16:39 +08:00
Brad Rydzewski
e319aaff15 add reviewer fields, endpoints 2017-03-18 16:49:27 +08:00
Brad Rydzewski
6e735f28d8 ignore branch parse error 2017-03-16 19:00:56 +08:00
Brad Rydzewski
a95b118cb3 removed legacy code, updated cli 2017-03-16 18:14:02 +08:00
Brad Rydzewski
fc46a5be0a remove println from logs 2017-03-15 00:01:43 +08:00
Brad Rydzewski
395f0d52f9 enable restart 2017-03-14 23:56:22 +08:00
Brad Rydzewski
442e05a4e1 mask secrets, backport drone_ variables 2017-03-12 00:46:59 -08:00
Brad Rydzewski
b4c4e92b5b handle compiler or lint error 2017-03-10 02:58:25 -08:00
Brad Rydzewski
bb7453262a implement cancel function 2017-03-05 22:05:16 +11:00
Brad Rydzewski
623be6d830 put updated agent behind flag 2017-03-05 18:56:08 +11:00
Jacob McCann
c0fcc2dfed Don't allow "logging" messages after eof is received 2017-02-14 13:33:29 -06:00
Jan Niklas Hasse
0464ca1a44 Style Gogs login form 2017-02-10 09:02:11 +01:00
Jacob McCann
3cc49ef972 Send retain:remove before unsubscribing 2017-01-10 19:57:13 -06:00
Jacob McCann
b05c5f878e Add pprof endpoints 2016-12-17 07:53:38 -06:00
Marcus Ramberg
87be45063f Redirect to / after logout so you aren't automatically logged back in 2016-11-14 19:10:39 +01:00
Brad Rydzewski
58f84ced84 Merge pull request #1825 from donny-dont/feature/global_secrets
Implementing global secrets
2016-10-25 00:03:20 +02:00
Brad Rydzewski
db5b8e83ee Merge pull request #1830 from bradrydzewski/feature/mq
merge the feature/mq branch
2016-10-23 23:12:49 +02:00
Don
0852424cfe Implementing global secrets 2016-10-20 11:23:12 -07:00
Vaidas Jablonskis
284fca370e Add a reference to parent build on forks / deploys 2016-10-19 13:28:18 +01:00
Brad Rydzewski
17a77127b6 fixed git clone issue 2016-09-29 17:23:26 -04:00
Brad Rydzewski
778971eb68 removed unused packages 2016-09-27 20:30:28 -05:00
Brad Rydzewski
584ec88b07 add platform field and selector capabilities 2016-09-27 20:16:46 -05:00
Brad Rydzewski
6f44450ef8 initial sort of working mq integration 2016-09-27 19:33:13 -05:00
Brad Rydzewski
0b2f1c8e51 integrates drone/mq into agent 2016-09-26 03:29:05 -05:00
Brad Rydzewski
f2c1d46f9e queue integrated with server, but not agent 2016-09-26 00:39:28 -05:00
Vaidas Jablonskis
5e78e471ee Fix a typo in reserved build params 2016-08-11 21:57:38 +03:00
Thomas Boerger
298dcd5a50
Integrated real API implementation for org secrets 2016-07-31 23:25:10 +02:00
Thomas Boerger
9aac9e5bf7
Integrated team secrets dummy API 2016-07-31 23:25:10 +02:00
Vaidas Jablonskis
7170cd6758 Add custom build parameters support to build re-start and deploy 2016-07-27 22:33:14 +01:00
Brad Rydzewski
71de0d9408 hacky fixed for race conditions on cancel 2016-07-13 17:33:28 -07:00
Brad Rydzewski
c27a5dd0b4 modifying cancel logic 2016-07-13 14:25:40 -07:00
Sandro Santilli
a24f584336 Separate core imports from external ones 2016-07-12 13:51:25 +02:00
Sandro Santilli
7dbeb6f42e Use Warning instead of Error on sql failure in badge 2016-07-12 13:43:32 +02:00
Sandro Santilli
042e779e08 Use Sirupsen/logrus for logs 2016-07-12 13:28:02 +02:00
Sandro Santilli
578f73c791 Make badgeNone usable in HTML img tag (returning 200 instead of 404)
Also adds a print in the log about the kind of failure
2016-07-12 12:53:01 +02:00
Brad Rydzewski
324392d3e0 fix form action typo in Gogs logic form 2016-07-09 10:22:05 -07:00
Brad Rydzewski
4d1df2924c replace UI with single page application (#1704) 2016-07-08 15:40:29 -07:00
Thomas Boerger
41af9c0720
Integrated initial command to list secrets
Since we are not able to list the already set secrets I have added the
required API andpoint and the required sub command to list them.
2016-06-28 00:20:01 +02:00
Brad Rydzewski
67ac073164 repo feed for latest build only 2016-06-14 17:34:47 -07:00
Brad Rydzewski
769551cb44 ability to pull full vs partial list 2016-06-14 15:20:17 -07:00
Brad Rydzewski
d656b2a75b add chown command to switch repo owner 2016-06-14 14:05:53 -07:00
Brad Rydzewski
8de93539e3 use correct content-type for logs 2016-06-14 14:01:20 -07:00
Brad Rydzewski
08a4bf06a5 ability to flush user repo cache 2016-06-14 13:07:05 -07:00
Brad Rydzewski
5456f13e9c ability to stream logs using websockets 2016-05-23 14:35:58 -07:00
Brad Rydzewski
752ce496d5 added code for agent to ping central drone server 2016-05-11 14:37:56 -07:00
Brad Rydzewski
4e74e161f0 quick hack to enable log sections 2016-05-11 00:36:01 -07:00
Brad Rydzewski
447741b840 added query, endpoint, cli for build queue items 2016-05-10 22:19:45 -07:00
Brad Rydzewski
e7aa94f875 store signature and verification in database 2016-05-10 18:48:02 -07:00
Brad Rydzewski
850c00dbba drone exec and drone agent now share code 2016-05-10 17:03:24 -07:00
Brad Rydzewski
3d05659134 simplify build engine for reliability 2016-05-09 22:57:57 -07:00
Brad Rydzewski
a7d3873891 removed import that was mistakenly auto-added 2016-05-02 17:52:34 -07:00
Brad Rydzewski
f930545410 refactoring github package to increase test coverage 2016-05-02 17:47:58 -07:00
Brad Rydzewski
0fb4aeda3f bump to 0.5 in master 2016-05-02 12:21:25 -07:00
Brad Rydzewski
53eac09f34 added org and open registration 2016-05-01 17:33:22 -07:00
Brad Rydzewski
ebd547deac refactoring remotes to remove deprecated variables, adding tests 2016-05-01 16:30:00 -07:00
Brad Rydzewski
082570fb5b refactoring input and configuration 2016-04-29 12:39:56 -07:00
Brad Rydzewski
30eed8723d moved all remaining files under designated structure 2015-05-17 14:25:04 -07:00
Brad Rydzewski
e3f0a39761 moving more data under pkg dir 2015-05-17 13:51:42 -07:00
Brad Rydzewski
f6b0c0cd9c fix failed unit test caused by restructuring 2015-05-17 11:48:02 -07:00
Brad Rydzewski
40a9543c0c moving remote pkg per new multi-binary structure 2015-05-17 11:45:09 -07:00
Brad Rydzewski
137fb62e85 moving queue package 2015-05-17 11:42:56 -07:00
Brad Rydzewski
f58b48d329 moved yaml parsing to yaml package 2015-05-17 11:36:12 -07:00
Brad Rydzewski
4c847296d4 refactoring toward multi-binary project layout 2015-05-17 11:10:43 -07:00
Brad Rydzewski
2e9786c68e prevent hanging event source connections 2015-05-16 20:35:41 -07:00
Brad Rydzewski
b3951043a0 temp workaround to get Drone correctly stream SSE events 2015-05-16 20:08:32 -07:00
Brad Rydzewski
27aadca029 upgraded to latest version of gin to take advantage of SSE 2015-05-16 19:46:12 -07:00
Brad Rydzewski
64663e9742 fixed some build issues 2015-05-16 17:46:29 -07:00
Brad Rydzewski
28061efeea sets default build timeout 2015-05-15 17:19:15 -07:00
Brad Rydzewski
1ef6dc0bc6 persist self url in repo field 2015-05-12 23:58:30 -07:00
Ben Schumacher
01eae26623 Fix Datastore mock and badge_test.go 2015-05-12 11:06:00 -06:00
Brad Rydzewski
7762ecac90 always display sub-build list 2015-05-11 00:53:56 -07:00
Brad Rydzewski
85256d3a22 backported 0.4 changes to existing database 2015-05-11 00:45:31 -07:00
Brad Rydzewski
d07c0cb80d github status api 2015-05-09 20:46:32 -07:00
Brad Rydzewski
7f162c80b9 post-commit hook should trigger commit status update 2015-05-09 20:14:01 -07:00
Brad Rydzewski
fb2999c35d include private key in json, manually scrub from rest responses 2015-05-09 12:54:38 -07:00
Daniel Oliveira
ba159976a0 Fixing TODO comments in code /cc @oliveiradan
1. server/login.go:49 (// TODO(bradrydzewski) return an error message instead). Added error message if authorization fails.
2. server/repos.go:178 (TODO(bradrydzewski) verify repo not exists). Added a checking for the repo and return an error in case it does not exist.
3. server/queue.go:170:  // TODO (bradrydzewski) change this interface to accept an io.Reader. All references to the API change been in question SetLogs() have been modified.
4. remote/github/github.go:106  // Fixed a crash in case *repo_.Language is nil , when de-referencing it. This could happen when a repo only has a readme, so github hasn't set the language yet.
5. ./server/queue.go:170:  // TODO (bradrydzewski) change this interface to accept an io.Reader. All references to the API change been in question SetLogs() have been modified.
6. .remote/github/github.go:106  // Fixed a crash in case *repo_.Language is nil , when de-referencing it. This could happen when a repo only has a readme, so github hasn't set the language yet.
2015-05-08 10:47:40 -06:00
Brad Rydzewski
0034c12141 initial work on build cancellation 2015-05-06 01:24:55 -07:00
Brad Rydzewski
f82c8ff6d7 ability to stream builds 2015-05-06 00:56:06 -07:00
Brad Rydzewski
091f0e9918 fixed some race conditions and cpu locking 2015-05-05 20:59:07 -07:00
Brad Rydzewski
80d8d10c15 ws improvements 2015-05-05 20:26:57 -07:00
Brad Rydzewski
cf27863841 temporarily replace bson with gob 2015-05-05 20:22:02 -07:00
Brad Rydzewski
fa07d82461 pre-marshal websocket message to avoid possible race 2015-05-05 19:46:26 -07:00
Brad Rydzewski
204fba9018 some initial work on a builtin build runner 2015-05-05 01:04:20 -07:00
Brad Rydzewski
51e995e0a1 more mock examples 2015-04-30 22:48:15 -07:00
Brad Rydzewski
9c882c1a9e table-driven tests for badge permutations 2015-04-30 22:18:39 -07:00
Brad Rydzewski
acc6bb76ee minor restructuring 2015-04-30 21:20:59 -07:00
Brad Rydzewski
0690a85bd3 Merge pull request #994 from benschumacher/testify-mocks
Alternative pattern for API unit tests (versus #991)
2015-04-30 21:07:21 -07:00
Brad Rydzewski
3a4772cbe6 added favicon 2015-04-30 19:14:42 -07:00
Brad Rydzewski
779c1c06d3 agent endpoints now protected 2015-04-30 14:57:53 -07:00
Brad Rydzewski
0dc79e5886 page to get token for workers 2015-04-30 14:41:52 -07:00
Brad Rydzewski
6fcae7d80a hooks are protected with signed sha 2015-04-30 14:23:46 -07:00
Brad Rydzewski
64cc684295 added error message when cannot create repo 2015-04-30 11:01:46 -07:00
Brad Rydzewski
371a64ef6a hook honors branch filter 2015-04-30 10:39:16 -07:00
Brad Rydzewski
543a46a755 contacts agent to cancel build 2015-04-30 00:42:23 -07:00
Brad Rydzewski
3863617056 allow websocket connections cross-origin 2015-04-30 00:24:39 -07:00
Brad Rydzewski
77246cc9c9 hide build output when pending 2015-04-30 00:20:48 -07:00
Brad Rydzewski
ad80facbbd websocket output working 2015-04-29 19:57:43 -07:00
Brad Rydzewski
7a75a17535 ability to visit public repos when not authenticated 2015-04-29 16:08:21 -07:00
Brad Rydzewski
f740bf91cf don't display logs when build is killed 2015-04-28 16:36:13 -07:00
Brad Rydzewski
7649248385 hooked up restart, cancel in user interface 2015-04-28 16:27:30 -07:00
Brad Rydzewski
864a47f502 added error messages to login flow 2015-04-28 16:08:20 -07:00
Brad Rydzewski
b84943222b get netrc data when hook is triggering 2015-04-28 15:08:21 -07:00
Ben Schumacher
52b441527c Fix spelling mistake 2015-04-28 15:57:56 -06:00
Ben Schumacher
0e53778d22 Badge API tests 2015-04-28 15:42:09 -06:00
Ben Schumacher
e033a1a4a5 Alternative pattern for API unit tests 2015-04-27 15:48:21 -06:00
Daniel Oliveira
4ade23e8ac Merge remote-tracking branch 'upstream/bolt' into bolt 2015-04-27 10:41:25 -06:00
Brad Rydzewski
65105d06c2 queue polling not correctly handles client disconnect 2015-04-26 23:49:38 -07:00
Daniel Oliveira
4e53cc184e Merge remote-tracking branch 'upstream/bolt' into bolt 2015-04-25 22:40:36 -06:00
Brad Rydzewski
96b49cf0fc website subscribes to build events, update pages 2015-04-25 21:27:24 -07:00
Brad Rydzewski
712c18459f serving the index.html page from bindata 2015-04-25 16:43:51 -07:00
Brad Rydzewski
3b7c9738a3 ability to squash and embed static files 2015-04-25 16:16:56 -07:00
Daniel Oliveira
707b0e3e13 Merge remote-tracking branch 'upstream/bolt' into bolt 2015-04-24 18:21:19 -06:00
Daniel Oliveira
abc83303ee solve build.go conflict 2015-04-24 18:19:48 -06:00
Brad Rydzewski
a1f3b2da4d got websocket events working 2015-04-24 17:06:46 -07:00
Brad Rydzewski
da350989d3 fixed minor queue glitches 2015-04-24 14:25:03 -07:00
Daniel Oliveira
987e85f261 About this commit:
1. server/builds.go:92 used SetStatus(). Replaced with SetBuildStatus().
2. Added a index check in SetBuildTask() and return an error in case the tasks number is > than build.tasks size.
2015-04-23 13:39:36 -06:00
Daniel Oliveira
4edf385d1c About this commit:
1. server/builds.go:92 used SetStatus(). Replaced with SetBuildStatus().
2. Added a index check in SetBuildTask() and return an error in case the tasks number is > than build.tasks size.
2015-04-23 12:15:17 -06:00
Brad Rydzewski
d2776bc990 added code for remote queue plugin 2015-04-22 01:00:15 -07:00
Brad Rydzewski
b16759b0b6 code to inject private params 2015-04-21 15:48:48 -07:00
Brad Rydzewski
7a668b79c7 preparation for parsing build output to ansi format 2015-04-21 15:48:26 -07:00
Brad Rydzewski
79b83025a8 added cluster in place of pool, some other minor changes 2015-04-21 15:48:06 -07:00
Brad Rydzewski
3520a295d5 added terminal highlight code 2015-04-16 22:16:32 -07:00
Brad Rydzewski
43381827b9 stubs for restarting, canceling builds 2015-04-16 22:07:13 -07:00
Brad Rydzewski
fd5a017384 added public key to repo settings 2015-04-16 15:15:05 -07:00
Brad Rydzewski
c4279678e8 only fetch logs if build finished 2015-04-16 15:05:00 -07:00
Brad Rydzewski
5f35f46c24 embedded task and status in build struct 2015-04-16 14:45:05 -07:00
Brad Rydzewski
110af2a196 using gravatar library instead of our own built-in func 2015-04-16 00:31:17 -07:00
Brad Rydzewski
433159e990 hook now calculates build matrix and creates appropriate tasks 2015-04-16 00:24:53 -07:00
Brad Rydzewski
c324d66872 ability to pull list of orgs and verify membership 2015-04-15 00:20:00 -07:00
Brad Rydzewski
0c3f9e5bde REST cleanup. Idiomatic naming of datastore funcs 2015-04-14 22:04:38 -07:00
Brad Rydzewski
1ad5e3f597 repo subscriptions functioning in datastore w/ index 2015-04-13 21:39:05 -07:00
Brad Rydzewski
aebacfccd7 fixed token expiration calculation 2015-04-13 19:11:33 -07:00
Brad Rydzewski
a40d20dcdb check token expiry 2015-04-13 19:07:05 -07:00
Brad Rydzewski
d1d762aa83 fail to generate user tokens if no secret 2015-04-13 18:43:21 -07:00