Commit graph

1247 commits

Author SHA1 Message Date
Harri Avellan
1274de2b2d
Handle empty repositories in gitea when listing PRs (#3925) 2024-07-18 04:30:45 -07:00
6543
cd5f6f71a2
Migrate to github.com/urfave/cli/v3 (#2951) 2024-07-18 01:26:35 +02:00
renovate[bot]
8aef8d2af9
fix(deps): update module github.com/google/go-github/v62 to v63 (#3910)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-14 07:58:35 +02:00
6543
757f5a58e2
Gracefully shutdown server (#3896) 2024-07-14 01:46:01 +02:00
Anbraten
43b82ba047
Convert to openapi 3.0 (#3897)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: 6543 <6543@obermui.de>
2024-07-13 15:55:13 +02:00
Anbraten
b12d676546
Allow login using multiple forges (#3822) 2024-07-13 01:41:35 -07:00
6543
bc02d376b2
Sort users by login (#3891) 2024-07-12 20:27:37 +02:00
Lauris BH
40b496f13b
Fix helper functions for MySQL syntax (#3874) 2024-07-12 18:18:55 +02:00
Anbraten
ceb14cadc5
Fix deploy task env (#3878) 2024-07-07 13:43:07 +02:00
Anbraten
b23fdaa6dc
Fix registry migration (#3871) 2024-07-04 01:29:56 -07:00
Lauris BH
28e982fffb
Global and organization registries (#1672)
Co-authored-by: Anbraten <6918444+anbraten@users.noreply.github.com>
2024-07-03 06:33:11 -07:00
Anbraten
918985c508
Add timestamp for last work done by agent (#3844) 2024-07-01 10:34:47 -07:00
Anbraten
2fa9432ef8
Cleanup state reporting (#3850) 2024-07-01 11:20:55 +02:00
Anbraten
2bda19024e
Use proper oauth state (#3847) 2024-06-27 16:52:09 +02:00
qwerty287
92cd0d04a3
Unify DB tables/columns (#3806)
Co-authored-by: Anbraten <6918444+anbraten@users.noreply.github.com>
2024-06-27 09:32:06 +02:00
Anbraten
b8b6efb352
Enhance token checking (#3842) 2024-06-27 00:08:59 +02:00
6543
4dcdebd786
Let webhook pass on pipeline parsion error (#3829) 2024-06-26 15:07:19 +02:00
6543
402938e216
Exclude mocks from release build (#3831) 2024-06-25 12:23:07 +02:00
Anbraten
b0f3883bd5
Cleanup of the login flow and tests (#3810) 2024-06-21 16:25:27 +02:00
Anbraten
1a39d57f71
Enhance authentication UX (#3807) 2024-06-21 09:55:30 +02:00
Anbraten
fbb96ff8f5
Add api for forges (#3733) 2024-06-20 13:08:54 +02:00
qwerty287
760a903a30
Add release event to webhooks (#3784) 2024-06-13 19:04:15 +02:00
Anbraten
8b387e73ee
Improve step logging (#3722) 2024-06-13 17:18:32 +02:00
Anbraten
1953a0ec5a
Fix repo creation (#3756) 2024-06-10 12:28:54 +02:00
qwerty287
c72468478d
Allow to store logs in files (#3568)
Co-authored-by: Anbraten <6918444+anbraten@users.noreply.github.com>
2024-06-06 14:34:57 +02:00
qwerty287
d28e150534
Use http constants (#3766) 2024-06-06 11:16:45 +02:00
6543
4ec046e415
Spellcheck "server/*" (#3753)
Co-authored-by: Anbraten <6918444+anbraten@users.noreply.github.com>
Co-authored-by: qwerty287 <80460567+qwerty287@users.noreply.github.com>
2024-06-04 08:30:54 +02:00
qwerty287
91b122e1ce
Native forgejo support (#3684)
Co-authored-by: Robert Kaussow <xoxys@rknet.org>
Co-authored-by: John Olheiser <john.olheiser@gmail.com>
2024-06-01 11:23:19 +02:00
linghuying
f47f482985
chore: fix some comments (#3740)
Signed-off-by: linghuying <1599935829@qq.com>
2024-05-31 15:57:57 +02:00
Anbraten
fd57e4ad05
Use IDs for tokens (#3695) 2024-05-27 11:52:43 +02:00
Dan
6132136d55
Fix oauth file envvars (#3726)
Co-authored-by: Anbraten <6918444+anbraten@users.noreply.github.com>
2024-05-27 11:22:31 +02:00
renovate[bot]
bf4061b72d
fix(deps): update module github.com/google/go-github/v61 to v62 (#3730)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-26 18:18:34 +02:00
6543
42f2734308
cspell lint go code (#3706) 2024-05-24 22:35:04 +02:00
renovate[bot]
37ea906958
fix(deps): update golang-packages (#3713)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: qwerty287 <qwerty287@posteo.de>
2024-05-23 17:37:21 +02:00
Anbraten
5527d9bf86
Cleanup server env settings (#3670)
Co-authored-by: Robert Kaussow <mail@thegeeklab.de>
Co-authored-by: Robert Kaussow <xoxys@rknet.org>
2024-05-15 15:45:08 +02:00
Robert Kaussow
89e100cfd1
Add godot linter to harmonitze toplevel comments (#3650) 2024-05-13 22:58:21 +02:00
6543
378ec1a67a
Make retry count of config fetching form forge configure (#3699)
Co-authored-by: qwerty287 <80460567+qwerty287@users.noreply.github.com>
2024-05-13 19:43:45 +02:00
qwerty287
f8151aa97d
Check for error in repo middleware (#3688)
Co-authored-by: Robert Kaussow <mail@thegeeklab.de>
2024-05-11 10:38:35 +02:00
qwerty287
8b785be645
Fix parent pipeline number env on restarts (#3683) 2024-05-06 11:47:02 +02:00
ianlv
6004e9907d
Correct function names (#3681)
Signed-off-by: ianlv <sunlvyun@outlook.com>
2024-05-04 14:13:43 +02:00
Fernando Barbosa
e6bda2c2b3
Support github deploy task (#3512)
Co-authored-by: qwerty287 <80460567+qwerty287@users.noreply.github.com>
2024-05-02 18:56:19 +02:00
qwerty287
fa4b1f76bd
Fix bitbucket dir fetching (#3668) 2024-05-01 12:22:07 +02:00
Anbraten
dbd91d3884
Cleanup api docs and ts api-client options (#3663) 2024-05-01 11:50:41 +02:00
Robert Kaussow
7f776ebf18
Sanitize tag ref for gitea/forgejo (#3664) 2024-04-30 09:59:03 +02:00
Anbraten
ae14150c09
Fix secret loading (#3620) 2024-04-29 21:33:45 +02:00
Robert Kaussow
4b1ff6d1a7
Compare to pipeline created timestamp while using before/after filter (#3654) 2024-04-28 10:32:31 +02:00
Robert Kaussow
d0057736f1
Add DeletePipeline API (#3506)
This is just a first step, the final goal is to have an API endpoint to
prune Repo Pipelines older than the given date.

@woodpecker-ci/maintainers Can I get some feedback if this is the right
direction?

---------

Co-authored-by: 6543 <m.huber@kithara.com>
2024-04-25 10:59:17 +02:00
Robert Kaussow
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
Anbraten
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 Kaussow
781628816d
Fix make in_docker generate (#3616) 2024-04-15 17:46:44 +02:00
qwerty287
00f0fcd416
Rework addons (use rpc) (#3268)
Co-authored-by: Anbraten <6918444+anbraten@users.noreply.github.com>
2024-04-15 10:04:21 +02:00
Thomas Anderson
b8763a8f34
Step logs removing API and Button (#3451)
Closes #3444
closes #1272

---

Admin:
![Screenshot 2024-02-27
1](https://github.com/woodpecker-ci/woodpecker/assets/127358482/285b2daa-9a37-4bd8-a11e-c4b7ced20e5a)
![Screenshot 2024-02-27
2](https://github.com/woodpecker-ci/woodpecker/assets/127358482/891ff2f8-71b5-4687-80a7-e3e4b1cb4e41)
![Screenshot 2024-02-27
3](https://github.com/woodpecker-ci/woodpecker/assets/127358482/362dbfe9-ac63-4be4-a4bb-f4e5140d54a5)

User:
![Screenshot 2024-02-27
4](https://github.com/woodpecker-ci/woodpecker/assets/127358482/b2f3db6b-5ec3-4e06-a508-61dd07a69d60)
2024-04-15 01:50:50 +02:00
Robert Kaussow
b4cd1da29c
Apply skip ci filter only on push events (#3612)
Fixes: https://github.com/woodpecker-ci/woodpecker/issues/3606
2024-04-14 15:25:28 +03:00
qwerty287
b0c9dfd2cf
Fix bitbucket file fetching (#3604)
closes https://github.com/woodpecker-ci/woodpecker/issues/3600
2024-04-09 11:30:04 +02:00
qwerty287
c9a3bfb321
Fix spellcheck and enable more dirs (#3603) 2024-04-09 09:04:53 +02:00
renovate[bot]
50ddc61576
Update module github.com/google/go-github/v60 to v61 (#3595)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[github.com/google/go-github/v60](https://togithub.com/google/go-github)
| `v60.0.0` -> `v61.0.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fgoogle%2fgo-github%2fv60/v61.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fgoogle%2fgo-github%2fv60/v61.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fgoogle%2fgo-github%2fv60/v60.0.0/v61.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fgoogle%2fgo-github%2fv60/v60.0.0/v61.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>google/go-github (github.com/google/go-github/v60)</summary>

###
[`v61.0.0`](https://togithub.com/google/go-github/releases/tag/v61.0.0)

[Compare
Source](https://togithub.com/google/go-github/compare/v60.0.0...v61.0.0)

This release contains the following breaking API changes:

- feat!: Update deprecated endpoints in github/action_variables.go
([#&#8203;3104](https://togithub.com/google/go-github/issues/3104))

...and the following additional changes:

- Bump go-github from v59 to v60 in /scrape
([#&#8203;3087](https://togithub.com/google/go-github/issues/3087))
- Allow querying rule set information by ID with information returned
from GetRulesFromBranch
([#&#8203;3089](https://togithub.com/google/go-github/issues/3089))
- Bump codecov/codecov-action from 4.0.2 to 4.1.0
([#&#8203;3091](https://togithub.com/google/go-github/issues/3091))
- Bump github.com/PuerkitoBio/goquery from 1.9.0 to 1.9.1 in /scrape
([#&#8203;3092](https://togithub.com/google/go-github/issues/3092))
- Add Protection to Branch struct
([#&#8203;3095](https://togithub.com/google/go-github/issues/3095))
- Bump github.com/alecthomas/kong from 0.8.1 to 0.9.0 in /tools
([#&#8203;3097](https://togithub.com/google/go-github/issues/3097))
- Bump golang.org/x/net from 0.21.0 to 0.22.0 in /scrape
([#&#8203;3096](https://togithub.com/google/go-github/issues/3096))
- Bump google.golang.org/protobuf from 1.28.0 to 1.33.0 in /example
([#&#8203;3099](https://togithub.com/google/go-github/issues/3099))
- Add audit log rate limit category and make rate limit category getter
public
([#&#8203;3088](https://togithub.com/google/go-github/issues/3088))
- Update README.md
([#&#8203;3110](https://togithub.com/google/go-github/issues/3110))
- Allow Installation of Custom Properties Permissions
([#&#8203;3108](https://togithub.com/google/go-github/issues/3108))
- Add NotificationSetting to NewTeam
([#&#8203;3111](https://togithub.com/google/go-github/issues/3111))
- Fix pagination for ListCopilotSeats
([#&#8203;3112](https://togithub.com/google/go-github/issues/3112))
- Add .\*.local to .gitignore
([#&#8203;3115](https://togithub.com/google/go-github/issues/3115))
- Add CreateOrUpdateRepoCustomPropertyValues
([#&#8203;3109](https://togithub.com/google/go-github/issues/3109))
- Bump version of go-github to v61.0.0
([#&#8203;3118](https://togithub.com/google/go-github/issues/3118))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "every weekend" (UTC), Automerge -
"before 4am" (UTC).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/woodpecker-ci/woodpecker).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yNjkuMiIsInVwZGF0ZWRJblZlciI6IjM3LjI2OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-06 08:00:59 +02:00
qwerty287
eaf10611eb
Allow to disable deployments (#3570)
…but if they're enabled, allow for all events. Also add warning that you
should only enable it if you trust the users with push access.

closes #3559

---------

Co-authored-by: Robert Kaussow <xoxys@rknet.org>
2024-04-02 22:03:37 +02:00
Robert Kaussow
a6e054f9fe
Remove datastore testfiles (#3584)
Ref: https://github.com/woodpecker-ci/woodpecker/pull/3227/files
2024-04-02 10:10:29 +02:00
Aumetra Weisman
20b84a1aee
Add flag to only access public repositories on GitHub (#3566) 2024-03-29 14:36:48 +01:00
renovate[bot]
afd457a534
Update golang (packages) (#3564)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[github.com/cenkalti/backoff/v4](https://togithub.com/cenkalti/backoff)
| `v4.2.1` -> `v4.3.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fcenkalti%2fbackoff%2fv4/v4.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fcenkalti%2fbackoff%2fv4/v4.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fcenkalti%2fbackoff%2fv4/v4.2.1/v4.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fcenkalti%2fbackoff%2fv4/v4.2.1/v4.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[github.com/charmbracelet/huh/spinner](https://togithub.com/charmbracelet/huh)
| `v0.0.0-20240306161957-71f31c155b08` -> `v0.3.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fcharmbracelet%2fhuh%2fspinner/v0.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fcharmbracelet%2fhuh%2fspinner/v0.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fcharmbracelet%2fhuh%2fspinner/v0.0.0-20240306161957-71f31c155b08/v0.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fcharmbracelet%2fhuh%2fspinner/v0.0.0-20240306161957-71f31c155b08/v0.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[github.com/distribution/reference](https://togithub.com/distribution/reference)
| `v0.5.0` -> `v0.6.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fdistribution%2freference/v0.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fdistribution%2freference/v0.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fdistribution%2freference/v0.5.0/v0.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fdistribution%2freference/v0.5.0/v0.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [github.com/expr-lang/expr](https://togithub.com/expr-lang/expr) |
`v1.16.2` -> `v1.16.3` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fexpr-lang%2fexpr/v1.16.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fexpr-lang%2fexpr/v1.16.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fexpr-lang%2fexpr/v1.16.2/v1.16.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fexpr-lang%2fexpr/v1.16.2/v1.16.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[github.com/go-sql-driver/mysql](https://togithub.com/go-sql-driver/mysql)
| `v1.8.0` -> `v1.8.1` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fgo-sql-driver%2fmysql/v1.8.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fgo-sql-driver%2fmysql/v1.8.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fgo-sql-driver%2fmysql/v1.8.0/v1.8.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fgo-sql-driver%2fmysql/v1.8.0/v1.8.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>cenkalti/backoff (github.com/cenkalti/backoff/v4)</summary>

###
[`v4.3.0`](https://togithub.com/cenkalti/backoff/compare/v4.2.1...v4.3.0)

[Compare
Source](https://togithub.com/cenkalti/backoff/compare/v4.2.1...v4.3.0)

</details>

<details>
<summary>charmbracelet/huh
(github.com/charmbracelet/huh/spinner)</summary>

###
[`v0.3.0`](https://togithub.com/charmbracelet/huh/releases/tag/v0.3.0)

[Compare
Source](https://togithub.com/charmbracelet/huh/compare/v0.2.3...v0.3.0)

### Scrolling, autocomplete, smaller binaries and more!

This is a big release with a tonne of new features.

-   Scrollable Forms
-   Scrollable Selects and Multi selects
-   Autocomplete for inputs
-   7x smaller binaries
-   Multi select filtering
-   Lotsa' bugfixes and quality-of-life improvements

To upgrade to `huh` v0.3.0:

```bash
go get -u github.com/charmbracelet/huh@latest
```

For details read on!

#### Scrollable forms

If a form is in a small terminal it will automatically resize to fit the
available space and the active group will scroll to stay in view. Form
heights can also be set manually with the new
[`WithHeight`](https://pkg.go.dev/github.com/charmbracelet/huh@v0.3.0#Form.WithHeight)
method.

<img width="800"
src="https://vhs.charm.sh/vhs-1krvQFrEFaf3H1h7jbQomc.gif" alt="Made with
VHS">

#### Select and Multi select Scrolling

Select and Multi select fields can now be restricted to a certain
height, allowing their options to be scrollable. This means you can now
pack in tonnes of options.

To make a `Select` or `MultiSelect` scrollable simply set the height on
the field or form through the `Height` method.

```go
s := huh.NewSelect()
    .Title("What’s for dinner?")
    .Options(/* ... */)
    .Height(height)
```

<img width="600"
src="https://vhs.charm.sh/vhs-7vcNAV9T20oeMFraAFd0B7.gif" alt="Made with
VHS">

#### Autocomplete

Now `Input`s can offer suggestions making it easier for users to fill
out inputs. These suggestions can be accepted autocomplete-style with a
configurable key binding (which defaults to <kbd>ctrl+e</kbd>).

Simply provide a `[]string` to `Suggestions` to enable this feature.

```go
huh.NewInput().
    Title("What's for lunch?").
    Prompt("? ").
    Suggestions([]string{
        "Artichoke",
        // ...
        "Cashew Apple",
        "Cashews",
        "Cat Food",
        "Coconut Milk",
        "Cucumber",
        "Curry Paste",
        "Currywurst",
        // ...
    })
```

<img width="600"
src="https://vhs.charm.sh/vhs-49L7gt948FkJxfTzfa2qmE.gif" alt="Made with
VHS">

#### More helpful help

Forms will automatically adjust their help text to indicate to the user
whether the form will continue or submit on actions. This works with
hidden groups. In the below example, the user will be asked to list
their allergies if they select "Yes" otherwise, the form will submit.

<img width="600"
src="https://vhs.charm.sh/vhs-7skg7qpQYCMG2Y5Vl751si.gif" alt="Made with
VHS">

#### Way smaller binaries

Huh now produces way smaller binaries! Thanks to
[#&#8203;94](https://togithub.com/charmbracelet/huh/issues/94) Huh now
has a 7x smaller compiled footprint.

Before, using `huh@v0.2.3`:

    33M     ./burger

After, using `huh@v0.3.0`:

    4.5M    ./burger

#### Thanks, Vitor!

Special thanks to the intrepid
[@&#8203;vitor-mariano](https://togithub.com/vitor-mariano), one of the
earliest `huh` contributors, who came in hot with features, fixes,
improvements and good vibes. Thank you, Vitor!

#### Changelog

##### New

- scrollable multi-select by
[@&#8203;meowgorithm](https://togithub.com/meowgorithm) in
[https://github.com/charmbracelet/huh/pull/71](https://togithub.com/charmbracelet/huh/pull/71)
- scrollable select by
[@&#8203;meowgorithm](https://togithub.com/meowgorithm) in
[https://github.com/charmbracelet/huh/pull/76](https://togithub.com/charmbracelet/huh/pull/76)
- feat: enable filtering on MultiSelect by
[@&#8203;vitor-mariano](https://togithub.com/vitor-mariano) in
[https://github.com/charmbracelet/huh/pull/81](https://togithub.com/charmbracelet/huh/pull/81)
- skippable Fields by
[@&#8203;maaslalani](https://togithub.com/maaslalani) in
[https://github.com/charmbracelet/huh/pull/116](https://togithub.com/charmbracelet/huh/pull/116)
- autocomplete suggestions on inputs by
[@&#8203;maaslalani](https://togithub.com/maaslalani) in
[https://github.com/charmbracelet/huh/pull/93](https://togithub.com/charmbracelet/huh/pull/93)
- scroll form Inputs by
[@&#8203;maaslalani](https://togithub.com/maaslalani) in
[https://github.com/charmbracelet/huh/pull/95](https://togithub.com/charmbracelet/huh/pull/95)
- next / previous dynamic help by
[@&#8203;maaslalani](https://togithub.com/maaslalani) in
[https://github.com/charmbracelet/huh/pull/104](https://togithub.com/charmbracelet/huh/pull/104)
- reduce binary size by
[@&#8203;maaslalani](https://togithub.com/maaslalani) in
[https://github.com/charmbracelet/huh/pull/94](https://togithub.com/charmbracelet/huh/pull/94)

##### Fixed

- fix Select and MultiSelect height when unfocused by
[@&#8203;vitor-mariano](https://togithub.com/vitor-mariano) in
[https://github.com/charmbracelet/huh/pull/80](https://togithub.com/charmbracelet/huh/pull/80)
- use CharLimit in textinput by
[@&#8203;maaslalani](https://togithub.com/maaslalani) in
[https://github.com/charmbracelet/huh/pull/79](https://togithub.com/charmbracelet/huh/pull/79)
- select viewport on filtering by
[@&#8203;vitor-mariano](https://togithub.com/vitor-mariano) in
[https://github.com/charmbracelet/huh/pull/84](https://togithub.com/charmbracelet/huh/pull/84)
- set default theme on inputs by
[@&#8203;maaslalani](https://togithub.com/maaslalani) in
[https://github.com/charmbracelet/huh/pull/92](https://togithub.com/charmbracelet/huh/pull/92)
- multiselect: set height in WithHeight by
[@&#8203;ardnew](https://togithub.com/ardnew) in
[https://github.com/charmbracelet/huh/pull/118](https://togithub.com/charmbracelet/huh/pull/118)
- shift+tab would fail if first group is hidden by
[@&#8203;caarlos0](https://togithub.com/caarlos0) in
[https://github.com/charmbracelet/huh/pull/103](https://togithub.com/charmbracelet/huh/pull/103)
- prevField should not select skippable fields by
[@&#8203;maaslalani](https://togithub.com/maaslalani) in
[https://github.com/charmbracelet/huh/pull/121](https://togithub.com/charmbracelet/huh/pull/121)

**Full Changelog**:
https://github.com/charmbracelet/huh/compare/v0.2.3...v0.3.0

***

<a href="https://charm.sh/"><img alt="The Charm logo"
src="https://stuff.charm.sh/charm-badge.jpg" width="400"></a>

Thoughts? Questions? We love hearing from you. Feel free to reach out on
[Twitter](https://twitter.com/charmcli), [The
Fediverse](https://mastodon.technology/@&#8203;charm), or on
[Discord](https://charm.sh/chat).

###
[`v0.2.3`](https://togithub.com/charmbracelet/huh/releases/tag/v0.2.3)

[Compare
Source](https://togithub.com/charmbracelet/huh/compare/v0.2.2...v0.2.3)

#### Better Defaults!

Huh? `v0.2.3` fixes some bugs for more consistent behaviour across
inputs 🐞

- `Text` inputs now update values on each keystroke rather than on
`Blur` for consistency.
- `Select` and `MultiSelect` read their default values from the initial
values set by the `Value` variable if provided.

A *special* thanks to
[@&#8203;vitor-mariano](https://togithub.com/vitor-mariano) for all his
contributions to this release 🤗

##### Defaults Example

You can now have preselected options by declaring them in the `Value`
variable:

```go
var toppings = []string{"Lettuce", "Tomatoes"}
var options = huh.NewOptions("Lettuce", "Tomatoes", "Charm Sauce", "Cheese", "Vegan Cheese")

huh.NewMultiSelect[string]().Title("Toppings").Options(options...).Value(&toppings).Run()
```

In the above example, `Lettuce` and `Tomatoes` will be preselected by
default.

#### What's Changed

- `Text` value updates by
[@&#8203;vitor-mariano](https://togithub.com/vitor-mariano) in
[https://github.com/charmbracelet/huh/pull/64](https://togithub.com/charmbracelet/huh/pull/64)
- Prefill `Select` and `MultiSelect` inputs with default values by
[@&#8203;vitor-mariano](https://togithub.com/vitor-mariano) in
[https://github.com/charmbracelet/huh/pull/62](https://togithub.com/charmbracelet/huh/pull/62)

**Full Changelog**:
https://github.com/charmbracelet/huh/compare/v0.2.2...v0.2.3

***

<a href="https://charm.sh/"><img alt="The Charm logo"
src="https://stuff.charm.sh/charm-badge.jpg" width="400"></a>

Thoughts? Questions? We love hearing from you. Feel free to reach out on
[Twitter](https://twitter.com/charmcli), [The
Fediverse](https://mastodon.technology/@&#8203;charm), or on
[Discord](https://charm.sh/chat).

###
[`v0.2.2`](https://togithub.com/charmbracelet/huh/releases/tag/v0.2.2)

[Compare
Source](https://togithub.com/charmbracelet/huh/compare/v0.2.1...v0.2.2)

#### Better Wrapping 🎁

`Huh?` v0.2.2 improves wrapping of the `Input` and `Text` fields.
It applies width set on the form to the inputs to perform wrapping based
on the specified or terminal width.

- Fixed in
[https://github.com/charmbracelet/huh/pull/60](https://togithub.com/charmbracelet/huh/pull/60)

#### New Contributors

- [@&#8203;ddddddO](https://togithub.com/ddddddO) made their first
contribution in
[https://github.com/charmbracelet/huh/pull/56](https://togithub.com/charmbracelet/huh/pull/56)
- [@&#8203;vitor-mariano](https://togithub.com/vitor-mariano) made their
first contribution in
[https://github.com/charmbracelet/huh/pull/57](https://togithub.com/charmbracelet/huh/pull/57)

**Full Changelog**:
https://github.com/charmbracelet/huh/compare/v0.2.1...v0.2.2

***

<a href="https://charm.sh/"><img alt="The Charm logo"
src="https://stuff.charm.sh/charm-badge.jpg" width="400"></a>

Thoughts? Questions? We love hearing from you. Feel free to reach out on
[Twitter](https://twitter.com/charmcli), [The
Fediverse](https://mastodon.social/@&#8203;charmcli), or
[Discord](https://charm.sh/chat).

###
[`v0.2.1`](https://togithub.com/charmbracelet/huh/releases/tag/v0.2.1)

[Compare
Source](https://togithub.com/charmbracelet/huh/compare/v0.2.0...v0.2.1)

### New Theme! 😸

`huh?` forms can now use Catppuccin themes. (Thanks to the wonderful
[@&#8203;sgoudham](https://togithub.com/sgoudham) )

Simply add the following to your `huh.Form`s:

```go
.WithTheme(huh.ThemeCatppuccin())
```

<img width="500"
src="https://github.com/charmbracelet/huh/assets/42545625/fdea4eb5-fa3b-472c-8aa4-9537e9577ab5"
/>

***

<a href="https://charm.sh/"><img alt="The Charm logo"
src="https://stuff.charm.sh/charm-badge.jpg" width="400"></a>

Thoughts? Questions? We love hearing from you. Feel free to reach out on
[Twitter](https://twitter.com/charmcli), [The
Fediverse](https://mastodon.social/@&#8203;charmcli), or
[Discord](https://charm.sh/chat).

###
[`v0.2.0`](https://togithub.com/charmbracelet/huh/releases/tag/v0.2.0)

[Compare
Source](https://togithub.com/charmbracelet/huh/compare/v0.1.0...v0.2.0)

### Better Help Styles!

`Help` Styles now apply on a `Theme` rather than embedded in
`FieldStyles`. (Thanks to the wonderful
[@&#8203;jolheiser](https://togithub.com/jolheiser) )

```go
// Old...
theme.Focused.Help.ShortKey = lipgloss.NewStyle() //...

// Updated!
theme.Help.ShortKey = lipgloss.NewStyle() //...
```

***

<a href="https://charm.sh/"><img alt="The Charm logo"
src="https://stuff.charm.sh/charm-badge.jpg" width="400"></a>

Thoughts? Questions? We love hearing from you. Feel free to reach out on
[Twitter](https://twitter.com/charmcli), [The
Fediverse](https://mastodon.social/@&#8203;charmcli), or
[Discord](https://charm.sh/chat).

</details>

<details>
<summary>distribution/reference
(github.com/distribution/reference)</summary>

###
[`v0.6.0`](https://togithub.com/distribution/reference/releases/tag/v0.6.0)

[Compare
Source](https://togithub.com/distribution/reference/compare/v0.5.0...v0.6.0)

#### What's Changed

- remove deprecated SplitHostname by
[@&#8203;thaJeztah](https://togithub.com/thaJeztah) in
[https://github.com/distribution/reference/pull/5](https://togithub.com/distribution/reference/pull/5)
- refactor splitDockerDomain to include more documentation by
[@&#8203;thaJeztah](https://togithub.com/thaJeztah) in
[https://github.com/distribution/reference/pull/7](https://togithub.com/distribution/reference/pull/7)
- fix typo in readme by [@&#8203;xrstf](https://togithub.com/xrstf) in
[https://github.com/distribution/reference/pull/10](https://togithub.com/distribution/reference/pull/10)
- Exclude domain from name length check by
[@&#8203;ozairasim](https://togithub.com/ozairasim) in
[https://github.com/distribution/reference/pull/9](https://togithub.com/distribution/reference/pull/9)

#### New Contributors

- [@&#8203;xrstf](https://togithub.com/xrstf) made their first
contribution in
[https://github.com/distribution/reference/pull/10](https://togithub.com/distribution/reference/pull/10)
- [@&#8203;ozairasim](https://togithub.com/ozairasim) made their first
contribution in
[https://github.com/distribution/reference/pull/9](https://togithub.com/distribution/reference/pull/9)

**Full Changelog**:
https://github.com/distribution/reference/compare/v0.5.0...v0.6.0

</details>

<details>
<summary>expr-lang/expr (github.com/expr-lang/expr)</summary>

###
[`v1.16.3`](https://togithub.com/expr-lang/expr/releases/tag/v1.16.3)

[Compare
Source](https://togithub.com/expr-lang/expr/compare/v1.16.2...v1.16.3)

**Expr** is a Go-centric expression language designed to deliver dynamic
configurations with unparalleled accuracy,
safety, and speed.

```go
program, err := expr.Compile(`let x = 2 + 2; x ^ x`)
output, err := expr.Run(program, env)
```

**In this release**:

-   Improved printing for maps: `{(foo + bar): 42}`

**Expr Editor**

The [Expr Editor](https://expr-lang.org/editor) is an embeddable code
editor written in JavaScript with full support of Expr language.

**Expr Pro**

[Expr Pro](https://expr-lang.org/expr-pro) is a set of extensions for
Expr for advanced use cases. It includes expressions explanation,
performance profiling, and more.

</details>

<details>
<summary>go-sql-driver/mysql (github.com/go-sql-driver/mysql)</summary>

###
[`v1.8.1`](https://togithub.com/go-sql-driver/mysql/releases/tag/v1.8.1)

[Compare
Source](https://togithub.com/go-sql-driver/mysql/compare/v1.8.0...v1.8.1)

#### What's Changed

Bugfixes:

- fix race condition when context is canceled in
[#&#8203;1562](https://togithub.com/go-sql-driver/mysql/pull/1562) and
[#&#8203;1570](https://togithub.com/go-sql-driver/mysql/pull/1570)

**Full Changelog**:
https://github.com/go-sql-driver/mysql/compare/v1.8.0...v1.8.1

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 4am" (UTC), Automerge -
"before 4am" (UTC).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config help](https://togithub.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/woodpecker-ci/woodpecker).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yNjkuMiIsInVwZGF0ZWRJblZlciI6IjM3LjI2OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: qwerty287 <qwerty287@posteo.de>
2024-03-29 09:21:54 +01:00
qwerty287
326069c983
Fix flag name (#3534)
and remove two unused flags

should close https://github.com/woodpecker-ci/woodpecker/issues/3528
2024-03-21 21:39:16 +01:00
qwerty287
6abc112262
Fix gitea login (#3533)
Closes #3531
2024-03-21 19:18:22 +01:00
qwerty287
fbdfa14a00
Allow separate gitea oauth URL (#3513)
closes https://github.com/woodpecker-ci/woodpecker/issues/3470

---------

Co-authored-by: Robert Kaussow <xoxys@rknet.org>
2024-03-21 11:37:02 +01:00
qwerty287
e00b2d4bd3
Only allow to deploy from push, tag and release (#3522) 2024-03-20 21:04:51 +01:00
6543
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
6543
43264a5f8e
rename stepID to workflowID to reflect value (#3502)
address https://github.com/woodpecker-ci/woodpecker/issues/3494#issuecomment-2001986597
2024-03-18 15:21:26 +01:00
renovate[bot]
5d98a717ac
fix(deps): update module github.com/google/go-github/v59 to v60 (#3493) 2024-03-16 09:37:08 +01:00
Robert Kaussow
a779eed3df
Enable golangci linter gomnd (#3171) 2024-03-15 18:00:25 +01:00
Thor Anker Kvisgård Lange
632c946511
feat: Remove user part of http clone url (#3462)
Some configuration of Bitbucket Datacenter seems to return username as
part of the clone URL. This needs to be removed for `.netrc` to work
properly.

Closes #3443

---------

Signed-off-by: Thor Anker Kvisgård Lange <tal@netic.dk>
2024-03-07 18:06:05 +01:00
Thor Anker Kvisgård Lange
ce51d65829
fix: Make sure to refresh access token when reading commit information (#3447)
When receiving notification by webhook the forge tries to read
information on the latest commit when constructing the pipeline. This
requires a call to the Bitbucket API which again requires the access
token to be up-to-date.

Signed-off-by: Thor Anker Kvisgård Lange <tal@netic.dk>
2024-02-27 17:15:11 +01:00
qwerty287
cb3efd2cd9
Simplify store interfaces (#3437)
Use `store.Store` interface if possible.
2024-02-25 10:37:10 +01:00
qwerty287
5b0430ab4a
Fix storing steps (#3431)
Closes https://github.com/woodpecker-ci/woodpecker/issues/3427
2024-02-25 08:16:14 +01:00
qwerty287
16dca0abc2
Store workflows/steps for blocked pipeline (#2757)
This stores workflows and steps to DB even if it is not yet approved and
thus blocked.

I'm not really happy with this, because even though it is stored, it
must parse the pipeline again and set back the original UUID. If you
have any ideas how to fix/improve this just comment.

In addition, this allows to view step list and side panel for approved
pipelines, https://github.com/woodpecker-ci/woodpecker/pull/2345 is
partially not longer necessary.

Closes https://github.com/woodpecker-ci/woodpecker/issues/895

---------

Co-authored-by: 6543 <6543@obermui.de>
2024-02-22 15:48:29 +01:00
6543
10e4bac936
Parse email from Gitea webhook (#3420)
The CI_COMMIT_AUTHOR_EMAIL was empty for gitea/forgejo,
now the webhook is parsed correctly.
2024-02-22 09:02:19 +02:00
qwerty287
bf0a9455ce
Update org name on login (#3409)
and create a new org once a user is created (logged in for the first
time)

closes https://github.com/woodpecker-ci/woodpecker/issues/3342

---------

Co-authored-by: Anbraten <6918444+anbraten@users.noreply.github.com>
Co-authored-by: 6543 <6543@obermui.de>
2024-02-21 19:56:37 +01:00
Thor Anker Kvisgård Lange
364d708923
Add bitbucket datacenter (server) support (#2503)
This pull-requests re-introduces the Bitbucket Server support with a
more or less complete rewrite of the forge implementation. We have a lot
of on-premises git repositories hosted in Bitbucket Server and need a CI
solution for running that and Woodpecker looks promising.

The implementation is based on external Bitbucket Server REST client
library which we are maintaining and have created in another context.
Besides the original support for Bitbucket the re-implementation also
adds support for handling Bitbucket pull-request events.
2024-02-20 15:58:02 +01:00
qwerty287
0c9bbf91a3
Do not alter secret key upper-/lowercase (#3375) 2024-02-20 14:20:25 +01:00
Anbraten
f86c2b7d0f
Fix pipeline restart (#3402)
closes #3399
2024-02-17 10:19:28 +01:00
renovate[bot]
4e44dd0e76
fix(deps): update module github.com/google/go-github/v58 to v59 (#3398) 2024-02-17 09:04:33 +01:00
Anbraten
0e0d0188a0
Fix agent polling (#3378) 2024-02-16 10:04:13 +01:00
qwerty287
451af535d3
Replace http types on forge interface (#3374) 2024-02-13 16:19:02 +01:00
Anbraten
65d88be523
Prevent agent deletion when it's still running tasks (#3377)
It wont solve the underlying issues like
https://github.com/woodpecker-ci/autoscaler/issues/50 completely, but
should be a first step in the correct direction.
2024-02-12 19:23:56 +01:00
Anbraten
82e1ce937c
Refactor internal services (#915) 2024-02-11 18:42:33 +01:00
qwerty287
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
qwerty287
f369d2c543
Lint for event filter and deprecate exclude (#3222)
Closes https://github.com/woodpecker-ci/woodpecker/discussions/2174

- return bad habit error if no event filter is set
- If this is applied, it's useless to allow `exclude`s on events.
Therefore, deprecate it together with `include`s which should be
replaced by `base.StringOrSlice` later.
2024-02-10 17:33:05 +01:00
Anbraten
9e96c9c25e
Fix correctly handle gitlab pr closed events (#3362)
closes #3355
2024-02-09 16:49:04 +01:00
Anbraten
0b91317cde
Fix linter (#3354) 2024-02-08 22:49:07 +01:00
qwerty287
6892a9ca57
Parse backend options in backend (#3227)
Currently, backend options are parsed in the yaml parser.
This has some issues:
- backend specific code should be in the backend folders
- it is not possible to add backend options for backends added via
addons
2024-02-08 18:39:32 +01:00
Lukas
5cedc956e9
Ignore gitlab merge request events without code changes (#3338)
Closes #3320 

From the gitlab docs at:
https://docs.gitlab.com/ee/user/project/integrations/webhook_events.html#merge-request-events

> The field object_attributes.oldrev is only available when there are
actual code changes
2024-02-07 01:45:00 +01:00
Lukas
baf2e645bc
Ignore gitlab push events without commits (#3339)
Example of the resulting buggy pipeline:


![image](https://github.com/woodpecker-ci/woodpecker/assets/32853499/1e4bedc6-465b-466e-8d89-a7348e374c7f)
2024-02-07 02:24:08 +02:00
Lukas
db4a50951c
Consider gitlab inherited permissions (#3308)
The gitlab projects endpoint does not include information about
permissions granted by namespace memberships. To get this information a
separate query to
https://docs.gitlab.com/ee/api/members.html#get-a-member-of-a-group-or-project-including-inherited-and-invited-members
is necessary.
2024-02-06 00:10:23 +01:00
Patrick Schratz
e85762f791
Remove accidentally added file (#3304)
See discussion in [`1ab94d6`
(#3303)](1ab94d662b (r1473078205))

@qwerty287
2024-01-31 18:38:39 +01:00
Anbraten
6ed1655ce3
Add release types (#3303)
Co-authored-by: pat-s <patrick.schratz@gmail.com>
2024-01-31 16:18:32 +01:00
qwerty287
9df572ef31
Add release event trigger (#3226)
Supersedes #764 

Bitbucket does not support release webhooks.

---------

Co-authored-by: Patrick Schratz <patrick.schratz@gmail.com>
2024-01-30 17:39:00 +01:00
qwerty287
2eec1ce909
Fix agent updating (#3287) 2024-01-28 12:29:56 +01:00
Lukas
94b882fb95
Add spellcheck config (#3018)
Part of #738 

```
pnpx cspell lint --gitignore '{**,.*}/{*,.*}'
```

---------

Co-authored-by: Anbraten <anton@ju60.de>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: 6543 <6543@obermui.de>
2024-01-27 21:15:10 +01:00
Anbraten
0b5eef7d1e
Improve secret availability checks (#3271) 2024-01-27 20:59:44 +01:00
Alconety
8cb86ddc68
fix bitbucket SSO using UUID from bitbucket api response as ForgeRemoteID (#3265) 2024-01-23 16:35:30 +01:00
qwerty287
c8fa71874a
Fix disabling PRs (#3258)
Closes https://github.com/woodpecker-ci/woodpecker/issues/3257
2024-01-22 20:46:46 +01:00
qwerty287
5e2f7d81b3
Clean up models (#3228) 2024-01-22 07:56:18 +01:00