Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Migrate to Xormigrate #2711

Merged
merged 24 commits into from
Nov 28, 2023
Merged

Migrate to Xormigrate #2711

merged 24 commits into from
Nov 28, 2023

Conversation

qwerty287
Copy link
Contributor

Ref #2148

@techknowlogick Here we go :)

@qwerty287 qwerty287 added server refactor delete or replace old code labels Nov 3, 2023
@qwerty287 qwerty287 added this to the 2.1.0 milestone Nov 3, 2023
@qwerty287 qwerty287 marked this pull request as ready for review November 11, 2023 14:15
@qwerty287 qwerty287 requested a review from a team November 11, 2023 14:15
@6543
Copy link
Member

6543 commented Nov 11, 2023

it looks like the new migrations dont have tests ?!?!

@qwerty287
Copy link
Contributor Author

What do you mean? There's server/store/datastore/migration/migration_test.go

Copy link

codecov bot commented Nov 20, 2023

Codecov Report

Attention: 122 lines in your changes are missing coverage. Please review.

Comparison is base (111a0b4) 34.03% compared to head (10260b5) 33.93%.
Report is 11 commits behind head on main.

Files Patch % Lines
pipeline/backend/kubernetes/pod.go 0.00% 51 Missing ⚠️
pipeline/frontend/yaml/compiler/convert.go 47.05% 16 Missing and 2 partials ⚠️
server/store/datastore/migration/logger.go 12.50% 14 Missing ⚠️
server/pipeline/create.go 0.00% 11 Missing ⚠️
...re/datastore/migration/000_legacy_to_xormigrate.go 57.14% 4 Missing and 2 partials ⚠️
pipeline/backend/kubernetes/kubernetes.go 0.00% 4 Missing ⚠️
server/store/datastore/engine.go 0.00% 2 Missing ⚠️
.../store/datastore/migration/020_alter_logs_table.go 83.33% 0 Missing and 2 partials ⚠️
server/store/datastore/migration/022_add_orgs.go 75.00% 0 Missing and 2 partials ⚠️
server/store/datastore/migration/migration.go 86.66% 1 Missing and 1 partial ⚠️
... and 10 more
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2711      +/-   ##
==========================================
- Coverage   34.03%   33.93%   -0.11%     
==========================================
  Files         217      219       +2     
  Lines       13825    13828       +3     
==========================================
- Hits         4706     4693      -13     
- Misses       8746     8777      +31     
+ Partials      373      358      -15     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@techknowlogick
Copy link
Contributor

@qwerty287 best of luck with this PR, and if you need anything from my side please feel free to ask :)

I know that we (Gitea) are very interested in how this PR goes as we are in a similar position re: why you are switching to this approach and are keeping a keen eye on it to be able to feed back into our project. That being said, if there is anything the project can do to assist with this PR (financial, codereview, infrastructure, etc.) please let us know, and we'd be more than happy to provide that.

@qwerty287
Copy link
Contributor Author

qwerty287 commented Nov 25, 2023

@qwerty287 best of luck with this PR, and if you need anything from my side please feel free to ask :)

Thanks! Everything's fine right now :)

I know that we (Gitea) are very interested in how this PR goes as we are in a similar position re: why you are switching to this approach and are keeping a keen eye on it to be able to feed back into our project.

Main reason for switching is probably simplifying our own codebase. If there's a completely working library for the same task, why write the code again ourselves? If xormigrate has bugs or we need a new feature we can still extend it.

That being said, if there is anything the project can do to assist with this PR (financial, codereview, infrastructure, etc.) please let us know, and we'd be more than happy to provide that.

For code review it's always nice to have more reviewers besides our maintainers, but besides that we shouldn't need something like this.

@qwerty287
Copy link
Contributor Author

I'm not totally sure, but it seems that xormigrate is slower than the old handling.
Xormigrate needs about 50s while old ones only took 37 on PR (checked with #2874) and even only 23s on main (111a0b4). Locally the tests with xormigrate need even 53s.

@anbraten anbraten merged commit 7bacbd5 into woodpecker-ci:main Nov 28, 2023
7 of 8 checks passed
@woodpecker-bot woodpecker-bot mentioned this pull request Nov 29, 2023
1 task
@qwerty287 qwerty287 deleted the xormigrate branch December 8, 2023 07:10
6543 pushed a commit that referenced this pull request Dec 26, 2023
## [2.1.0](https://github.com/woodpecker-ci/woodpecker/releases/tag/2.1.0)
- 2023-12-26

### ✨ Features

- Add pull request closed event
[[#2684](#2684)]
- Add depends_on support for steps
[[#2771](#2771)]
- gitlab: support nested repos
[[#2981](#2981)]
- Support go plugins for forges and agent backends
[[#2751](#2751)]

### 📈 Enhancement

- Show default branch on top
[[#3019](#3019)]
- Support more addon types
[[#2984](#2984)]
- Hide PR tab if PRs are disabled
[[#3004](#3004)]
- Switch to ULID
[[#2986](#2986)]
- Ignore pipelines without config
[[#2949](#2949)]
- Link labels to input and select
[[#2974](#2974)]
- Register Agent with hostname
[[#2936](#2936)]
- Update slogan & logo
[[#2962](#2962)]
- Improve error handling when activating a repository
[[#2965](#2965)]
- Add check for storage where repo/org name is empty
[[#2968](#2968)]
- Update pipeline icons
[[#2783](#2783)]
- Kubernetes refactor
[[#2794](#2794)]
- Export changed files via builtin environment variables
[[#2935](#2935)]
- Show secrets from org and global level
[[#2873](#2873)]
- Only update pipelineStatus in one place
[[#2952](#2952)]
- Rename `engine` to `backend`
[[#2950](#2950)]
- Add linting for `log.Fatal()`
[[#2946](#2946)]
- Remove separate root path config
[[#2943](#2943)]
- init CI_COMMIT_TAG if commit ref is a tag
[[#2934](#2934)]
- Update go module path for major version 2
[[#2905](#2905)]
- Unify date/time dependencies
[[#2891](#2891)]
- Add linting for `any`
[[#2893](#2893)]
- Fix vite deprecations
[[#2885](#2885)]
- Migrate to Xormigrate
[[#2711](#2711)]
- Simple security context options (Kubernetes)
[[#2550](#2550)]
- Changes PullRequest Index to ForgeRemoteID type
[[#2823](#2823)]

### 🐛 Bug Fixes

- Hide queue visualization if nothing to show
[[#3003](#3003)]
- fix and lint swagger file
[[#3007](#3007)]
- Fix IPv6 host aliases for kubernetes
[[#2992](#2992)]
- Fix cli lint throwing error on warnings
[[#2995](#2995)]
- Fix static file caching
[[#2975](#2975)]
- Gitea driver: ignore GetOrg error if we get a valid user.
[[#2967](#2967)]
- feat(k8s): Add a port name to service definition
[[#2933](#2933)]
- Fix error container overflow
[[#2957](#2957)]
- ignore some errors on repairAllRepos
[[#2792](#2792)]
- Allow to restart pipelines that has warnings
[[#2939](#2939)]
- Fix skipped pipelines model
[[#2923](#2923)]
- fix: Add `backend_options` to service linter entry
[[#2930](#2930)]
- Fix flags added multiple times
[[#2914](#2914)]
- Fix schema validation with array syntax for clone and services
[[#2920](#2920)]
- Fix prometheus docs
[[#2919](#2919)]
- Fix podman agent container in v2
[[#2897](#2897)]
- Fix bitbucket org fetching
[[#2874](#2874)]
- Only deploy docs on `main`
[[#2892](#2892)]
- Fix pipeline-related environment
[[#2876](#2876)]
- Fix version check partially
[[#2871](#2871)]
- Fix unregistering agents when using agent tokens
[[#2870](#2870)]

### 📚 Documentation

- [Awesome Woodpecker] added yet another autoscaler
[[#3011](#3011)]
- Add cookbook blog and improve docs
[[#3002](#3002)]
- Replace multi-pipelines with workflows on docs frontpage
[[#2990](#2990)]
- Update README badges
[[#2956](#2956)]
- Update 20-kubernetes.md
[[#2927](#2927)]
- Add release documentation to CONTRIBUTING
[[#2917](#2917)]
- Add nix-attic plugin to the index
[[#2889](#2889)]
- Add usage with Tunnelmole to docs
[[#2881](#2881)]
- Improve code blocks in docs
[[#2879](#2879)]
- Add a blog post
[[#2877](#2877)]
- Add documentation on Kubernetes securityContext
[[#2822](#2822)]
- Add default page to categories
[[#2869](#2869)]
- Use same format for Github docs as used for the other forges
[[#2866](#2866)]

### Misc

- chore(deps): update dependency isomorphic-dompurify to v2
[[#3001](#3001)]
- fix(deps): update dependency @intlify/unplugin-vue-i18n to v2
[[#2998](#2998)]
- Fix go in gitpod
[[#2973](#2973)]
- fix(deps): update module google.golang.org/grpc to v1.60.1
[[#2969](#2969)]
- chore(deps): update docker.io/alpine docker tag to v3.19
[[#2970](#2970)]
- Fix broken gated repos
[[#2959](#2959)]
- fix(deps): update golang (packages)
[[#2958](#2958)]
- Update docker.io/techknowlogick/xgo Docker tag to go-1.21.5
[[#2926](#2926)]
- Update docker.io/golang Docker tag to v1.21.5
[[#2925](#2925)]
- Lock file maintenance
[[#2910](#2910)]
- Update web npm deps non-major
[[#2909](#2909)]
- Update docs npm deps non-major
[[#2908](#2908)]
- Update golang (packages)
[[#2904](#2904)]
- Update module github.com/google/go-github/v56 to v57
[[#2899](#2899)]
- Update dependency marked to v11
[[#2898](#2898)]
- Update dependency vite-svg-loader to v5
[[#2837](#2837)]
- Update golang (packages)
[[#2894](#2894)]
- Update web npm deps non-major
[[#2895](#2895)]
- Update web npm deps non-major
[[#2884](#2884)]
- Update docker.io/woodpeckerci/plugin-docker-buildx Docker tag to
v2.2.1 [[#2883](#2883)]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
refactor delete or replace old code server
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants