Beyond coding. We forge.
  • Go 81.1%
  • go-html-template 10.9%
  • JavaScript 2.7%
  • CSS 1.9%
  • TypeScript 1.7%
  • Other 1.5%
Find a file
Gabor Pihaj 861272b0e9 test: compare file list instead of byte length in gzipped repo archive test (#10161)
As discussed on matrix, on my NixOS machine and in a Ubuntu distrobox container these tests were failing, as the byte length of the response was different:
```
api_repo_archive_test.go:43:
        	Error Trace:	/home/vdx/workspace/personal/forgejo/tests/integration/api_repo_archive_test.go:43
        	Error:      	"[31 139 8 0 0 0 0 0 0 3 237 212 177 106 195 48 16 6 224 155 253 20 134 238 237 201 146 78 237 208 161 144 140 93 250 2 193 178 165 52 16 71 70 113 32 143 95 26 111 134 180 29 18 135 146 255 91 14 36 129 164 59 157 250 250 184 90 111 147 175 183 171 207 80 183 33 211 229 49 51 139 200 41 50 243 52 50 139 33 165 89 180 21 167 156 35 102 101 172 86 180 166 25 28 246 67 157 137 57 167 52 252 180 238 183 249 233 229 254 9 91 149 77 234 186 176 27 94 197 70 229 99 229 124 163 125 116 28 197 136 117 98 159 69 219 32 194 47 38 180 190 241 166 45 110 125 102 184 156 28 250 164 158 174 155 209 239 126 112 206 158 239 127 230 105 255 87 170 210 100 105 6 119 222 255 99 253 63 150 111 139 247 229 99 215 94 101 143 241 255 55 231 235 175 101 90 127 109 88 209 44 73 188 243 250 63 148 167 23 80 20 139 176 111 242 166 31 54 105 87 198 148 199 225 91 159 14 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 232 15 190 0 14 221 99 58 0 40 0 0]" should have 266 item(s), but has 264
```

Instead of comparing the byte length of the gzipped archive, it's is probably an improvement to check the list of directories and files in the archive instead. The content of these files could be checked as well, as they are relatively small, but in general it might not always be feasible.

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/10161
Reviewed-by: Michael Kriese <michael.kriese@gmx.de>
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
Co-authored-by: Gabor Pihaj <gabor.pihaj@gmail.com>
Co-committed-by: Gabor Pihaj <gabor.pihaj@gmail.com>
2025-11-19 16:14:44 +01:00
.devcontainer Update Node.js to v24 (forgejo) (#10091) 2025-11-12 19:41:48 +01:00
.forgejo Update https://data.forgejo.org/actions/setup-forgejo action to v3.0.6 (forgejo) (#10162) 2025-11-19 07:00:12 +01:00
assets Update module code.forgejo.org/forgejo/runner/v11 to v11.3.1 (forgejo) (#10018) 2025-11-08 04:00:23 +01:00
build feat(issue-search): support query syntax (#9109) 2025-11-19 16:05:42 +01:00
cmd feat: show link to pull requests targeting a non-default branch when pushing (#10079) 2025-11-19 14:59:13 +01:00
contrib chore: rename 'forgejo_migrations' to 'forgejo_migrations_legacy' 2025-10-14 14:40:49 -06:00
custom/conf feat: replace cross origin protection (#9830) 2025-10-29 22:43:22 +01:00
docker bugfix check for alternate ssh host certificate location (#34146) 2025-04-14 15:53:35 +02:00
models feat: show link to pull requests targeting a non-default branch when pushing (#10079) 2025-11-19 14:59:13 +01:00
modules feat(issue-search): support query syntax (#9109) 2025-11-19 16:05:42 +01:00
options feat(issue-search): support query syntax (#9109) 2025-11-19 16:05:42 +01:00
public Add support for migrating from Pagure (#8513) 2025-08-11 16:56:26 +02:00
release-notes feat: ensure only expected ssh public keys are in authorized_keys file (#10010) 2025-11-09 01:06:04 +01:00
release-notes-published chore(release-notes): Forgejo v13.0.2 (#9859) 2025-10-26 07:26:56 +01:00
releases/images [DOCS] RELEASE-NOTES.md 2024-02-05 14:44:32 +01:00
routers feat(issue-search): support query syntax (#9109) 2025-11-19 16:05:42 +01:00
services chore: do not clobber ~/.ssh/authorized_keys in certain tests (#10163) 2025-11-19 16:14:16 +01:00
templates feat(issue-search): support query syntax (#9109) 2025-11-19 16:05:42 +01:00
tests test: compare file list instead of byte length in gzipped repo archive test (#10161) 2025-11-19 16:14:44 +01:00
tools chore: remove gopls in Makefile (#8205) 2025-06-17 08:28:26 +02:00
web_src feat(issue-search): support query syntax (#9109) 2025-11-19 16:05:42 +01:00
.air.toml chore: rename 'migrations' to 'gitea_migrations' 2025-10-14 14:40:49 -06:00
.deadcode-out feat: Use receive.hideRefs (#10015) 2025-11-10 14:36:15 +01:00
.dockerignore fix: Dockerfile should re-use bindata files when possible 2025-06-13 14:00:57 +02:00
.editorconfig Cover go.mod and go.sum in .editorconfig (#33960) 2025-04-01 02:28:02 +02:00
.envrc.example Make direnv optional to let developers use their own direnv configuration 2024-11-06 20:34:49 +01:00
.gitattributes Add interface{} to any replacement to make fmt, exclude *.pb.go (#30461) 2024-04-15 20:01:36 +02:00
.gitignore feat(build): improve lint-locale-usage further (#8736) 2025-08-27 23:47:34 +02:00
.gitmodules cleanup(tests): remove manual testing submodule 2024-04-21 10:13:51 +02:00
.gitpod.yml Remove sqlite-viewer and using database client (#31223) 2024-06-09 11:13:39 +02:00
.golangci.yml chore: rename 'migrations' to 'gitea_migrations' 2025-10-14 14:40:49 -06:00
.ignore Add /options/license and /options/gitignore to .ignore (#30219) 2024-04-07 15:40:31 +02:00
.mailmap Add .mailmap with aliases for Unknwon (github.com/Unknwon) 2024-08-14 08:26:16 -04:00
.markdownlint.yaml Update JS dependencies (#28537) 2023-12-30 05:29:03 +00:00
.npmrc Upgrade to npm lockfile v3 and explicitely set it (#23561) 2023-03-18 19:38:10 +01:00
.release-notes-assistant.yaml chore: release-notes-assistant: there may be three supported releases (#9480) 2025-09-30 14:20:22 +02:00
.spectral.yaml Add spectral linter for Swagger (#20321) 2022-07-11 18:07:16 -05:00
.yamllint.yaml fully replace drone with actions (#27556) 2023-10-11 06:39:32 +00:00
BSDmakefile feat: Makefile & BSDmakefile changes (#7455) 2025-04-27 10:04:32 +00:00
CODEOWNERS add myself to CODEOWNERS for the API (#10160) 2025-11-18 23:19:39 +01:00
CONTRIBUTING.md docs: replace Developer Guide link with the new Contributor Guide one. 2024-08-26 13:22:39 +03:00
DCO Remove address from DCO (#22595) 2023-01-24 18:52:38 +00:00
Dockerfile Update data.forgejo.org/oci/golang Docker tag to v1.25 (forgejo) (#9823) 2025-10-23 17:50:35 +02:00
Dockerfile.rootless Update data.forgejo.org/oci/golang Docker tag to v1.25 (forgejo) (#9823) 2025-10-23 17:50:35 +02:00
eslint.config.mjs feat: run tsc in CI (#9574) 2025-10-10 15:48:45 +02:00
flake.lock chore: bump nixpkgs in flake.lock (#10128) 2025-11-16 01:18:26 +01:00
flake.nix refactor: Simplify flake.nix (#9805) 2025-10-22 19:09:11 +02:00
go.mod Update module golang.org/x/net to v0.47.0 (forgejo) (#10112) 2025-11-15 08:28:10 +01:00
go.sum Update module golang.org/x/net to v0.47.0 (forgejo) (#10112) 2025-11-15 08:28:10 +01:00
LICENSE Forgejo v9.0 is GPLv3+ 2024-08-22 09:09:29 +02:00
main.go fix: do not mix urfave v2 with urfave v3 (#8168) 2025-06-12 15:38:03 +02:00
Makefile Update renovate to v42.11.0 (forgejo) (#10142) 2025-11-17 10:33:18 +01:00
manifest.scm Add a GNU Guix manifest (#8038) 2025-06-03 08:08:17 +02:00
package-lock.json Update Node.js to v24 (forgejo) (#10092) 2025-11-13 15:28:31 +01:00
package.json Update dependency clippie to v4.1.9 (forgejo) (#10016) 2025-11-08 12:37:52 +01:00
playwright.config.ts chore: remove webkit and mobile safari from playwright (#10103) 2025-11-13 17:23:08 +01:00
README.md chore: fix a few typos in the documentation (#9134) 2025-09-04 01:53:40 +02:00
release-notes-assistant.sh chore: improve the wording of the "not worth a release note" category (#8542) 2025-07-18 07:19:15 +02:00
RELEASE-NOTES.md chore(release-notes): fix release notes of chroma update in v8.0.0 2025-10-05 17:10:38 +05:00
renovate.json Update NPM constraint (#10096) 2025-11-12 23:13:29 +01:00
shell.nix chore: add missing gotestsum to nix dev shell (#9169) 2025-09-05 01:24:45 +02:00
stylelint.config.js Merge pull request 'Port "Enable declaration-block-no-redundant-longhand-properties (#30950)' (#3769) from beowulf/gitea-port-pull-30950 into forgejo 2024-05-14 22:23:54 +00:00
tailwind.config.js fix: Do not scan all Go files for tailwind classes 2024-08-24 15:45:50 +02:00
tsconfig.json Add typescript 2024-10-29 18:15:09 +01:00
vitest.config.ts Update vitest monorepo to v4 (forgejo) (major) (#9814) 2025-10-23 01:47:14 +02:00
webpack.config.js Update dependency htmx.org to v2 (forgejo) (#8342) 2025-06-29 13:52:24 +02:00

Welcome to Forgejo

Hi there! Tired of big platforms playing monopoly? Providing Git hosting for your project, friends, company or community? Forgejo (/for'd͡ʒe.jo/ inspired by forĝejo the Esperanto word for forge) has you covered with its intuitive interface, light and easy hosting and a lot of built-in functionality.

Forgejo was created in 2022 because we think that the project should be owned by an independent community. If you second that, then Forgejo is for you! Our promise: Independent Free/Libre Software forever!

What does Forgejo offer?

If you like any of the following, Forgejo is literally meant for you:

  • Lightweight: Forgejo can easily be hosted on nearly every machine. Running on a Raspberry? Small cloud instance? No problem!
  • Project management: Besides Git hosting, Forgejo offers issues, pull requests, wikis, kanban boards and much more to coordinate with your team.
  • Publishing: Have something to share? Use releases to host your software for download, or use the package registry to publish it for docker, npm and many other package managers.
  • Customizable: Want to change your look? Change some settings? There are many config switches to make Forgejo work exactly like you want.
  • Powerful: Organizations & team permissions, CI integration, Code Search, LDAP, OAuth and much more. If you have advanced needs, Forgejo has you covered.
  • Privacy: From update checker to default settings: Forgejo is built to be privacy first for you and your crew.
  • Federation: (WIP) We are actively working to connect software forges with each other through ActivityPub, and create a collaborative network of personal instances.

Learn more

Dive into the documentation, subscribe to releases and blog post on our website, find us on the Fediverse or hop into our Matrix room if you have any questions or want to get involved.

License

Forgejo is distributed under the terms of the GPL version 3.0 or any later version.

The agreement for this license was documented in June 2023 and implemented during the development of Forgejo v9.0. All Forgejo versions before v9.0 are distributed under the MIT license.

Get involved

If you are interested in making Forgejo better, either by reporting a bug or by changing the governance, please take a look at the contribution guide.