225ddb586d
Rework entrypoints ( #3269 )
...
Co-authored-by: Thomas Anderson <127358482+zc-devs@users.noreply.github.com >
Co-authored-by: 6543 <m.huber@kithara.com >
2024-05-02 14:52:01 +02:00
c9a3bfb321
Fix spellcheck and enable more dirs ( #3603 )
2024-04-09 09:04:53 +02:00
a779eed3df
Enable golangci linter gomnd ( #3171 )
2024-03-15 18:00:25 +01:00
f92f8b17a3
Make agent usable for external backends ( #3270 )
2024-02-08 16:33:22 +01:00
5e2f7d81b3
Clean up models ( #3228 )
2024-01-22 07:56:18 +01:00
d1d2e9723d
Support custom steps entrypoint ( #2985 )
...
Closes https://github.com/woodpecker-ci/woodpecker/issues/278
---------
Co-authored-by: Anbraten <anton@ju60.de >
Co-authored-by: 6543 <6543@obermui.de >
2024-01-19 05:34:02 +01:00
001b5639a6
Use assert
for test ( #3201 )
...
instead of `if`s
2024-01-14 19:33:58 +01:00
0611fa9b32
Added protocol in port configuration ( #2993 )
...
Closes #2727
2024-01-12 23:57:24 +01:00
f813badcf9
Enable golangci linter contextcheck ( #3170 )
...
Split out from https://github.com/woodpecker-ci/woodpecker/pull/2960
2024-01-11 22:15:15 +01:00
f8fb28e651
More docker backend test remove more undocumented ( #3156 )
...
remove Sysctls and IpcMode
2024-01-11 19:30:13 +01:00
c91c6fbe9e
TestToConfigSmall ignore sort order of env vars ( #3154 )
...
so this https://ci.woodpecker-ci.org/repos/3780/pipeline/11803/30 can
not randomly happen
2024-01-09 18:34:11 +01:00
e3cf7b212c
fix also test of #3137
2024-01-09 16:36:17 +01:00
06538504f8
fix regression: save env into configEnv
...
introduced by #3137
2024-01-09 16:28:10 +01:00
12df59d0ec
Add step name as label to docker containers ( #3137 )
...
and add a test
2024-01-09 06:01:34 +01:00
253d702bc7
Fix IPv6 host aliases for kubernetes ( #2992 )
...
Closes #2991
[Tests](https://github.com/woodpecker-ci/woodpecker/pull/2993#issuecomment-1868048169 )
---------
Co-authored-by: 6543 <6543@obermui.de >
2023-12-23 00:42:30 +01:00
cd9d425a0d
Fix cli lint throwing error on warnings ( #2995 )
...
split out from #2771
---------
Co-authored-by: Anbraten <anton@ju60.de >
2023-12-23 00:34:17 +02:00
ff1f51d6a9
Rename engine
to backend
( #2950 )
...
rename based on https://woodpecker-ci.org/docs/usage/terminiology
---------
Co-authored-by: 6543 <6543@obermui.de >
2023-12-14 19:20:47 +01:00
adb2c82790
Update go module path for major version 2 ( #2905 )
...
https://go.dev/doc/modules/release-workflow#breaking
Fixes https://github.com/woodpecker-ci/woodpecker/issues/2913 fixes
#2654
```
runephilosof@fedora:~/code/platform-woodpecker/woodpecker-repo-configurator (master)$ go get go.woodpecker-ci.org/woodpecker@v2.0.0
go: go.woodpecker-ci.org/woodpecker@v2.0.0: invalid version: module contains a go.mod file, so module path must match major version ("go.woodpecker-ci.org/woodpecker/v2")
```
---------
Co-authored-by: qwerty287 <80460567+qwerty287@users.noreply.github.com >
2023-12-08 08:15:08 +01:00
bc95443853
Fix podman agent container in v2 ( #2897 )
...
Add additional string matching to determine when container is not found
or running when invoked via podman compatibility socket
Co-authored-by: qwerty287 <80460567+qwerty287@users.noreply.github.com >
2023-12-02 20:22:23 +01:00
5a7b689e30
Switch to go vanity urls ( #2706 )
...
Co-authored-by: Anbraten <anton@ju60.de >
2023-11-07 08:04:33 +01:00
ebe0307c6b
Let the backend engine report the current platform ( #2688 )
...
if you run woodpecker-agent on windows and connect it to an docker
daemon, there could be two different platforms possible, as you can
switch from linux to windows mode and visa versa
---
*Sponsored by Kithara Software GmbH*
2023-11-01 15:38:37 +01:00
4198c447fb
Destroy steps after they are done ( #2681 )
...
Co-authored-by: 6543 <m.huber@kithara.com >
2023-11-01 09:35:11 +01:00
1b98e58014
Update to docker 23 ( #2577 )
...
fix #1807
2023-10-14 12:39:45 +02:00
d253f8cc30
Make sure we dont have hidden options for backend and pipeline compiler ( #2123 )
...
move options based on **os.Getenv** into flags
---------
*Sponsored by Kithara Software GmbH*
2023-08-07 21:13:26 +02:00
3cd78c9409
Refactor agent ( #2021 )
...
- code cleanup
- init backend engine only once
- pass a taskUUID to the backend
---
*Sponsored by Kithara Software GmbH*
2023-07-20 20:39:20 +02:00
7b97e27fea
docker: use uuid instead of name as identifyer ( #1967 )
...
close #1959
2023-07-10 17:59:25 +02:00
5393aa5d3b
Move docker specific volume & network settings into backend code ( #1956 )
...
... if we want to make them be changed ... it should be an
agent-backend-option
2023-07-09 21:03:19 +02:00
556607b525
Rework log streaming and related functions ( #1802 )
...
closes #1801
closes #1815
closes #1144
closes #983
closes #557
closes #1827
regression of #1791
# TODO
- [x] adjust log model
- [x] add migration for logs
- [x] send log line via grpc using step-id
- [x] save log-line to db
- [x] stream log-lines to UI
- [x] use less structs for log-data
- [x] make web UI work
- [x] display logs loaded from db
- [x] display streaming logs
- [ ] ~~make migration work~~ -> dedicated pull (#1828 )
# TESTED
- [x] new logs are stored in database
- [x] log retrieval via cli (of new logs) works
- [x] log streaming works (tested via curl & webui)
- [x] log retrieval via web (of new logs) works
---------
Co-authored-by: 6543 <6543@obermui.de >
2023-06-06 09:52:08 +02:00
f81b447638
remove undocumented docker specific option ( #1825 )
2023-06-05 17:30:32 +02:00
3d0338315f
Revert to docker 20.10.x for API 1.41 compatibility ( #1792 )
...
fix #1786
---------
Co-authored-by: 6543 <6543@obermui.de >
2023-06-02 15:09:38 +02:00
188123ea74
Update dependencies ( #1744 )
2023-05-11 00:28:02 +02:00
f582ad3159
Various enhancements in configuration ( #1645 )
...
- backends: move to cli flags instead of os.Getenv
- ssh: support 2fa with key and password
- allow to set grpc jwt secret (solves todo)
- allow to set default and max timeout (solves todo)
Closes https://github.com/woodpecker-ci/woodpecker/issues/896
Closes https://github.com/woodpecker-ci/woodpecker/issues/1131
2023-03-19 20:24:43 +01:00
fa5b0fb96e
Fix linter ( #1647 )
2023-03-18 20:35:27 +01:00
5e1171d7a7
fix: docker backend should not close 'engine.Tail' result ( #1616 )
...
Closes https://github.com/woodpecker-ci/woodpecker/issues/1615
The error described in
https://github.com/woodpecker-ci/woodpecker/issues/1615 is happening
because `Tail` method of the docker backend closes the instance of
`io.ReadCloser` it returns in `defer` function. As a result anything
that try to read data returned by `Tail` method eventually will attempt
to read from closes reader and get an error:
2171212c5a/pipeline/backend/docker/docker.go (L229)
The fix is just don't close returned reader and let the consumer of
`Tail` method do it. Good thing is that `Tail` is used only in one place
and reader is correctly closed:
2171212c5a/pipeline/pipeline.go (L231-L237)
Example of `woodpecker exec` output using pipeline from
https://github.com/woodpecker-ci/woodpecker/issues/1615 with the fix:
```
woodpecker exec .woodpecker.yaml
[step1:L0:0s] + echo step1
[step1:L1:0s] step1
[step2:L0:0s] + echo step2
[step2:L1:0s] step2
```
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com >
Co-authored-by: Lauris BH <lauris@nix.lv >
2023-03-12 16:01:09 +01:00
f26a87acce
Deduplicate step docker container volumes ( #1571 )
...
Try to fix #1495
It's very hard to reproduce it and only way to fix when it gets in this
state is woodpecker agent restart.
This anyway fixes problem if step mounts and
`WOODPECKER_BACKEND_DOCKER_VOLUMES` conflict
2023-01-31 21:33:40 +01:00
b15ca52a63
Move constrain to only have a single command in backend to run to dedicated backends ( #1032 )
...
at the moment we compile a script that we can pipe in as single command
this is because of the constrains the docker backend gives us.
so we move it into the docker backend and eventually get rid of it altogether
2022-10-31 00:26:49 +01:00
36e42914fa
Renamed procs/jobs to steps in code ( #1331 )
...
Renamed `procs` to `steps` in code for the issue #1288
Co-authored-by: Harikesh Prajapati <harikesh.prajapati@druva.com >
Co-authored-by: qwerty287 <ndev@web.de >
Co-authored-by: qwerty287 <80460567+qwerty287@users.noreply.github.com >
Co-authored-by: 6543 <6543@obermui.de >
2022-10-28 17:38:53 +02:00
70114ed1fd
Fix handling of empty strings for default docker volumes ( #1209 )
2022-09-27 11:43:35 +02:00
2e08dd2333
Add option to set default volumes for docker backend ( #1203 )
2022-09-26 16:59:26 +02:00
9c99406a06
Use archive.org to preserve code comment
2022-09-26 14:52:28 +02:00
62a1fd8dcb
Add support to define a custom docker network and enable docker ipv6 ( #893 )
...
- Add support to define a custom docker network and enable docker ipv6
- Adjust docs
2022-04-29 15:15:32 +02:00
e178b7b4b2
Improve agent backend loading and suppress expectable errors ( #818 )
...
* improve agent loop loading backend once
* supress container not found or stopped warnings
2022-03-08 16:21:43 +01:00
3b52afab93
Use DOCKER_HOST
env to search for docker before searching for a hardcode docker socket ( #763 )
...
Fix #757
2022-02-09 00:08:20 +01:00
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
e072e4cce7
Fix pipeline backend autodetect ( #545 )
...
* refactor:
- rename IsAvivable -> IsAvailable
- drop depricated Kill
- make sure backends implement interface
- rename backend struct for ide (better info)
* docker backend fix autodetect
2021-11-27 02:29:14 +01:00
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
fac0e16996
Add linter staticcheck ( #535 )
...
* Add linter staticcheck
Co-authored-by: 6543 <6543@obermui.de >
2021-11-25 17:15:36 +01:00
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
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
da6fa0ec70
Use moby definitions for docker pipeline backend ( #364 )
...
* Migrate from docker to moby
* moby as interface docker as implementation
* Migrate deprecated func
2021-09-26 21:51:59 +02:00