61 Commits
Author SHA1 Message Date
Robert KaussowandGitHub dac85f9f86 Merge branch 'main' into pr/4861 2025-12-18 14:33:08 +01:00
Henrik HuittiandGitHub 87ec6ceccb fix: updateRepoPermissions to cleanup old permissions (#5790) 2025-11-29 17:19:55 +01:00
5a93de88dd add events query parameter to badge url (#5728)
Co-authored-by: damage <damage@devloop.de>
2025-11-27 12:35:29 +02:00
6543andGitHub 21ef4cac53 On set/get of repo make sure forge_id is set and on fetch respected (#5717) 2025-11-27 09:39:41 +01:00
Robert KaussowandGitHub a0cbd4d0fc Merge branch 'main' into pr/4861 2025-10-21 08:19:49 +02:00
045a22209a Support multiple users with same login name but different forges (#5612)
Co-authored-by: 6543 <6543@obermui.de>
Co-authored-by: Robert Kaussow <mail@thegeeklab.de>
2025-10-21 08:19:09 +02:00
Robert KaussowandGitHub b25273e71e Merge branch 'main' into pr/4861 2025-10-12 21:04:17 +02:00
Robert Kaussow 95d0285e91 cleanup 2025-10-12 20:09:47 +02:00
8771f57cb1 Add repo filter options to GetRepos api (#5631)
Co-authored-by: Anbraten <6918444+anbraten@users.noreply.github.com>
2025-10-12 16:16:52 +02:00
ArthurandRobert Kaussow 7e960b4a2b Added support for managing manual pipeline parameters
Introduced backend API endpoints, database operations, and web UI components for creating, updating, listing, and deleting manual pipeline parameters. This update includes tests for datastore functions, integration with the Vue.js web interface, and mock implementation for parameter-related methods.
2025-10-12 15:03:58 +02:00
qwerty287andGitHub e9c545e25b Add StepFinished to log service (#5530) 2025-09-24 13:41:03 +02:00
Robert KaussowandGitHub 2f3c4a28c1 Migrate to mockery v3 (#5547) 2025-09-24 13:12:55 +02:00
45a92cd928 Fix org assign on login (#4817)
Co-authored-by: qwerty287 <qwerty287@posteo.de>
Co-authored-by: qwerty287 <80460567+qwerty287@users.noreply.github.com>
2025-02-16 12:02:18 +02:00
Lauris BHandGitHub 021cc59d53 Optimize repository list loading to return also latest pipeline info (#4814) 2025-02-08 09:42:45 +02:00
81b74025d4 Update Go imports paths (#4605)
Co-authored-by: Robert Kaussow <mail@thegeeklab.de>
2024-12-22 10:44:34 +01:00
Robert KaussowandGitHub 7fa474c5c3 Ignore blocked pipelines for badge rendering (#4582) 2024-12-18 08:58:08 +01:00
6543andGitHub febb8c5276 Implement org/user agents (#3539) 2024-09-30 12:33:16 +01:00
hgandGitHub 276b279b7f Process workflow logs in batches (#4045) 2024-09-18 16:29:56 +02:00
6543andGitHub 757f5a58e2 Gracefully shutdown server (#3896) 2024-07-14 01:46:01 +02:00
28e982fffb Global and organization registries (#1672)
Co-authored-by: Anbraten <6918444+anbraten@users.noreply.github.com>
2024-07-03 06:33:11 -07:00
6543andGitHub 402938e216 Exclude mocks from release build (#3831) 2024-06-25 12:23:07 +02:00
9972c24924 Add filter options to GetPipelines API (#3645)
Separate this change from
https://github.com/woodpecker-ci/woodpecker/pull/3506

I would like to get at least this change into v2.5.0 if possible.

---------

Co-authored-by: qwerty287 <80460567+qwerty287@users.noreply.github.com>
2024-04-25 09:37:42 +02:00
d494b6a959 Use forge from db (#1417)
This is the first step towards support for multiple forges (#138). It
inserts a forge using the currently existing env varaibles into db and
uses this forge from db later on in all places of the code.

closes #621

addresses #138 

# TODO
- [x] add forges table
- [x] add id of forge to repo
- [x] use forge of repo
- [x] add forge from env vars to db if not exists
- [x] migrate repo.ForgeID to the newly generated forge
- [x] support cache with forge from repo
- [x] maybe add forge loading cache? (use LRU cache for forges, I expect
users to have less than 10 forges normally)

---------

Co-authored-by: qwerty287 <80460567+qwerty287@users.noreply.github.com>
2024-04-16 08:04:55 +02:00
Robert KaussowandGitHub 781628816d Fix make in_docker generate (#3616) 2024-04-15 17:46:44 +02:00
e57a09a404 Update pipeline state on server as a whole on approval (#3504)
We can not just update some records for steps, as we want the pipeline
engine as single source of truth but not manage the state.
And the server should only manage the state but not how pipelines work.

We can match the pipeline but neither workflows or steps 1:1, so we
"update" them as a whole by deleting existing workflow and step data and
insert the new info from engine.

close   #3494
close  #3472

---------
*Sponsored by Kithara Software GmbH*

---------

Co-authored-by: Robert Kaussow <xoxys@rknet.org>
2024-03-18 20:07:45 +01:00
qwerty287andGitHub e1521ef460 Set correct link for commit (#3368)
Closes https://github.com/woodpecker-ci/woodpecker/issues/2657
Closes https://github.com/woodpecker-ci/woodpecker/issues/906
2024-02-11 10:44:50 +01:00
6543andGitHub 7b29d1da49 Make PipelineConfig unique again (#3215)
fix https://github.com/woodpecker-ci/woodpecker/issues/3093

reverts https://github.com/woodpecker-ci/woodpecker/pull/3128
2024-01-18 23:50:29 +02:00
qwerty287andGitHub 9d9bcbf363 Hide PR tab if PRs are disabled (#3004)
Closes https://github.com/woodpecker-ci/woodpecker/issues/2988
2023-12-24 11:04:18 +02:00
6de5922408 Fix skipped pipelines model (#2923)
Fixes: https://github.com/woodpecker-ci/woodpecker/issues/2901

---------

Co-authored-by: Lauris BH <lauris@nix.lv>
2023-12-12 22:30:52 +02: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
7bacbd5699 Migrate to Xormigrate (#2711)
Co-authored-by: Anbraten <anton@ju60.de>
2023-11-28 10:31:54 +01:00
981384b79a Change PullRequest Index to ForgeRemoteID / string type (#2823)
Co-authored-by: Patrick Schratz <patrick.schratz@gmail.com>
Co-authored-by: qwerty287 <80460567+qwerty287@users.noreply.github.com>
Co-authored-by: Anbraten <anton@ju60.de>
2023-11-26 00:52:52 +01:00
qwerty287andGitHub 70711ed9db Replace interface{} with any (#2807)
like golang:
https://github.com/golang/go/commit/2580d0e08d5e9f979b943758d3c49877fb2324cb
2023-11-12 18:23:48 +01:00
5a7b689e30 Switch to go vanity urls (#2706)
Co-authored-by: Anbraten <anton@ju60.de>
2023-11-07 08:04:33 +01:00
qwerty287andGitHub e74115027b Add some tests (#2652)
and some cleanups
2023-10-28 13:37:54 +02:00
qwerty287andGitHub d04bb72e5e Add repos list for admins (#2347) 2023-09-08 12:26:20 +02:00
qwerty287andGitHub aab7e73322 Execute make generate with new versions (#2365)
Fixes current swagger checks:
https://ci.woodpecker-ci.org/repos/3780/pipeline/7605/26
2023-09-01 16:44:55 +02:00
qwerty287andGitHub 479ced3b25 Add org list (#2338)
![Screenshot 2023-08-28 at 10-08-20
Woodpecker](https://github.com/woodpecker-ci/woodpecker/assets/80460567/e3248b05-7899-43ca-a0cf-4834eae078d8)
Closes #2307
2023-08-28 11:15:16 +02:00
qwerty287andGitHub 8cdac56d8f Check for correct license header (#2137) 2023-08-10 11:06:00 +02:00
e5d5ec8b47 Use id to access orgs (#1873)
closes #1743 

fixes: setting secrets for own user namespace

- create org in database
- use orgID for org related APIs

Co-authored-by: 6543 <6543@obermui.de>
2023-07-21 19:45:32 +02:00
6543andGitHub d9991e67e5 let HookParse func explicit ignore events (#1942)
for now it's not clear defined, what to do on an unsupported event.
e.g. gitea webhook panel shows 500 error and no message.

now we have a successful webhook and a message to show an info
2023-07-14 02:03:54 +02:00
6543andGitHub b54f6ebad6 Let pipeline-compiler export step types (#1958) 2023-07-11 15:53:05 +02:00
3033abc3b4 Add own workflow model (#1784)
Closes #1287

---------

Co-authored-by: 6543 <6543@obermui.de>
2023-06-27 18:01:18 +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
317bd24abb Define Glossary (#1800)
based on
https://github.com/woodpecker-ci/woodpecker/issues/745#issuecomment-1313401427

close  #1724

---------

Co-authored-by: qwerty287 <80460567+qwerty287@users.noreply.github.com>
Co-authored-by: Anbraten <anton@ju60.de>
2023-06-03 16:39:56 +02:00
c464f857ae Remove unused file system api (#1791)
Co-authored-by: 6543 <6543@obermui.de>
2023-05-31 18:03:03 +02:00
qwerty287andGitHub 6d2240b2e6 Identify users using their remote ID (#1732) 2023-05-11 05:19:35 +02:00
qwerty287andGitHub 0f9188597e Initiate Pagination Implementation for API and Infinite Scroll in UI (#1651)
- Add pagination support to the API endpoints that return lists of items
- Adjust UI to enable infinite scrolling via pagination
2023-04-30 03:40:13 +02:00
0970f35df5 Do not store inactive repos (#1658)
Do not sync repos with forge if the repo is not necessary in DB.

In the DB, only repos that were active once or repos that are currently
active are stored. When trying to enable new repos, the repos list is
fetched from the forge instead and displayed directly. In addition to
this, the forge func `Perm` was removed and is now merged with `Repo`.

Solves a TODO on RepoBatch.

---------

Co-authored-by: Anbraten <anton@ju60.de>
2023-03-21 23:01:59 +01:00
6543andGitHub 92614dfb1e Agent check gRPC version against server (#1653)
close #1114

As long as the `VersionResponse` type is not changed the check will
fail/pass gracefully

example output:
```
{"level":"error","error":"GRPC version mismatch","time":"2023-03-19T19:49:09+01:00","message":"Server version next-6923e7ab does report grpc version 2 but we only understand 1"}
GRPC version mismatch
```
2023-03-19 22:42:21 +01:00