Commit graph

1253 commits

Author SHA1 Message Date
qwerty287
6ef7cddde8
Refresh token before loading branches (#4284) 2024-11-02 19:38:57 +01:00
qwerty287
29474fc7d9
Split repo trusted setting (#4025) 2024-11-01 21:37:31 +01:00
Patrick Schratz
87bfe95c43
Don't parse forge config files multiple times if no error occured (#4272) 2024-10-29 01:57:37 +01:00
Patrick Schratz
9a7623359e
Delete GitLab webhooks with partial URL match (#4259) 2024-10-27 23:28:19 +01:00
Patrick Schratz
785f2e6d6a
Increase WOODPECKER_FORGE_TIMEOUT to fix config fetching for GitLab (#4262) 2024-10-27 11:21:40 +01:00
Patrick Schratz
d37c138738
fix: repo/owner parsing for gitlab (#4255)
Co-authored-by: 6543 <6543@obermui.de>
2024-10-26 23:20:15 +02:00
6543
98d7b1b500
Use middleware to load org (#4208)
Co-authored-by: Anbraten <6918444+anbraten@users.noreply.github.com>
Co-authored-by: Anbraten <anton@ju60.de>
2024-10-09 12:05:01 +02:00
6543
ddd55ee39a
Assign workflows to agents with the best label matches (#4201)
Co-authored-by: Anbraten <6918444+anbraten@users.noreply.github.com>
2024-10-08 23:06:58 +02:00
renovate[bot]
254310556a
fix(deps): update module github.com/google/go-github/v65 to v66 (#4205)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-07 07:56:59 +03:00
6543
f8cfda1ea9
Report custom labels set by agent admins back (#4141) 2024-10-06 17:13:41 +02:00
renovate[bot]
bc74af507e
fix(deps): update module github.com/google/go-github/v64 to v65 (#4185)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-05 15:46:36 +03:00
6543
febb8c5276
Implement org/user agents (#3539) 2024-09-30 12:33:16 +01:00
6543
6ad20ced5b
Move docker resource limit settings from server to agent (#3174)
so you can set it per agent and not per server
2024-09-26 16:56:59 +01:00
6543
fcc57dfc38
Replay pipeline using cli exec by downloading metadata (#4103)
Co-authored-by: Anbraten <6918444+anbraten@users.noreply.github.com>
2024-09-25 07:20:51 +02:00
Lukas
79aeb92e0c
Set repo user to repairing user when old user is missing (#4128) 2024-09-20 22:39:22 +02:00
6543
eebaa10d10
Restart tasks on dead agents sooner (#4114) 2024-09-20 09:40:48 +02:00
Lukas
f2060db5c0
Fix agent last work update throttling (#4124) 2024-09-18 18:26:18 +02:00
hg
276b279b7f
Process workflow logs in batches (#4045) 2024-09-18 16:29:56 +02:00
6543
e89a2f38fd
Make cli exec metadata on pair with build in server generated metadata (#4119)
remove some old environment and add all missing options to set the whole build-in environment on `cli exec` via flags


---
*Sponsored by Kithara Software GmbH*

Co-authored-by: qwerty287 <80460567+qwerty287@users.noreply.github.com>
2024-09-16 22:03:24 +02:00
qwerty287
c45e0885ac
Require upgrade from 2.x (#4112)
Remove old DB migrations and require users to upgrade to 2.x first.
2024-09-16 21:09:42 +02:00
6543
4dd4d9755d
Use session for ServerConfigSet to make it atomic (#4116) 2024-09-16 15:20:47 +03:00
6543
41b2127e04
Don't expose task data via api (#4108) 2024-09-14 22:40:12 +02:00
qwerty287
83926133d4
Allow to restart declined pipelines (#4109) 2024-09-14 17:27:45 +02:00
qwerty287
84c1b92899
Fix migration registries table (#4111) 2024-09-14 14:41:14 +03:00
6543
b1cf44ae0f
Add code comment to document updateAgentLastWorkDelay const (#4101) 2024-09-10 15:52:50 +03:00
6543
38ed7f9efd
Remove some ci environment variables (#3846)
Co-authored-by: qwerty287 <80460567+qwerty287@users.noreply.github.com>
2024-09-08 08:59:58 +03:00
6543
21f6039bc9
Add indices to repo table (#4087) 2024-09-06 11:04:05 +03:00
6543
3c8204a0e0
Allow alter trusted clone plugins and filter them via tag (#4074) 2024-09-01 20:41:10 +02:00
renovate[bot]
8e0af15e85
fix(deps): update module github.com/google/go-github/v63 to v64 (#4073)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-01 17:41:02 +02:00
6543
e4f954ef94
Remove all default 3rd party privileged plugins (#3918) 2024-08-31 19:04:47 +02:00
6543
6767b59932 fix lint issue
because I got distracted by an unrelated CI error and thought the pull was ok :/
https://github.com/woodpecker-ci/woodpecker/pull/4048#issuecomment-2308988964
2024-08-25 23:06:02 +02:00
hg
37d1ca8bc1
Read long log lines from file storage correctly (#4048) 2024-08-25 22:53:04 +02:00
6543
886061fb2f
move arbitrary number into const (#4044) 2024-08-17 10:18:47 +02:00
Anbraten
b8c1d68eb1
Only update agent.LastWork if not done recently (#4031) 2024-08-14 21:53:35 +02:00
qwerty287
bcecbbd398
Fix lint (#4032) 2024-08-14 22:37:05 +03:00
qwerty287
acd862cac3
Improve error on config loading (#4024) 2024-08-11 12:05:10 +02:00
qwerty287
67a9c7991c
Fix cron migration (#4020) 2024-08-10 21:32:21 +02:00
qwerty287
eeec084293
Set refspec for gitlab MR (#4021) 2024-08-10 21:43:50 +03:00
qwerty287
92ff320429
Remove various deprecations (#4017) 2024-08-09 16:50:35 +02:00
hg
df5287bb65
Set CI_PREV_COMMIT_{SOURCE,TARGET}_BRANCH as mentioned in the documentation (#4001) 2024-08-08 19:01:59 +02:00
qwerty287
0d9e57d3da
Drop repo name fallback for hooks (#4013) 2024-08-08 07:50:38 +02:00
qwerty287
2081ca85db
Refactor JSON and SDK fields (#3968) 2024-08-07 10:49:03 +02:00
qwerty287
2d1bc9f15c
Move manual popup to own page (#3981) 2024-08-07 09:31:17 +02:00
qwerty287
c864f24ae4
Migrate to maintained cron lib and remove seconds (#3785)
Co-authored-by: Patrick Schratz <patrick.schratz@gmail.com>
2024-08-06 19:22:28 +02:00
Jener Rasmussen
f20327eb03
[Bitbucket Datacenter] Return empty list instead of null (#4010) 2024-08-06 18:31:50 +02:00
Patrick Schratz
106b6e01c0
Overhaul README (#3995) 2024-08-05 01:27:25 +02:00
Joan Flotats
2d6e1ea015
Fix BB PR pipeline ref (#3985) 2024-08-02 21:42:04 +02:00
Joan Flotats
ec02379b04
Use Bitbucket PR title for pipeline message (#3984) 2024-07-30 20:37:33 +02:00
qwerty287
b330c19bf4
Migrate to maintained httpsign library (#3839)
Co-authored-by: 6543 <6543@obermui.de>
2024-07-23 20:41:37 +02:00
Joan Flotats
047eb19d42
Change Bitbucket PR hook to point the source branch, commit & ref (#3965)
## Description

This is the first fix for: https://github.com/woodpecker-ci/woodpecker/issues/3932

Change the Pull Request hook parser to return the source commit, branch, and ref instead of the destination. Right now, the workflow pulls the destination configuration and code. It should pull the source configuration and code to verify that the configuration and code work as expected before merging the changes.

In case of the close event, the hook parser returns the destination branch, ref and merge commit. Usually, the contributor automatically deletes the source branch after merging the changes to the destination branch. Using the source values will cause the workflow to fail.

After the changes, Woodpecker will correctly download the workflow from the source branch (Pull Request commit), but it will fail to clone the repository. This issue is related to the commit format returned by the Bitbucket webhook. This inconsistency has already been reported: https://jira.atlassian.com/browse/BCLOUD-21201. The webhook returns a short SHA. The problem is that the `git fetch` command requires the full SHA. 

A workaround for this issue is to use the ref to fetch the code:

```yaml
clone:
  git:
    image: woodpeckerci/plugin-git
    settings:
      ref: ${CI_COMMIT_REF}
```

This is not ideal, because the Pull Request head won't always match the workflow commit, but it solves 80% of the event use cases (e.g. trigger a pull request workflow on change). This workaround won't work when re-running a previous workflow pointing to another commit, it will pull the last commit, not the previous one.

## Solutions

The solution proposed by the community is to retrieve the full SHA from the Bitbucket API using the short one. This solution has drawbacks:
- The Bitbucket API rate limit is 1000 req/h. This solution will reduce the maximum number of workflow runs per hour.
- It requires a braking change in the forges interface because the ´Hook(...)´ method does not have an instance of the HTTP Client. 

We propose to allow the git plugin to fetch the source code from a URL. The Bitbucket returns a link pointing to the commit. 

This proposal only requires a small change to the git plugin:
- Add a new optional parameter (e.g. CommitLink)
- Add a clause to the following conditional: 7ac9615f40/plugin.go (L79C1-L88C3)
```go
if p.Pipeline.CommitLink != "" {...}
```
Git commands:
```shell
$ git fetch --no-tags --depth=1 --filter=tree:0 https://bitbucket.org/workspace/repo/commits/692972aabfec
$ git reset --hard -q 692972aabfec # It works with the short SHA
```
Woodpecker will set CommitLink to a blank string for the other forges, but Bitbuckket will use the one returned by the webhook.
2024-07-23 16:58:38 +02:00