Commit graph

192 commits

Author SHA1 Message Date
6543
5139624cf8
Migrate old logs to new database schema (#1828)
address new models based on #1802
2023-06-12 22:43:14 +02:00
6543
101e684059
make in_docker work again (#1830) 2023-06-06 18:29:40 +02:00
6543
79c8da2f32
Drop tarball release (#1819)
close #1262
2023-06-04 05:09:10 +02:00
Martin W. Kirst
14177635b6
Update swagger API specification (#1782)
# Summary

This PR drops the outdated former swagger.yaml/json and introduced
automatic API document generation from Go code.
The generated code is also used to generate documentation/markdown for
the community page,
as well as enable the Woodpecker server to serve a Swagger Web UI for
manual tinkering.

I did opt-in for gin-swagger, a middleware for the Gin framework, to
ease implementation and have a sophisticated output.
This middleware only produces Swagger v2 specs. AFAIK the newer OpenApi
3x tooling is not yet that mature,
so I guess that's fine for now.

## Implemenation notes

- former swagger.json files removed
- former // swagger godocs removed
- introduced new dependency gin-swagger, which uses godoc annotations on
top of Gin Handler functions.
- reworked Makefile to automatically generate Go code for the server
- introduce new dependency go-swagger, to generate Markdown for
documentation purposes
- add a Swagger Web UI, incl. capabilities for manual API exploration
- consider relative root paths in the implementation
- write documentation for all exposed API endpoints
- incl. API docs in the community website (auto-generated)
- provide developer documentation, for the Woodpecker authors
- no other existing logic/code was intentionally changed

---------

close #292

---------

Co-authored-by: qwerty287 <80460567+qwerty287@users.noreply.github.com>
Co-authored-by: 6543 <6543@obermui.de>
2023-06-03 21:38:36 +02:00
Marcin Puc
3a475ce210
Fix faulty hardlink in release tarball (#1669)
Fixes #1664 

The cause was a duplicate entry in the `tar` makefile invocation, as
well as `tar` itself happily producing an additional bogus hardlink in
the archive.
2023-03-22 12:55:39 +01:00
Lauris BH
46452fbd84
Update Go dependencies and minimal Go version to 1.20 (#1650)
Signed-off-by: 6543 <6543@obermui.de>
Co-authored-by: 6543 <6543@obermui.de>
2023-03-21 00:48:15 +01:00
6543
ed78ba78fc
gofump don't touch code generated files (#1654)
`make format` did touch code generated files witch creates a mess from
time to time ...

this change it ...
2023-03-19 22:56:16 +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
6543
0f6ce5c4e9
Bump xgo and go to v1.19.5 (#1538)
made possible again by:
- https://github.com/techknowlogick/xgo/pull/189
- https://github.com/techknowlogick/xgo/pull/193
2023-01-13 21:03:46 +01:00
Josh Soref
e7c8ed00e6
Makefile tweaks (#1410)
make CGO optional and fix a bug

Co-authored-by: 6543 <6543@obermui.de>
2022-11-22 23:39:49 +01:00
6543
9fae0dafaa
Update dep moby & golang.org/x/text (#1263)
* CVE-2022-36109
* CVE-2022-32149
2022-10-14 13:01:06 +02:00
Lukas
fd6923fe20
Replace yarn with pnpm (#1240)
Should resolve startup issues in gitpod and be a lot faster 🚀
2022-10-08 16:15:07 +02:00
Anbraten
c5778e9ce4
Add help command to makefile (#1210)
This changes sorts the makefile a bit and adds a help command to list a commands / targets and what they are doing.
2022-09-28 17:28:23 +02:00
qwerty287
415903f7e8
Fix readme grammar and increase golangci-lint timeout (#1173) 2022-09-07 17:36:48 +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
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
17999da20f
Minim golang 1.18 and drop vendor folder (#979) 2022-06-17 01:57:02 +02:00
John Olheiser
517be0394c
Initial version of CLI docs (#886)
Signed-off-by: jolheiser <john.olheiser@gmail.com>

Co-authored-by: Anbraten <anton@ju60.de>
2022-04-19 14:24:24 +02:00
relnod
da99f47553
Build multiarch images for server (#821)
Co-authored-by: 6543 <6543@obermui.de>
Co-authored-by: Anbraten <anton@ju60.de>
2022-03-01 16:40:24 +01:00
6543
86748bb8f6
Fix Makefile by exposing VERSION_NUMBER var for bundle targets (#816) 2022-03-01 12:28:44 +01:00
6543
f97f6f25b3
fix nfpm (#788)
fix #774
2022-02-24 15:35:11 +01:00
Zav Shotan
51904c9ee1
Add support for building in docker (#759)
be able to build woodpecker on any environment

Co-authored-by: Zav Shotan <zshotan@bloomberg.net>
Co-authored-by: 6543 <6543@obermui.de>
2022-02-10 15:12:47 +01:00
6543
7b2b884a0e
Add Codecov.io Upload (#660)
use https://github.com/woodpecker-ci/plugin-codecov to track code coverage on codecov.io
2022-02-01 19:34:56 +01:00
6543
062579d66f
Run pipeline for binary files on pull if go code changed (#722)
* run pipeline for binary files on pull if go code changed

* add release-dryrun

* run "test" only if go code changes

* fix-build-checksum
2022-01-29 13:58:55 +01:00
6543
9c7691094a
Add multiarch support agent (#622)
- Makefile
  - Delete _with-docker
  - Fix version creation
  - Add default values for  TARGETOS & TARGETARCH
- Add multiarch Dockerfile for agent
- pipeline config
  - target more platforms for agent docker builds (windows & darwin)

close #181, close #187
2021-12-21 02:35:48 +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
Anbraten
4642d98f2e
improve tests (#562) 2021-12-07 01:13:31 +01:00
6543
1172dc3311
Write own yaml2json func (#570)
* fix regression of #384 
 * add more tests
2021-12-07 01:13:02 +01:00
6543
568dceaccf
fix make test (#565)
now vet and formatcheck is lint
2021-12-04 13:24:44 +01:00
Anbraten
f32c20b650
Improve ci tests (#353)
* improve ci tests

* filter store

* improve ci configs

* fix create dir before accessing
2021-11-30 17:46:19 +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
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
Lukas
c28f7cb29f
Add golangci-lint (#502)
Initial part of #435
2021-11-14 21:01:54 +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
Anbraten
0e867e2010
fix deb, rpm releases (#465) 2021-10-21 18:34:49 +02:00
Anbraten
7725058f03
Release deb, rpm bundles (#405) 2021-10-20 21:55:09 +02:00
John Olheiser
17c7fe6011
Add Zerolint (#441)
* Sort imports

Co-authored-by: Anbraten <anton@ju60.de>
2021-10-13 18:48:43 +02:00
Anbraten
7eef7f7a52
build agent for multiple platforms (#408)
(arm, arm64, amd64, linux, windows, darwin)
2021-10-12 09:50:56 +02:00
Anbraten
5ef7e3c8e6
fix cli build (#407) 2021-10-05 01:56:11 +02:00
Anbraten
2084ff3a62
Improve release (#400)
* improve make release

* improve release

* fix release workflow
2021-10-04 19:50:21 +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
Anbraten
b3d40024a9
Rename cmd agent and server folders and binaries (#330)
Renamed `cmd/drone-agent` to `cmd/agent` and `cmd/drone-server` to `cmd/server` and binaries to get rid of the drone name.
2021-09-21 17:06:13 +02:00
Anbraten
188b9e6eb5
Refactor cli (#329)
- move cli files from `cli/drone` to `cli/`
- move cli main to `cmd/cli/main.go` to match agent and server
- use version from `version/version.go` to match agent and server
2021-09-21 16:36:41 +02:00
mscherer
4e721c07cc
Fix docs/makefile after #284 got merged (#291) 2021-09-09 19:39:59 +02:00
6543
75513575be
Use go's vendoring (#284)
* store dependency's in git

* since we vendor ... rm tech-depts

* aad make target 'vendor' to update vendor folder (manual task)
2021-08-30 19:14:04 +02:00
ygbillet
2f222cea25
fix: Build server with correct option (#237)
We must build server with CGO_ENABLED=1 because of mattn/sqlite3.

Co-authored-by: Yves-Gaël BILLET <ygbillet@ifotec.com>
2021-06-30 17:17:54 +02:00
6543
d40a4a4b32
Enable go vet for ci (#230)
* enable go vet for ci

* fix vet issues

* move `./.cli.sh` into `make release-cli`
2021-06-22 13:26:37 +02:00
6543
b52ef5f270
ci: fix build (#231) 2021-06-22 13:12:26 +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