Compare commits

..

58 Commits

Author SHA1 Message Date
Girish Ramakrishnan e76784cb8f Update renovate.json5 2024-11-04 17:10:01 +00:00
Girish Ramakrishnan 64d8d5b661 Add renovate.json5 2024-11-04 17:02:57 +00:00
Girish Ramakrishnan bf30c8e13b Delete renovate.json 2024-11-04 16:56:47 +00:00
Girish Ramakrishnan 381562f347 Delete .gitlab-ci.yml 2024-11-04 08:37:59 +00:00
Girish Ramakrishnan ffa9d52206 Version 1.33.3 2024-10-09 09:43:30 +02:00
Girish Ramakrishnan 7d0d52ceae change perms 2024-10-09 09:36:48 +02:00
Girish Ramakrishnan f19465b3d6 Fix test 2024-10-09 09:28:39 +02:00
Girish Ramakrishnan 662cfae820 Update test packages 2024-10-09 09:19:11 +02:00
Renovate Bot e365f033d1 chore(deps): update dependency go-gitea/gitea to v1.22.3 2024-10-09 07:14:02 +00:00
Renovate Bot b8e5fcc22d chore(deps): add renovate.json 2024-10-09 07:13:02 +00:00
Girish Ramakrishnan a176ab5f20 Add renovate 2024-10-09 07:11:32 +00:00
Girish Ramakrishnan 9b773524ce add ci files 2024-10-09 09:08:28 +02:00
Girish Ramakrishnan 9c4088e812 Version 1.33.2 2024-09-05 21:34:44 +02:00
Girish Ramakrishnan c956c27334 Update test packages 2024-09-05 21:30:47 +02:00
Girish Ramakrishnan 75aa1f09a5 Update Gitea to 1.22.2 2024-09-05 21:29:09 +02:00
Johannes Zellner 9f363fb373 Bump version 2024-07-04 12:51:32 +02:00
Johannes Zellner e06c3d5bb5 Update test deps 2024-07-04 12:25:11 +02:00
Johannes Zellner aa7a6f9d69 Update to 1.22.1 2024-07-04 12:25:04 +02:00
Girish Ramakrishnan 56cb2ba6b2 Version 1.33.0 2024-05-27 15:21:25 +02:00
Girish Ramakrishnan 08868f64d4 Update test packages 2024-05-27 15:10:41 +02:00
Girish Ramakrishnan d7c3ae38fe Update Gitea to 1.22.0 2024-05-27 14:34:50 +02:00
Johannes Zellner 9b7aedc025 Bump version 2024-04-16 09:58:54 +02:00
Johannes Zellner 70c144095a Update test deps 2024-04-16 09:50:50 +02:00
Johannes Zellner 69df4d1e0f Update to 1.21.11 2024-04-16 09:50:39 +02:00
Johannes Zellner 07982e33aa Bump version 2024-03-26 08:52:51 +01:00
Johannes Zellner 59266f120a Update to 1.21.10 2024-03-26 08:36:00 +01:00
Johannes Zellner c03ec98517 Bump version 2024-03-22 10:25:12 +01:00
Johannes Zellner 885a32e340 Update test deps 2024-03-22 10:08:01 +01:00
Johannes Zellner 459646512e Update to 1.21.9 2024-03-22 10:07:33 +01:00
Girish Ramakrishnan 5d44c03115 Version 1.32.7 2024-03-13 09:43:02 +01:00
Girish Ramakrishnan 4961b7c4c8 Update test packages 2024-03-13 09:35:46 +01:00
Girish Ramakrishnan cfc5ab5a37 Update Gitea to 1.21.8 2024-03-13 09:15:06 +01:00
Johannes Zellner 6259356ae2 Bump version 2024-02-26 15:54:38 +01:00
Johannes Zellner 813f32d310 Remove ldap to openid migration code 2024-02-26 14:38:06 +01:00
Johannes Zellner 162054ef99 Update to 1.21.7 2024-02-26 11:51:36 +01:00
Johannes Zellner 18ad051734 Update test deps 2024-02-23 11:14:51 +01:00
Johannes Zellner ea6a6b84d9 Update to 1.21.6 2024-02-23 11:14:37 +01:00
Johannes Zellner ab0ab3c11c Bump version 2024-02-01 14:36:55 +01:00
Johannes Zellner 84c505ad43 Make tests language independent 2024-02-01 14:27:07 +01:00
Johannes Zellner 366e8560b0 Update test deps 2024-02-01 14:25:08 +01:00
Johannes Zellner 0a81a63829 Update to 1.21.5 2024-02-01 14:24:07 +01:00
Girish Ramakrishnan 4fc500fca6 Version 1.32.4 2024-01-17 13:10:29 +01:00
Girish Ramakrishnan 8393426612 Update Gitea to 1.21.4 2024-01-17 11:33:36 +01:00
Johannes Zellner a08dd3ee47 Bump version 2023-12-21 12:19:04 +01:00
Johannes Zellner 63fce06157 Update to 1.21.3 2023-12-21 11:41:17 +01:00
Johannes Zellner d0c1e65913 Bump version 2023-12-12 12:52:51 +01:00
Johannes Zellner 88732c63c9 Update test deps 2023-12-12 12:38:15 +01:00
Johannes Zellner d62cca74cc Update to 1.21.2 2023-12-12 12:38:00 +01:00
Johannes Zellner f96533530f Bump version 2023-11-27 08:56:00 +01:00
Johannes Zellner 3e95af2256 Fixup tests 2023-11-15 12:50:25 +01:00
Johannes Zellner 90693772de Release is without .0 2023-11-14 16:51:02 +01:00
Johannes Zellner 092f2089f2 Update test deps 2023-11-14 16:20:29 +01:00
Johannes Zellner 16ffe8295f Bump version 2023-11-14 16:19:34 +01:00
Girish Ramakrishnan 61d2691859 Version 1.31.0 2023-10-20 10:15:28 +02:00
Girish Ramakrishnan 19c4b2a7ff Update test packages 2023-10-20 09:38:17 +02:00
Girish Ramakrishnan 5c7c228ff4 Update base image to 4.2.0 2023-10-20 09:36:54 +02:00
Johannes Zellner 62b03b02d5 Fixup test 2023-10-03 17:23:13 +02:00
Johannes Zellner 7dd4447091 Bump version 2023-10-03 17:12:30 +02:00
13 changed files with 1319 additions and 527 deletions

View File

@ -1345,3 +1345,301 @@
[1.30.0] [1.30.0]
* Implement OIDC auth * Implement OIDC auth
[1.30.1]
* Update Gitea to 1.20.5
* [Full changelog](https://github.com/go-gitea/gitea/releases/tag/v1.20.5)
* Fix z-index on markdown completion (#27237) (#27242 & #27238)
* Use secure cookie for HTTPS sites (#26999) (#27013)
* Fix git 2.11 error when checking IsEmpty (#27393) (#27396)
* Allow get release download files and lfs files with oauth2 token format (#26430) (#27378)
* Fix orphan check for deleted branch (#27310) (#27320)
* Quote table release in sql queries (#27205) (#27219)
* Fix release URL in webhooks (#27182) (#27184)
* Fix successful return value for SyncAndGetUserSpecificDiff (#27152) (#27156)
* fix pagination for followers and following (#27127) (#27138)
* Fix issue templates when blank isses are disabled (#27061) (#27082)
* Fix context cache bug & enable context cache for dashabord commits' authors(#26991) (#27017)
* Fix INI parsing for value with trailing slash (#26995) (#27001)
* Fix PushEvent NullPointerException jenkinsci/github-plugin (#27203) (#27249)
* Fix organization field being null in POST /orgs/{orgid}/teams (#27150) (#27167 & #27162)
* Fix bug of review request number (#27406) (#27104)
[1.31.0]
* Update base image to 4.2.0
[1.32.0]
* Update Gitea to 1.21.0
* [Full changelog](https://github.com/go-gitea/gitea/releases/tag/v1.21.0)
[1.32.1]
* Update Gitea to 1.21.1
* [Full changelog](https://github.com/go-gitea/gitea/releases/tag/v1.21.1)
[1.32.2]
* Update Gitea to 1.21.2
* [Full changelog](https://github.com/go-gitea/gitea/releases/tag/v1.21.2)
* Rebuild with recently released golang version
* Fix missing check (#28406) (#28411)
* Do some missing checks (#28423) (#28432)
* Fix margin in server signed signature verification view (#28379) (#28381)
* Fix object does not exist error when checking citation file (#28314) (#28369)
* Use filepath instead of path to create SQLite3 database file (#28374) (#28378)
* Fix the runs will not be displayed bug when the main branch have no workflows but other branches have (#28359) (#28365)
* Handle repository.size column being NULL in migration v263 (#28336) (#28363)
* Convert git commit summary to valid UTF8. (#28356) (#28358)
* Fix migration panic due to an empty review comment diff (#28334) (#28362)
* Add HEAD support for rpm repo files (#28309) (#28360)
* Fix RPM/Debian signature key creation (#28352) (#28353)
* Keep profile tab when clicking on Language (#28320) (#28331)
* Fix missing issue search index update when changing status (#28325) (#28330)
* Fix wrong link in protect_branch_name_pattern_desc (#28313) (#28315)
* Read previous info from git blame (#28306) (#28310)
* Ignore "non-existing" errors when getDirectorySize calculates the size (#28276) (#28285)
* Use appSubUrl for OAuth2 callback URL tip (#28266) (#28275)
* Meilisearch: require all query terms to be matched (#28293) (#28296)
* Fix required error for token name (#28267) (#28284)
* Fix issue will be detected as pull request when checking First-time contributor (#28237) (#28271)
* Use full width for project boards (#28225) (#28245)
* Increase "version" when update the setting value to a same value as before (#28243) (#28244)
* Also sync DB branches on push if necessary (#28361) (#28403)
* Make gogit Repository.GetBranchNames consistent (#28348) (#28386)
* Recover from panic in cron task (#28409) (#28425)
* Deprecate query string auth tokens (#28390) (#28430)
* Improve doctor cli behavior (#28422) (#28424)
* Fix margin in server signed signature verification view (#28379) (#28381)
* Refactor template empty checks (#28351) (#28354)
* Read previous info from git blame (#28306) (#28310)
* Use full width for project boards (#28225) (#28245)
* Enable system users search via the API (#28013) (#28018)
[1.32.3]
* Update Gitea to 1.21.3
* [Full changelog](https://github.com/go-gitea/gitea/releases/tag/v1.21.3)
* Update golang.org/x/crypto (#28519)
* chore(api): support ignore password if login source type is LDAP for creating user API (#28491) (#28525)
* Add endpoint for not implemented Docker auth (#28457) (#28462)
* Add option to disable ambiguous unicode characters detection (#28454) (#28499)
* Refactor SSH clone URL generation code (#28421) (#28480)
* Polyfill SubmitEvent for PaleMoon (#28441) (#28478)
* Fix the issue ref rendering for wiki (#28556) (#28559)
* Fix duplicate ID when deleting repo (#28520) (#28528)
* Only check online runner when detecting matching runners in workflows (#28286) (#28512)
* Initalize stroage for orphaned repository doctor (#28487) (#28490)
* Fix possible nil pointer access (#28428) (#28440)
* Don't show unnecessary citation JS error on UI (#28433) (#28437)
* Fix inperformant query on retrifing review from database. (#28552) (#28562)
* Improve the prompt for "ssh-keygen sign" (#28509) (#28510)
* Update docs for DISABLE_QUERY_AUTH_TOKEN (#28485) (#28488)
* Fix Chinese translation of config cheat sheet[API] (#28472) (#28473)
* Retry SSH key verification with additional CRLF if it failed (#28392) (#28464)
[1.32.4]
* Update Gitea to 1.21.4
* [Full changelog](https://github.com/go-gitea/gitea/releases/tag/v1.21.4)
* Update github.com/cloudflare/circl (#28789) (#28790)
* Require token for GET subscription endpoint (#28765) (#28768)
* Use refname:strip-2 instead of refname:short when syncing tags (#28797) (#28811)
* Fix links in issue card (#28806) (#28807)
* Fix nil pointer panic when exec some gitea cli command (#28791) (#28795)
* Require token for GET subscription endpoint (#28765) (#28778)
* Fix button size in "attached header right" (#28770) (#28774)
* Fix convert.ToTeams on empty input (#28426) (#28767)
* Hide code related setting options in repository when code unit is disabled (#28631) (#28749)
[1.32.5]
* Update Gitea to 1.21.5
* [Full changelog](https://github.com/go-gitea/gitea/releases/tag/v1.21.5)
* Prevent anonymous container access if RequireSignInView is enabled (#28877) (#28882)
* Update go dependencies and fix go-git (#28893) (#28934)
* Revert "Speed up loading the dashboard on mysql/mariadb (#28546)" (#29006) (#29007)
* Fix an actions schedule bug (#28942) (#28999)
* Fix update enable_prune even if mirror_interval is not provided (#28905) (#28929)
* Fix uploaded artifacts should be overwritten (#28726) backport v1.21 (#28832)
* Preserve BOM in web editor (#28935) (#28959)
* Strip / from relative links (#28932) (#28952)
* Don't remove all mirror repository's releases when mirroring (#28817) (#28939)
* Implement MigrateRepository for the actions notifier (#28920) (#28923)
* Respect branch info for relative links (#28909) (#28922)
* Don't reload timeline page when (un)resolving or replying conversation (#28654) (#28917)
* Only migrate the first 255 chars of a Github issue title (#28902) (#28912)
* Fix sort bug on repository issues list (#28897) (#28901)
* Fix DeleteCollaboration transaction behaviour (#28886) (#28889)
* Fix schedule not trigger bug because matching full ref name with short ref name (#28874) (#28888)
* Fix migrate storage bug (#28830) (#28867)
* Fix archive creating LFS hooks and breaking pull requests (#28848) (#28851)
* Fix reverting a merge commit failing (#28794) (#28825)
* Upgrade xorm to v1.3.7 to fix a resource leak problem caused by Iterate (#28891) (#28895)
* Fix incorrect PostgreSQL connection string for Unix sockets (#28865) (#28870)
[1.32.6]
* Update Gitea to 1.21.7
* [Full changelog](https://github.com/go-gitea/gitea/releases/tag/v1.21.7)
* Fix XSS vulnerabilities (#29336)
* Use general token signing secret (#29205) (#29325)
* Refactor issue template parsing and fix API endpoint (#29069) (#29140)
* Fix swift packages not resolving (#29095) (#29102)
* Refactor git version functions and check compatibility (#29155) (#29157)
* Improve user experience for outdated comments (#29050) (#29086)
* Hide code links on release page if user cannot read code (#29064) (#29066)
* Wrap contained tags and branches again (#29021) (#29026)
* Fix incorrect button CSS usages (#29015) (#29023)
* Strip trailing newline in markdown code copy (#29019) (#29022)
* Remove SSH workaround (#27893) (#29332)
* Only log error when tag sync fails (#29295) (#29327)
* Fix SSPI user creation (#28948) (#29323)
* Improve the issue_comment workflow trigger event (#29277) (#29322)
* Discard unread data of git cat-file (#29297) (#29310)
* Fix error display when merging PRs (#29288) (#29309)
* Prevent double use of git cat-file session. (#29298) (#29301)
* Fix missing link on outgoing new release notifications (#29079) (#29300)
* Fix debian InRelease Acquire-By-Hash newline (#29204) (#29299)
* Always write proc-receive hook for all git versions (#29287) (#29291)
* Do not show delete button when time tracker is disabled (#29257) (#29279)
* Workaround to clean up old reviews on creating a new one (#28554) (#29264)
* Fix bug when the linked account was disactived and list the linked accounts (#29263)
* Do not use lower tag names to find releases/tags (#29261) (#29262)
* Fix missed edit issues event for actions (#29237) (#29251)
* Only delete scheduled workflows when needed (#29091) (#29235)
* Make submit event code work with both jQuery event and native event (#29223) (#29234)
* Fix push to create with capitalize repo name (#29090) (#29206)
* Use ghost user if user was not found (#29161) (#29169)
* Dont load Review if Comment is CommentTypeReviewRequest (#28551) (#29160)
* Refactor parseSignatureFromCommitLine (#29054) (#29108)
* Avoid showing unnecessary JS errors when there are elements with different origin on the page (#29081) (#29089)
* Fix gitea-origin-url with default ports (#29085) (#29088)
* Fix orgmode link resolving (#29024) (#29076)
* Fix: Elasticsearch: Request Entity Too Large #28117 (#29062) (#29075)
* Do not render empty comments (#29039) (#29049)
* Avoid sending update/delete release notice when it is draft (#29008) (#29025)
[1.32.7]
* Update Gitea to 1.21.8
* [Full changelog](https://github.com/go-gitea/gitea/releases/tag/v1.21.8)
* Only use supported sort orders for "/explore/users" page (#29430) (#29443)
* Fix wrong line number in code search result (#29260) (#29623)
* Use Get but not Post to get actions artifacts (#29734) (#29737)
* Fix inconsistent rendering of block mathematical expressions (#29677) (#29711)
* Fix rendering internal file links in org (#29669) (#29705)
* Don't show AbortErrors on logout (#29639) (#29667)
* Fix user-defined markup links targets (#29305) (#29666)
* Fix incorrect rendering csv file when file size is larger than UI.CSV.MaxFileSize (#29653) (#29663)
* Fix hidden test's failure (#29254) (#29662)
[1.32.8]
* Update Gitea to 1.21.9
* [Full changelog](https://github.com/go-gitea/gitea/releases/tag/v1.21.9)
* Only do counting when count_only=true for repo dashboard (#29884) (#29905)
* Add cache for dashboard commit status (#29932)
* Make runs-on support variable expression (#29468) (#29782)
* Show Actions post step when it's running (#29926) (#29928)
* Fix PR creation via API between branches of the same repo with head field namespaced (#26986) (#29857)
* Fix and rewrite markup anchor processing (#29931) (#29946)
* Notify reviewers added via CODEOWNERS (#29842) (#29902)
* Fix template error when comment review doesn't exist (#29888) (#29889)
* Fix user id column case (#29863) (#29867)
* Make meilisearch do exact search for issues (#29740 & #29671) (#29846)
* Fix the for attribute not pointing to the ID of the color picker (#29813) (#29815)
* Fix codeowner detected diff base branch to mergebase (#29783) (#29807)
* Fix Safari spinner rendering (#29801) (#29802)
* Fix missing translation on milestones (#29785) (#29789)
* Fix user router possible panic (#29751) (#29786)
* Fix possible NPE in ToPullReviewList (#29759) (#29775)
* Fix the wrong default value of ENABLE_OPENID_SIGNIN on docs (#29925) (#29927)
* Solving the issue of UI disruption when the review is deleted without refreshing (#29951) (#29968)
* Fix loadOneBranch panic (#29938) (#29939)
* Fix invalid link of the commit status when ref is tagged (#29752) (#29908)
* Editor error message misleading due to re-used key. (#29859) (#29876)
* Fix double border and border-radius on empty action steps (#29845) (#29850)
* Use Temporal.PlainDate for absolute dates (#29804) (#29808)
* Fix incorrect package link method calls in templates (#29580) (#29764)
* Fix the bug that the user may log out if GetUserByID returns unknown error (#29962) (#29964)
* Performance improvements for pull request list page (#29900) (#29972)
* Fix bugs in rerunning jobs (#29983) (#29955)
[1.32.9]
* Update Gitea to 1.21.10
* [Full changelog](https://github.com/go-gitea/gitea/releases/tag/v1.21.10)
* Fix Add/Remove WIP on pull request title failure (#29999) (#30066)
* Fix misuse of TxContext (#30061) (#30062)
* Respect DEFAULT_ORG_MEMBER_VISIBLE setting when adding creator to org (#30013) (#30035)
* Escape paths for find file correctly (#30026) (#30031)
* Remove duplicate option in admin screen and now-unused translation keys (#28492) (#30024)
* Fix manual merge form and 404 page templates (#30000)
[1.32.10]
* Update Gitea to 1.21.11
* [Full changelog](https://github.com/go-gitea/gitea/releases/tag/v1.21.11)
* Use go1.21.9 to include Golang security fix
* Fix possible renderer security problem (#30136) (#30315)
* Fix close file in the Upload func (#30262) (#30269)
* Fix inline math blocks can't be preceeded/followed by alphanumerical characters (#30175) (#30250)
* Fix missing 0 prefix of GPG key id (#30245) (#30247)
* Include encoding in signature payload (#30174) (#30181)
* Move from max( id ) to max( index ) for latest commit statuses (#30076) (#30155)
* Load attachments for code comments (#30124) (#30126)
* Fix gitea doctor will remove repo-avatar files when executing command storage-archives (#30094) (#30120)
* Fix possible data race on tests (#30093) (#30108)
* Performance optimization for git push (#30104)
* Fix duplicate migrated milestones (#30102) (#30105)
* Fix panic for fixBrokenRepoUnits16961 (#30068) (#30100)
* Fix incorrect SVGs (#30087)
* Fix create commit status (#30225) (#30340)
* Performance optimization for git push (#30104) (#30354)
* Fix misuse of unsupported global variables (#30402)
* Fix to delete the cookie when AppSubURL is non-empty (#30375) (#30468)
* Avoid user does not exist error when detecting schedule actions when the commit author is an external user (#30357) (#30408)
* Change the default maxPerPage for gitbucket (#30392) (#30471)
* Check the token's owner and repository when registering a runner (#30406) (#30412)
* Avoid losing token when updating mirror settings (#30429) (#30466)
* Fix commit status cache which missed target_url (#30426) (#30445)
* Fix rename branch 500 when the target branch is deleted but exist in database (#30430) (#30437)
* Fix mirror error when mirror repo is empty (#30432) (#30467)
* Use db.ListOptions directly instead of Paginator interface to make it easier to use and fix performance of /pulls and /issues (#29990) (#30447)
* Fix code owners will not be mentioned when a pull request comes from a forked repository (#30476) (#30497)
[1.33.0]
* Update Gitea to 1.22.0
* [Full changelog](https://github.com/go-gitea/gitea/releases/tag/v1.22.0)
* [Breaking changes](https://github.com/go-gitea/gitea/releases/tag/v1.22.0#Breaking)
* Allow everyone to read or write a wiki by a repo unit setting (#30495)
* Use raw Wiki links for non-renderable Wiki files (#30273)
* Render embedded code preview by permalink in markdown (#30234) (#30249)
* Support repo code search without setting up an indexer (#29998)
* Support pasting URLs over markdown text (#29566)
* Allow to change primary email before account activation (#29412)
* Customizable "Open with" applications for repository clone (#29320)
* Allow options to disable user deletion from the interface on app.ini (#29275)
* Extend issue template YAML engine (#29274)
[1.33.1]
* Update Gitea to 1.22.1
* [Full changelog](https://github.com/go-gitea/gitea/releases/tag/v1.22.1)
[1.33.2]
* Update Gitea to 1.22.2
* [Full changelog](https://github.com/go-gitea/gitea/releases/tag/v1.22.2)
* Replace v-html with v-text in search inputbox (#31966) (#31973)
* Fix nuget/conan/container packages upload bugs (#31967) (#31982)
* Refactor the usage of batch catfile (#31754) (#31889)
* Fix overflowing content in action run log (#31842) (#31853)
* Scroll images in project issues separately from the remaining issue (#31683) (#31823)
* Add :focus-visible style to buttons (#31799) (#31819)
* Fix the display of project type for deleted projects (#31732) (#31734)
* Fix API owner ID should be zero when created repo secret (#31715) (#31811)
* Set owner id to zero when GetRegistrationToken for repo (#31725) (#31729)
* Fix API endpoint for registration-token (#31722) (#31728)
* Add permission check when creating PR (#31033) (#31720)
[1.33.3]
* Update Gitea to 1.22.3
* [Full changelog](https://github.com/go-gitea/gitea/releases/tag/v1.22.3)
* Fix bug when a token is given public only (#32204) (#32218)
* Increase cacheContextLifetime to reduce false reports (#32011) (#32023)
* Don't join repository when loading action table data (#32127) (#32143)
* Fix javascript error when an anonymous user visits migration page (#32144) (#32179)
* Don't init signing keys if oauth2 provider is disabled (#32177)
* Fix wrong status of Set up Job when first step is skipped (#32120) (#32125)
* Fix bug when deleting a migrated branch (#32075) (#32123)
* Truncate commit message during Discord webhook push events (#31970) (#32121)
* Allow to set branch protection in an empty repository (#32095) (#32119)
* Fix panic when cloning with wrong ssh format. (#32076) (#32118)

View File

@ -4,8 +4,8 @@
"author": "Gitea developers", "author": "Gitea developers",
"description": "file://DESCRIPTION.md", "description": "file://DESCRIPTION.md",
"tagline": "A painless self-hosted Git Service", "tagline": "A painless self-hosted Git Service",
"version": "1.30.0", "version": "1.33.3",
"upstreamVersion": "1.20.4", "upstreamVersion": "1.22.3",
"healthCheckPath": "/explore", "healthCheckPath": "/explore",
"httpPort": 3000, "httpPort": 3000,
"memoryLimit": 536870912, "memoryLimit": 536870912,

View File

@ -1,4 +1,4 @@
FROM cloudron/base:4.0.0@sha256:31b195ed0662bdb06a6e8a5ddbedb6f191ce92e8bee04c03fb02dd4e9d0286df FROM cloudron/base:4.2.0@sha256:46da2fffb36353ef714f97ae8e962bd2c212ca091108d768ba473078319a47f4
RUN apt-get update && \ RUN apt-get update && \
apt-get install -y openssh-server git asciidoctor pandoc && \ apt-get install -y openssh-server git asciidoctor pandoc && \
@ -19,9 +19,10 @@ WORKDIR /home/git
# for autosign feature # for autosign feature
ENV GNUPGHOME="/app/data/gnupg" ENV GNUPGHOME="/app/data/gnupg"
ARG VERSION=1.20.4 # renovate: datasource=github-releases depName=go-gitea/gitea versioning=semver extractVersion=^v(?<version>.+)$
ARG GITEA_VERSION=1.22.3
RUN curl -L https://dl.gitea.io/gitea/${VERSION}/gitea-${VERSION}-linux-amd64 -o /home/git/gitea/gitea \ RUN curl -L https://dl.gitea.io/gitea/${GITEA_VERSION}/gitea-${GITEA_VERSION}-linux-amd64 -o /home/git/gitea/gitea \
&& chmod +x /home/git/gitea/gitea && chmod +x /home/git/gitea/gitea
# setup config paths # setup config paths

4
renovate.json5 Normal file
View File

@ -0,0 +1,4 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": ["local>devops/renovator//default.renovate.json5"]
}

View File

@ -4,14 +4,6 @@ set -eu -o pipefail
mkdir -p /run/gitea/tmp/uploads /run/sshd /run/gitea/sessions mkdir -p /run/gitea/tmp/uploads /run/sshd /run/gitea/sessions
migrate_ldap_users_to_oidc() {
set -eu
echo "==> migrate LDAP to OIDC"
mysql -u"${CLOUDRON_MYSQL_USERNAME}" -p"${CLOUDRON_MYSQL_PASSWORD}" -h mysql --database="${CLOUDRON_MYSQL_DATABASE}" -N -B -e \
"UPDATE user u, (select id from login_source WHERE name='cloudron' and type='6') ls SET u.login_type=6, u.login_source=ls.id WHERE u.login_type=2 AND u.login_source=1"
}
setup_oidc_source() { setup_oidc_source() {
set -eu set -eu
@ -20,7 +12,6 @@ setup_oidc_source() {
now=$(date +%s) now=$(date +%s)
mysql -u"${CLOUDRON_MYSQL_USERNAME}" -p"${CLOUDRON_MYSQL_PASSWORD}" -h mysql --database="${CLOUDRON_MYSQL_DATABASE}" -e \ mysql -u"${CLOUDRON_MYSQL_USERNAME}" -p"${CLOUDRON_MYSQL_PASSWORD}" -h mysql --database="${CLOUDRON_MYSQL_DATABASE}" -e \
"REPLACE INTO login_source (id, type, name, is_active, cfg, created_unix, updated_unix) VALUES (1,6,'cloudron', 1,'{\"Provider\":\"openidConnect\",\"ClientID\":\"${CLOUDRON_OIDC_CLIENT_ID}\",\"ClientSecret\":\"${CLOUDRON_OIDC_CLIENT_SECRET}\",\"OpenIDConnectAutoDiscoveryURL\":\"${CLOUDRON_OIDC_ISSUER}/.well-known/openid-configuration\",\"CustomURLMapping\":null,\"IconURL\":\"\",\"Scopes\":[\"openid email profile\"],\"RequiredClaimName\":\"\",\"RequiredClaimValue\":\"\",\"GroupClaimName\":\"\",\"AdminGroup\":\"\",\"GroupTeamMap\":\"\",\"GroupTeamMapRemoval\":false,\"RestrictedGroup\":\"\"}','${now}','${now}')" "REPLACE INTO login_source (id, type, name, is_active, cfg, created_unix, updated_unix) VALUES (1,6,'cloudron', 1,'{\"Provider\":\"openidConnect\",\"ClientID\":\"${CLOUDRON_OIDC_CLIENT_ID}\",\"ClientSecret\":\"${CLOUDRON_OIDC_CLIENT_SECRET}\",\"OpenIDConnectAutoDiscoveryURL\":\"${CLOUDRON_OIDC_ISSUER}/.well-known/openid-configuration\",\"CustomURLMapping\":null,\"IconURL\":\"\",\"Scopes\":[\"openid email profile\"],\"RequiredClaimName\":\"\",\"RequiredClaimValue\":\"\",\"GroupClaimName\":\"\",\"AdminGroup\":\"\",\"GroupTeamMap\":\"\",\"GroupTeamMapRemoval\":false,\"RestrictedGroup\":\"\"}','${now}','${now}')"
} }
setup_root_user() { setup_root_user() {
@ -47,7 +38,6 @@ setup_auth() {
if [[ -n "${CLOUDRON_OIDC_ISSUER:-}" ]]; then if [[ -n "${CLOUDRON_OIDC_ISSUER:-}" ]]; then
setup_oidc_source setup_oidc_source
migrate_ldap_users_to_oidc
fi fi
user_count=$(mysql -u"${CLOUDRON_MYSQL_USERNAME}" -p"${CLOUDRON_MYSQL_PASSWORD}" -h mysql --database="${CLOUDRON_MYSQL_DATABASE}" -N -B -e "SELECT count(*) FROM user") user_count=$(mysql -u"${CLOUDRON_MYSQL_USERNAME}" -p"${CLOUDRON_MYSQL_PASSWORD}" -h mysql --database="${CLOUDRON_MYSQL_DATABASE}" -N -B -e "SELECT count(*) FROM user")

View File

@ -2,4 +2,4 @@
readonly SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" readonly SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
ssh -o IdentitiesOnly=yes -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -i ${SCRIPT_DIR}/id_rsa "$@" ssh -o IdentitiesOnly=yes -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -i ${SCRIPT_DIR}/id_ed25519 "$@"

7
test/id_ed25519 Normal file
View File

@ -0,0 +1,7 @@
-----BEGIN OPENSSH PRIVATE KEY-----
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW
QyNTUxOQAAACDECyFdxcmgOemNvs0wUhkgzfj9IS2OTG6bU5AXfNkXfgAAAJAoNQg/KDUI
PwAAAAtzc2gtZWQyNTUxOQAAACDECyFdxcmgOemNvs0wUhkgzfj9IS2OTG6bU5AXfNkXfg
AAAEC9nIZlzus9hn/b99E/cnSE2Vpycx0invItrrzgOX9qwMQLIV3FyaA56Y2+zTBSGSDN
+P0hLY5MbptTkBd82Rd+AAAADW5lYnVsb25AbHVuYXI=
-----END OPENSSH PRIVATE KEY-----

1
test/id_ed25519.pub Normal file
View File

@ -0,0 +1 @@
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMQLIV3FyaA56Y2+zTBSGSDN+P0hLY5MbptTkBd82Rd+ nebulon@lunar

View File

@ -1,27 +0,0 @@
-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEA14L+HdwPXRHC2A+fyRv1FTsRE/OPl0Z0KnEigzIIdA65CzTy
l3m3ATNFI1o/Ies7RW6rsr9UHuLLufNVg1NwIBdns8sPE4pSZSjfdPnznifIIs7y
wL/vn2D3JEhpA8EOasSy0c+z+6X23evsLB3D81y7ICsBc16Q147WZ6D+QMUP+A4b
wlmEcy0hAoPx/jnnPlRDVOK1ZnBvuAaHBkcBh+sA272BhB6Kv13MBu0wctDjKw5w
cNmgVWbzBBtK1L8BZVMDKmKWZ2PKP4GkkpnAvkD0+4sdARe148faV8HHigAKKNN7
vt+njs6nHuS4ksJL1E9cKGHdBJudJc3p24iI7QIDAQABAoIBABm5ojnQPek/KIIA
A3PPKYc6QMSf60EEgPNcA+GjRE0OQNpsnJSmS8kR5KvepvCWksGr/0Tb/9+b9POi
b0+40waRpKhakdckSMeYhGwDNihn2UUGbQXDI4hj27xyBE8VaXInPq063OIqInjF
I7D0cKKJLDEf0RGDdUi13TQLjK4QX78W/9S8d5ClznAVi4wUBb1urs7fAoVetn/i
PnlEj9KZHio4mCg28djTudAoWzjzUikRqKRYY5QNEJ13abVoLqIRSRHC1DzwpxVv
Y88l4hmm6IcmWGo0O9lpu5IJFvEmngfpmyaVbeLE0fhLPFWcEHARw37SThTZVQeY
Tx1816UCgYEA9j5dyNbFcC4YL9i9DQyut658bYziY2vsAvZNMMf249IJGbZOxlZK
ylB00zlbO/2uNh12Y9z6BN2hO2lER3O3SM75tCnvXR0+qG+xmfjLcRVczEkU10+r
8UxKBgg7Sf9uvfeONefEYPwiwzFoWgdaFSrR2sCmuoHPwfc9i+PSp+8CgYEA4Azq
DToKdv6VBWPlNXT6OW3+HUPeHF087Ve03+3orCckZ+d2DImEOvWdt+pDeGQJJcq+
o+SzZk9FjFOIiQehuA44OFrvcbag9YAlm1JQYYrRTdZEJz3iSucXCzJH/P5TrB84
BHvzgCklZzZ0IpEFxzMe8oNS6XfJmilh6I98YOMCgYBybOy7xUGeLW1D3p2LENen
t0dOyObyeFYF0lpwTpulphZgglz8wWCjvttqw/5nVCy+LNa09RyhYjPoHbSC13zW
MofKdqoqRMq3DqAjAn/XHqwuqc8rdnRZ/q9vOigC7NWTJRRKbFbPEps8xRrOqxfr
OiimVFul02ito6xP8yAStQKBgQDHbPdPup/h9wzx9U7p3Ct1vt/3cJddK+i1YeIP
iBYYVebjzXSYCDd4u3MdZxmTKYey6dnyy/ibUmgXVassPWzHBXEpSFflIaf3nY7b
x9LgX82ZuOSFAWJRRYyPXLwTBtW3WTplU2cUZotyaVfKBMfd3TToq9e7E/KQk9Eg
Tcdp/QKBgCyKD1gGU/H1bsQOuWHuFR1v7v82V1DLVjyn5kllej0tlfTLO/5uUsEE
SIjGHfTHxgpww9HN9BPyy8xdQMAc6p7UyvJAIyhg679AQBrMLLvhE5niaGu4jQOa
ZVY6nZUQNCwgxJwnUkFnOyXDYjzjyxZOCAWPxghYbS+IEl1GzhZU
-----END RSA PRIVATE KEY-----

View File

@ -1 +0,0 @@
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDXgv4d3A9dEcLYD5/JG/UVOxET84+XRnQqcSKDMgh0DrkLNPKXebcBM0UjWj8h6ztFbquyv1Qe4su581WDU3AgF2ezyw8TilJlKN90+fOeJ8gizvLAv++fYPckSGkDwQ5qxLLRz7P7pfbd6+wsHcPzXLsgKwFzXpDXjtZnoP5AxQ/4DhvCWYRzLSECg/H+Oec+VENU4rVmcG+4BocGRwGH6wDbvYGEHoq/XcwG7TBy0OMrDnBw2aBVZvMEG0rUvwFlUwMqYpZnY8o/gaSSmcC+QPT7ix0BF7Xjx9pXwceKAAoo03u+36eOzqce5LiSwkvUT1woYd0Em50lzenbiIjt girish@beast

1430
test/package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -9,10 +9,10 @@
"author": "", "author": "",
"license": "ISC", "license": "ISC",
"dependencies": { "dependencies": {
"chromedriver": "^117.0.3", "chromedriver": "^129.0.2",
"expect.js": "^0.3.1", "expect.js": "^0.3.1",
"mocha": "^10.2.0", "mocha": "^10.7.3",
"selenium-webdriver": "^4.13.0", "selenium-webdriver": "^4.25.0",
"superagent": "^8.1.2" "superagent": "^10.1.0"
} }
} }

View File

@ -1,11 +1,7 @@
#!/usr/bin/env node #!/usr/bin/env node
/* jshint esversion: 8 */ /* jshint esversion: 8 */
/* global it:false */ /* global it, xit, describe, before, after, afterEach */
/* global xit:false */
/* global describe:false */
/* global before:false */
/* global after:false */
'use strict'; 'use strict';
@ -29,21 +25,23 @@ describe('Application life cycle test', function () {
const TIMEOUT = parseInt(process.env.TIMEOUT, 10) || 5000; const TIMEOUT = parseInt(process.env.TIMEOUT, 10) || 5000;
const EXEC_ARGS = { cwd: path.resolve(__dirname, '..'), stdio: 'inherit' }; const EXEC_ARGS = { cwd: path.resolve(__dirname, '..'), stdio: 'inherit' };
const LOCATION = 'test'; const LOCATION = process.env.LOCATION || 'test';
const SSH_PORT = 29420; const SSH_PORT = 29420;
let app, browser; let app, browser;
var athenticated_by_oidc = false; let athenticated_by_oidc = false;
const repodir = '/tmp/testrepo'; const repodir = '/tmp/testrepo';
const reponame = 'testrepo'; const reponame = 'testrepo';
const username = process.env.USERNAME; const username = process.env.USERNAME;
const password = process.env.PASSWORD; const password = process.env.PASSWORD;
const email = process.env.EMAIL;
before(function () { before(function () {
browser = new Builder().forBrowser('chrome').setChromeOptions(new Options().windowSize({ width: 1280, height: 1024 })).build(); const chromeOptions = new Options().windowSize({ width: 1280, height: 1024 });
if (process.env.CI) chromeOptions.addArguments('no-sandbox', 'disable-dev-shm-usage', 'headless');
browser = new Builder().forBrowser('chrome').setChromeOptions(chromeOptions).build();
if (!fs.existsSync('./screenshots')) fs.mkdirSync('./screenshots');
}); });
after(function () { after(function () {
@ -51,8 +49,19 @@ describe('Application life cycle test', function () {
fs.rmSync(repodir, { recursive: true, force: true }); fs.rmSync(repodir, { recursive: true, force: true });
}); });
afterEach(async function () {
if (!process.env.CI || !app) return;
const currentUrl = await browser.getCurrentUrl();
if (!currentUrl.includes(app.domain)) return;
expect(this.currentTest.title).to.be.a('string');
const screenshotData = await browser.takeScreenshot();
fs.writeFileSync(`./screenshots/${new Date().getTime()}-${this.currentTest.title.replaceAll(' ', '_')}.png`, screenshotData, 'base64');
});
function getAppInfo() { function getAppInfo() {
var inspect = JSON.parse(execSync('cloudron inspect')); const inspect = JSON.parse(execSync('cloudron inspect'));
app = inspect.apps.filter(function (a) { return a.location.indexOf(LOCATION) === 0; })[0]; app = inspect.apps.filter(function (a) { return a.location.indexOf(LOCATION) === 0; })[0];
expect(app).to.be.an('object'); expect(app).to.be.an('object');
} }
@ -113,7 +122,7 @@ describe('Application life cycle test', function () {
await browser.findElement(By.xpath('//input[@name="username"]')).sendKeys(username); await browser.findElement(By.xpath('//input[@name="username"]')).sendKeys(username);
await browser.findElement(By.xpath('//input[@name="password"]')).sendKeys(password); await browser.findElement(By.xpath('//input[@name="password"]')).sendKeys(password);
await browser.sleep(2000); await browser.sleep(2000);
await browser.findElement(By.xpath('//button[@type="submit" and contains(text(), "Sign in")]')).click(); await browser.findElement(By.id('loginSubmitButton')).click();
await browser.sleep(2000); await browser.sleep(2000);
athenticated_by_oidc = true; athenticated_by_oidc = true;
@ -132,11 +141,10 @@ describe('Application life cycle test', function () {
} }
async function addPublicKey() { async function addPublicKey() {
var publicKey = fs.readFileSync(__dirname + '/id_rsa.pub', 'utf8'); const publicKey = fs.readFileSync(__dirname + '/id_ed25519.pub', 'utf8');
execSync(`chmod g-rw,o-rw ${__dirname}/id_ed25519`); // ssh will complain about perms later
const sshPage = 'https://' + app.fqdn + '/user/settings/keys'; await browser.get('https://' + app.fqdn + '/user/settings/keys');
await browser.get(sshPage);
await browser.wait(until.elementLocated(By.id('add-ssh-button')), TIMEOUT); await browser.wait(until.elementLocated(By.id('add-ssh-button')), TIMEOUT);
await browser.findElement(By.id('add-ssh-button')).click(); await browser.findElement(By.id('add-ssh-button')).click();
@ -144,14 +152,14 @@ describe('Application life cycle test', function () {
await browser.findElement(By.id('ssh-key-content')).sendKeys(publicKey.trim()); // #3480 await browser.findElement(By.id('ssh-key-content')).sendKeys(publicKey.trim()); // #3480
var button = browser.findElement(By.xpath('//button[contains(text(), "Add Key")]')); var button = browser.findElement(By.xpath('//button[contains(text(), "Add Key")]'));
await browser.executeScript('arguments[0].scrollIntoView(false)', button); await browser.executeScript('arguments[0].scrollIntoView(false)', button);
await browser.findElement(By.xpath('//button[contains(text(), "Add Key") and contains(@class, "green")]')).click(); await browser.findElement(By.xpath('//form//button[contains(text(),"Add Key")]')).click();
await browser.wait(until.elementLocated(By.xpath('//p[contains(text(), "has been added.")]')), TIMEOUT); await browser.wait(until.elementLocated(By.xpath('//p[contains(text(), "has been added.")]')), TIMEOUT);
} }
async function createRepo() { async function createRepo() {
var getRepoPage = await browser.get('https://' + app.fqdn + '/repo/create'); await browser.get(`https://${app.fqdn}/repo/create`);
await browser.wait(until.elementLocated(By.id('repo_name')));
await browser.findElement(By.id('repo_name')).sendKeys(reponame); await browser.findElement(By.id('repo_name')).sendKeys(reponame);
var button = browser.findElement(By.xpath('//button[contains(text(), "Create Repository")]')); var button = browser.findElement(By.xpath('//button[contains(text(), "Create Repository")]'));
await browser.executeScript('arguments[0].scrollIntoView(true)', button); await browser.executeScript('arguments[0].scrollIntoView(true)', button);
@ -277,8 +285,7 @@ describe('Application life cycle test', function () {
it('can install app', function () { execSync(`cloudron install --appstore-id ${app.manifest.id} --location ${LOCATION} -p SSH_PORT=${SSH_PORT}`, EXEC_ARGS); }); it('can install app', function () { execSync(`cloudron install --appstore-id ${app.manifest.id} --location ${LOCATION} -p SSH_PORT=${SSH_PORT}`, EXEC_ARGS); });
it('can get app information', getAppInfo); it('can get app information', getAppInfo);
// to be replaced with loginOIDC in the next release it('can login', loginOIDC.bind(null, username, password));
it('can login', login.bind(null, username, password));
it('can set avatar', setAvatar); it('can set avatar', setAvatar);
it('can get avatar', checkAvatar); it('can get avatar', checkAvatar);
it('can add public key', addPublicKey); it('can add public key', addPublicKey);