Commit Graph

7579 Commits

Author SHA1 Message Date
oauth
5b4f40714e Merge branch 'origin/main' into 'next-release/main' 2026-02-07 01:59:39 +00:00
renovate[bot]
7f1a2d69a8 chore(deps): update dependency golang to v1.25.7 (#6080)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-07 02:58:39 +01:00
oauth
512f7dfd2e 🎉 Release 3.14.0 2026-02-06 22:52:11 +00:00
oauth
9328f385bd Merge branch 'origin/main' into 'next-release/main' 2026-02-06 22:52:11 +00:00
qwerty287
fe9db664fe Add some tests (#6076) 2026-02-06 23:49:42 +01:00
oauth
988284cdb0 🎉 Release 3.14.0 2026-02-06 16:12:22 +00:00
oauth
341b934bd6 Merge branch 'origin/main' into 'next-release/main' 2026-02-06 16:12:21 +00:00
Martin Schmidt
5034dd2aba Added cancel info so one can see why it was cancelled (#6072)
Co-authored-by: 6543 <6543@obermui.de>
Co-authored-by: qwerty287 <80460567+qwerty287@users.noreply.github.com>
Co-authored-by: qwerty287 <qwerty287@posteo.de>
2026-02-06 17:11:02 +01:00
oauth
b7c5a0f736 🎉 Release 3.14.0 2026-02-06 14:10:24 +00:00
oauth
fb649e20d4 Merge branch 'origin/main' into 'next-release/main' 2026-02-06 14:10:24 +00:00
qwerty287
76355d1e56 Ignore mocks for coverage (#6074) 2026-02-06 15:04:48 +01:00
qwerty287
92a489f538 Refresh token before use for all forges (#6062) 2026-02-06 13:35:38 +01:00
oauth
13484dc205 🎉 Release 3.14.0 2026-02-06 11:25:17 +00:00
oauth
31cf61f4e3 Merge branch 'origin/main' into 'next-release/main' 2026-02-06 11:25:17 +00:00
6543
06818ee6ad Don't propagate workflow error from agent back to agent (#6056) 2026-02-06 12:22:32 +01:00
oauth
166e9048bb 🎉 Release 3.14.0 2026-02-06 00:53:34 +00:00
oauth
259c2d6b9f Merge branch 'origin/main' into 'next-release/main' 2026-02-06 00:53:34 +00:00
renovate[bot]
cf78d5dd7e fix(deps): update module gitlab.com/gitlab-org/api/client-go to v1.28.0 (#6069)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-06 01:52:14 +01:00
oauth
61efa6db64 🎉 Release 3.14.0 2026-02-05 20:43:50 +00:00
oauth
f3ffdbfb82 Merge branch 'origin/main' into 'next-release/main' 2026-02-05 20:43:50 +00:00
6543
8a8f9ad3aa Fix pipeline cancellation status handling and step state synchronization (#6011)
Co-authored-by: pnkcaht <samzoovsk19@gmail.com>
Co-authored-by: qwerty287 <80460567+qwerty287@users.noreply.github.com>
Co-authored-by: Lauris B <lauris@nix.lv>
2026-02-05 21:41:05 +01:00
oauth
b5fc8cae96 🎉 Release 3.14.0 2026-02-05 14:31:55 +00:00
oauth
951aad2507 Merge branch 'origin/main' into 'next-release/main' 2026-02-05 14:31:55 +00:00
ArtEngr
1af1ef562c Add retry logic for CreatePipeline with backoff (#6067) 2026-02-05 15:29:52 +01:00
oauth
f659fad9f6 🎉 Release 3.14.0 2026-02-05 01:22:48 +00:00
oauth
77a884c4bb Merge branch 'origin/main' into 'next-release/main' 2026-02-05 01:22:48 +00:00
renovate[bot]
0f71f68c8c fix(deps): update module gitlab.com/gitlab-org/api/client-go to v1.27.0 (#6065)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-05 02:21:38 +01:00
oauth
80e0f325ef 🎉 Release 3.14.0 2026-02-04 01:22:40 +00:00
oauth
2085545592 Merge branch 'origin/main' into 'next-release/main' 2026-02-04 01:22:40 +00:00
renovate[bot]
1c07194a25 fix(deps): update module gitlab.com/gitlab-org/api/client-go to v1.26.0 (#6063)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-04 02:21:27 +01:00
6543
22c652fffb Translated using Weblate (Bavarian)
Currently translated at 100.0% (427 of 427 strings)

Translation: Woodpecker CI/UI
Translate-URL: https://translate.woodpecker-ci.org/projects/woodpecker-ci/ui/bar/
2026-02-03 19:01:52 +00:00
6543
1e328e2ccf Translated using Weblate (German)
Currently translated at 100.0% (427 of 427 strings)

Translation: Woodpecker CI/UI
Translate-URL: https://translate.woodpecker-ci.org/projects/woodpecker-ci/ui/de/
2026-02-03 19:01:52 +00:00
qwerty287
8b11ab56a9 Revert dynamic autofollow (#6061) 2026-02-03 20:01:45 +01:00
oauth
d183fc242e 🎉 Release 3.14.0 2026-02-03 16:12:38 +00:00
oauth
4a588773b0 Merge branch 'origin/main' into 'next-release/main' 2026-02-03 16:12:37 +00:00
6543
52cb9f6c21 Document required forge methods (#6049) 2026-02-03 17:04:24 +01:00
Rafael Fontenelle
e9cf3a7988 Translated using Weblate (Portuguese)
Currently translated at 100.0% (427 of 427 strings)

Translation: Woodpecker CI/UI
Translate-URL: https://translate.woodpecker-ci.org/projects/woodpecker-ci/ui/pt/
2026-02-03 13:49:24 +00:00
qwerty287
093484b2ba Translated using Weblate (German)
Currently translated at 100.0% (427 of 427 strings)

Translation: Woodpecker CI/UI
Translate-URL: https://translate.woodpecker-ci.org/projects/woodpecker-ci/ui/de/
2026-02-03 13:49:23 +00:00
oauth
0c34b0a31f 🎉 Release 3.14.0 2026-02-03 12:40:41 +00:00
oauth
7ffdebde0a Merge branch 'origin/main' into 'next-release/main' 2026-02-03 12:40:41 +00:00
6543
56c9d96f3d Update Module Interaction Diagram (#6019)
Co-authored-by: qwerty287 <80460567+qwerty287@users.noreply.github.com>
2026-02-03 13:39:37 +01:00
oauth
5d96f68225 🎉 Release 3.14.0 2026-02-03 12:35:19 +00:00
oauth
6d69561d8c Merge branch 'origin/main' into 'next-release/main' 2026-02-03 12:35:19 +00:00
Kevin Web
894ba77d94 Fix OAuth token refresh in webhook handling for Bitbucket and GitHub (#6059)
## Summary

Fixes #5590
Fixes #5713

This PR fixes an issue where webhook handling fails with "failure to parse hook" error when the user's OAuth access token has expired. The root cause is that the Bitbucket and GitHub forge implementations make API calls during webhook processing without first refreshing the OAuth token.

## Problem

When a webhook arrives from Bitbucket or GitHub, the `Hook()` function (and its helper functions) make API calls to fetch additional data (changed files, repo info, etc.). These API calls use the stored OAuth access token, which may have expired.

**Before this fix:**
1. Webhook arrives
2. `Hook()` makes API calls with potentially expired token
3. API call fails with "OAuth2 access token expired"
4. Error bubbles up as HTTP 400 "failure to parse hook"
5. `forge.Refresh()` is called later in `PostHook()` - but it's too late

**Example error from logs:**

`failure to parse hook error="OAuth2 access token expired. Use your refresh token to obtain a new access token."`


## Solution

Add `forge.Refresh()` calls before making API calls in the webhook handling code paths. This follows the same pattern already used by:
- Bitbucket Data Center forge (`server/forge/bitbucketdatacenter/bitbucketdatacenter.go`)
- Other code paths like `pipeline.Create()`, `cron.go`, etc.

### Changes

**Bitbucket** (`server/forge/bitbucket/bitbucket.go`):
- Added `forge.Refresh()` in `Hook()` before API calls

**GitHub** (`server/forge/github/github.go`):
- Added `forge.Refresh()` in `loadChangedFilesFromPullRequest()`
- Added `forge.Refresh()` in `getTagCommitSHA()`
- Added `forge.Refresh()` in `loadChangedFilesFromCommits()`

## Testing

- All existing Bitbucket and GitHub forge tests pass
- Tested in production environment with Bitbucket (waited for token expiry, webhook succeeded after fix)
2026-02-03 13:34:01 +01:00
oauth
064e118610 🎉 Release 3.14.0 2026-02-03 07:28:03 +00:00
oauth
1dff25dc6c Merge branch 'origin/main' into 'next-release/main' 2026-02-03 07:28:03 +00:00
renovate[bot]
57b2449bb1 fix(deps): update golang-packages (#6058)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: qwerty287 <qwerty287@posteo.de>
2026-02-03 08:26:49 +01:00
oauth
794ce7b624 🎉 Release 3.14.0 2026-02-02 18:26:49 +00:00
oauth
ddfea7b5d2 Merge branch 'origin/main' into 'next-release/main' 2026-02-02 18:26:48 +00:00
Anbool
a1c89071f3 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (429 of 429 strings)

Translation: Woodpecker CI/UI
Translate-URL: https://translate.woodpecker-ci.org/projects/woodpecker-ci/ui/zh_Hans/
2026-02-02 18:25:36 +00:00