Beyond coding. We forge. (Code of Conduct: https://codeberg.org/forgejo/code-of-conduct)
Find a file
Earl Warren 70d45d9193
[CI] Forgejo Actions based release process
Refs: https://codeberg.org/forgejo/website/pulls/230
(cherry picked from commit 87d56bf6c7)

[CI] Forgejo Actions based release process (squash)

base64 -w0 to avoid wrapping when the doer name is long as it creates
a broken config.json

(cherry picked from commit 9efdc27e49)

[CI] Forgejo Actions based release process (squash) generate .xz files and sources

Generate .xz files
Check .sha256
Generate the source tarbal

(cherry picked from commit 7afec520c4)

[CI] Forgejo Actions based release process (squash) release notes

(cherry picked from commit d8f4f4807b)

[CI] Forgejo Actions based release process (squash) publish and sign release

(cherry picked from commit a52778c747)
(cherry picked from commit cf2ec62740)

[CI] Forgejo Actions based release process (squash) version

use Actions environment variables in Makefile (#25319) (#25318)

uses Actions variable to determine the version. But Forgejo builds
happen in a container where they are not available. Do not use them.

Also verify the version of the binary is as expected for sanity check.

(cherry picked from commit 6decf111a1)
(cherry picked from commit 206d0b3886)

[CI] read STORED_VERSION_FILE if available

(cherry picked from commit af74085ebf)

[CI] backward compatible executable compilation

Add a new static-executable target to use in Dockerfiles and restore
the $(EXECUTABLE) target to what it was before to for backward
compatibility.

The release process now builds static executables instead of
dynamically linked ones which makes them more portable. It changes the
requirements at compile time and is not backward compatible. In
particular it may break packaging that rely on the target that
currently creates a dynamically linked executable.

(cherry picked from commit 84d02a174a)
(cherry picked from commit 854be47328)

[CI] Forgejo Actions based release process (squash) doc / ca / verbosity

- Document workflow
- Increase verbosity if VERBOSE=true
- Download the Certificate Authority if behind the VPN

(cherry picked from commit 168d5d5869)
(cherry picked from commit 8756c9a72a)
(cherry picked from commit 2dad7ef20f)

[CI] Forgejo Actions based release process (squash) add assets sources-tarbal

Refs: https://codeberg.org/forgejo/forgejo/issues/1115
(cherry picked from commit 5531d01f19)

[CI] Forgejo Actions based release process (squash) add assets sources-tarbal

bindata.go is a file, not a directory

Refs: https://codeberg.org/forgejo/forgejo/issues/1115
(cherry picked from commit bd88a44778)
(cherry picked from commit b408085138)

[CI] Forgejo Actions based release process (squash) public/assets moved

(cherry picked from commit d8c921d5a6)
(cherry picked from commit f29e50b1a09b1a22fc2dbdb77e9a1def1196175b)

[CI] Fix release notes link

- Use substitution to replace all dots with dashes.
- Resolves https://codeberg.org/forgejo/forgejo/issues/1163

(cherry picked from commit 96783728f53a072915cace392aa269adfe9a5c73)
(cherry picked from commit c8d8bf8996)

[CI] pin go v1.20 for testing

Refs: https://codeberg.org/forgejo/forgejo/issues/1228
(cherry picked from commit fd4b5a013e)
(cherry picked from commit 00bb15f57f)

Conflicts:
	Dockerfile
	Dockerfile.rootless
	see https://codeberg.org/forgejo/forgejo/pulls/1303
(cherry picked from commit 6e2be54a6d)
(cherry picked from commit 346c418b4a)
(cherry picked from commit 49061f8422)
(cherry picked from commit 8229d59b7e)
2023-09-18 13:25:11 +02:00
.devcontainer devpod use go1.21 (#26637) 2023-08-21 16:20:50 +00:00
.forgejo [CI] Forgejo Actions based release process 2023-09-18 13:25:11 +02:00
.gitea Use docs.gitea.com instead of docs.gitea.io (#26739) 2023-08-27 11:59:12 +00:00
.github [CI] Forgejo Actions based CI for PR & branches 2023-09-18 13:25:11 +02:00
assets Update go dependencies (#26534) 2023-08-16 12:02:40 +00:00
build Use Set[Type] instead of map[Type]bool/struct{}. (#26804) 2023-08-30 06:55:25 +00:00
cmd [CLI] implement forgejo-cli 2023-09-18 13:25:11 +02:00
contrib Use docs.gitea.com instead of docs.gitea.io (#26739) 2023-08-27 11:59:12 +00:00
custom/conf [CI] DEFAULT_ACTIONS_URL = https://codeberg.org 2023-09-18 12:28:13 +02:00
docker Expanded minimum RSA Keylength to 3072 (#26604) 2023-08-28 00:53:16 +00:00
docs Support .git-blame-ignore-revs file (#26395) 2023-09-16 17:42:34 +00:00
models [CLI] implement forgejo-cli 2023-09-18 13:25:11 +02:00
modules [CI] Forgejo Actions based CI for PR & branches 2023-09-18 13:25:11 +02:00
options Display archived labels specially when listing labels (#26820) 2023-09-18 04:54:05 +00:00
public Drop Node.js 16 and update js dependencies (#27094) 2023-09-16 11:36:35 +00:00
routers [CLI] implement forgejo-cli 2023-09-18 13:25:11 +02:00
services Make SSPI auth mockable (#27036) 2023-09-17 23:32:56 +00:00
snap set version in snapcraft yaml 2023-09-13 23:20:46 -04:00
templates Display archived labels specially when listing labels (#26820) 2023-09-18 04:54:05 +00:00
tests [CI] set PASSWORD_HASH_ALGO = argon2 for integration tests 2023-09-18 13:25:11 +02:00
web_src Display archived labels specially when listing labels (#26820) 2023-09-18 04:54:05 +00:00
.air.toml Reduce verbosity of dev commands (#24917) 2023-05-24 20:11:04 +00:00
.changelog.yml Changelog for v1.15.0-rc1 (#16422) 2021-07-15 11:47:57 -04:00
.dockerignore Move public asset files to the proper directory (#25907) 2023-07-18 18:06:43 +02:00
.drone.yml Add yamllint (#26965) 2023-09-07 22:24:06 -04:00
.editorconfig Add markdownlint (#20512) 2022-07-28 09:22:47 +08:00
.eslintrc.yaml Add yamllint (#26965) 2023-09-07 22:24:06 -04:00
.gitattributes Move public asset files to the proper directory (#25907) 2023-07-18 18:06:43 +02:00
.gitignore update snap package (#27021) 2023-09-12 12:47:53 +00:00
.gitpod.yml Add Github related extensions in devcontainer (#25800) 2023-07-14 15:58:02 +08:00
.golangci.yml Use Go 1.21 for golangci-lint (#26786) 2023-08-29 16:25:24 +02:00
.ignore Add /public/assets to .ignore (#26232) 2023-07-30 12:34:20 +02:00
.markdownlint.yaml Add markdownlint (#20512) 2022-07-28 09:22:47 +08:00
.npmrc Upgrade to npm lockfile v3 and explicitely set it (#23561) 2023-03-18 19:38:10 +01:00
.spectral.yaml Add spectral linter for Swagger (#20321) 2022-07-11 18:07:16 -05:00
.stylelintrc.yaml Update JS dependencies (#26025) 2023-07-21 11:34:10 +08:00
.yamllint.yaml Add yamllint (#26965) 2023-09-07 22:24:06 -04:00
BSDmakefile update BSDmakefile to latest version from upstream (#24063) 2023-04-11 23:42:22 -04:00
build.go User/Org Feed render description as per web (#23887) 2023-04-04 04:39:47 +01:00
CHANGELOG.md Add v1.20.4 changelog (#26974) 2023-09-08 10:32:26 +00:00
CODE_OF_CONDUCT.md Add Gitea Community Code of Conduct (#23188) 2023-03-09 10:49:34 +08:00
CONTRIBUTING.md Use docs.gitea.com instead of docs.gitea.io (#26739) 2023-08-27 11:59:12 +00:00
DCO Remove address from DCO (#22595) 2023-01-24 18:52:38 +00:00
Dockerfile [CI] Forgejo Actions based release process 2023-09-18 13:25:11 +02:00
Dockerfile.rootless [CI] Forgejo Actions based release process 2023-09-18 13:25:11 +02:00
go.mod Update chroma to v2.9.1 (#26990) 2023-09-09 14:37:38 +00:00
go.sum Update chroma to v2.9.1 (#26990) 2023-09-09 14:37:38 +00:00
LICENSE Fix typo 2016-11-08 08:42:05 +01:00
main.go Fix incorrect CLI exit code and duplicate error message (#26346) 2023-08-05 23:36:45 +08:00
MAINTAINERS Apply lng2020 to maintainers (#27068) 2023-09-14 12:10:12 +08:00
Makefile [CI] Forgejo Actions based release process 2023-09-18 13:25:11 +02:00
package-lock.json Add missing deps to files-changed (#27100) 2023-09-16 13:23:06 +00:00
package.json Add missing deps to files-changed (#27100) 2023-09-16 13:23:06 +00:00
playwright.config.js Update JS dependencies and eslint config (#21388) 2022-10-10 20:02:20 +08:00
poetry.lock Lock yamllint and update indirect python deps (#26979) 2023-09-08 15:36:40 -04:00
poetry.toml Clean up pyproject.toml and package.json, fix poetry options (#25327) 2023-06-18 18:13:08 +00:00
pyproject.toml Lock yamllint and update indirect python deps (#26979) 2023-09-08 15:36:40 -04:00
README.md rm comment about hugo (#26832) 2023-08-31 01:09:11 +00:00
README_ZH.md Use docs.gitea.com instead of docs.gitea.io (#26739) 2023-08-27 11:59:12 +00:00
SECURITY.md Link to list of vulnerabilities (#25872) 2023-07-14 01:26:54 +00:00
vitest.config.js Update JS dependencies, misc tweaks (#25768) 2023-07-08 12:26:35 +02:00
webpack.config.js Vendor jquery.are-you-sure with strict mode fixes (#26901) 2023-09-06 00:02:44 +00:00

Gitea

Gitea - Git with a cup of tea

Contribute with Gitpod

View this document in Chinese

Purpose

The goal of this project is to make the easiest, fastest, and most painless way of setting up a self-hosted Git service.

As Gitea is written in Go, it works across all the platforms and architectures that are supported by Go, including Linux, macOS, and Windows on x86, amd64, ARM and PowerPC architectures. You can try it out using the online demo. This project has been forked from Gogs since November of 2016, but a lot has changed.

Building

From the root of the source tree, run:

TAGS="bindata" make build

or if SQLite support is required:

TAGS="bindata sqlite sqlite_unlock_notify" make build

The build target is split into two sub-targets:

  • make backend which requires Go Stable, the required version is defined in go.mod.
  • make frontend which requires Node.js LTS or greater.

Internet connectivity is required to download the go and npm modules. When building from the official source tarballs which include pre-built frontend files, the frontend target will not be triggered, making it possible to build without Node.js.

Parallelism (make -j <num>) is not supported.

More info: https://docs.gitea.com/installation/install-from-source

Using

./gitea web

NOTE: If you're interested in using our APIs, we have experimental support with documentation.

Contributing

Expected workflow is: Fork -> Patch -> Push -> Pull Request

NOTES:

  1. YOU MUST READ THE CONTRIBUTORS GUIDE BEFORE STARTING TO WORK ON A PULL REQUEST.
  2. If you have found a vulnerability in the project, please write privately to security@gitea.io. Thanks!

Translating

Translations are done through Crowdin. If you want to translate to a new language ask one of the managers in the Crowdin project to add a new language there.

You can also just create an issue for adding a language or ask on discord on the #translation channel. If you need context or find some translation issues, you can leave a comment on the string or ask on Discord. For general translation questions there is a section in the docs. Currently a bit empty but we hope to fill it as questions pop up.

https://docs.gitea.com/contributing/localization

Crowdin

Further information

For more information and instructions about how to install Gitea, please look at our documentation. If you have questions that are not covered by the documentation, you can get in contact with us on our Discord server or create a post in the discourse forum.

We maintain a list of Gitea-related projects at gitea/awesome-gitea.

The official Gitea CLI is developed at gitea/tea.

Authors

Backers

Thank you to all our backers! 🙏 [Become a backer]

Sponsors

Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor]

FAQ

How do you pronounce Gitea?

Gitea is pronounced /ɡɪti:/ as in "gi-tea" with a hard g.

Why is this not hosted on a Gitea instance?

We're working on it.

License

This project is licensed under the MIT License. See the LICENSE file for the full license text.

Screenshots

Looking for an overview of the interface? Check it out!

Dashboard User Profile Global Issues
Branches Web Editor Activity
New Migration Migrating Pull Request View
Pull Request Dark Diff Review Dark Diff Dark