2018-05-09 17:52:51 +03:00
name : gitea
2022-12-10 17:31:16 +03:00
summary : Gitea - A painless self-hosted Git service
2018-05-09 17:52:51 +03:00
description : |
The goal of this project is to make the easiest, fastest, and most painless
way of setting up a self-hosted Git service. With Go, this can be done with
an independent binary distribution across ALL platforms that Go supports,
including Linux, Mac OS X, Windows and ARM.
2021-01-01 22:04:35 +03:00
icon : public/img/logo.png
2018-05-09 17:52:51 +03:00
confinement : strict
2020-05-08 23:21:28 +03:00
base : core18
adopt-info : gitea
2018-05-09 17:52:51 +03:00
2020-05-09 07:39:19 +03:00
architectures :
- build-on : armhf
- build-on : amd64
- build-on : arm64
2020-05-08 23:21:28 +03:00
environment :
GITEA_CUSTOM : "$SNAP_COMMON"
2020-12-16 00:52:59 +03:00
GITEA_WORK_DIR : "$SNAP_COMMON"
2020-11-30 21:49:11 +03:00
GIT_TEMPLATE_DIR : "$SNAP/usr/share/git-core/templates"
GIT_EXEC_PATH : "$SNAP/usr/lib/git-core"
2018-05-09 17:52:51 +03:00
apps :
gitea :
2020-05-08 23:21:28 +03:00
command : gitea
2021-06-11 21:51:05 +03:00
plugs : [ network, network-bind, removable-media]
2018-05-09 17:52:51 +03:00
web :
2020-05-08 23:21:28 +03:00
command : gitea web
2018-05-09 17:52:51 +03:00
daemon : simple
2021-06-11 21:51:05 +03:00
plugs : [ network, network-bind, removable-media]
2018-05-09 17:52:51 +03:00
dump :
2020-05-08 23:21:28 +03:00
command : gitea dump
2021-06-11 21:51:05 +03:00
plugs : [ home, removable-media]
2018-05-09 17:52:51 +03:00
version :
2020-05-08 23:21:28 +03:00
command : gitea --version
2018-05-09 17:52:51 +03:00
sqlite :
command : usr/bin/sqlite3
parts :
gitea :
2020-05-08 23:21:28 +03:00
plugin : make
2018-05-09 17:52:51 +03:00
source : .
stage-packages : [ git, sqlite3, openssh-client ]
2022-08-18 19:25:50 +03:00
build-packages : [ git, libpam0g-dev, libsqlite3-dev, build-essential]
build-snaps : [ go, node/18/stable ]
2020-05-08 23:21:28 +03:00
build-environment :
- LDFLAGS : ""
override-pull : |
snapcraftctl pull
Add logic to build stable and edge builds (#12052)
This adds some logic to enable the snapcraft builds of the gitea snap to create both builds of the latest tip of master for edge channels, and stable releases.
The logic simply looks for a new upstream release in github, and if that latest tagged release is not the same as the release in the candidate channel in the snap store, then it must be new, and so we checkout that tag and build that. If the current released tag is the same as what's in candidate, we build whatever is in git master.
The process for using this is:
Initially: When this lands, it will build the latest stable release of gitea and push to the edge channel in the snap store. Someone on the release team can go to https://snapcraft.io/gitea/releases and release that build to stable and candidate.
Ongoing: The next build to be triggered will be a git master build, and can just sit in edge, nothing for the release team to do.
On new release: The next build triggered will contain the stable release, and will be published to edge. Someone on the release team can login to the above URL and release that again to stable & candidate. Alternatively they can release to candidate, do some additional testing on that release before releasing to stable.
Hope that all makes sense. Questions / comments welcome.
I'm super keen to see stable releases of Gitea in the stable channel of the Snap Store. I'd like to promote it but I can't really until it's in stable.
Co-authored-by: techknowlogick <techknowlogick@gitea.io>
2020-07-17 20:27:00 +03:00
last_committed_tag="$(git for-each-ref --sort=taggerdate --format '%(tag)' refs/tags | tail -n 1)"
last_released_tag="$(snap info gitea | awk '$1 == "latest/candidate:" { print $2 }')"
# If the latest tag from the upstream project has not been released to
# stable, build that tag instead of master.
if [ "${last_committed_tag}" != "${last_released_tag}" ]; then
git fetch
git checkout "${last_committed_tag}"
fi
2020-05-08 23:21:28 +03:00
version="$(git describe --always | sed -e 's/-/+git/;y/-/./')"
[ -n "$(echo $version | grep " +git")" ] && grade=devel || grade=stable
snapcraftctl set-version "$version"
snapcraftctl set-grade "$grade"
override-build : |
set -x
2022-02-01 01:52:12 +03:00
sed -i 's/os.Getuid()/1/g' modules/setting/setting.go
2019-12-08 19:56:59 +03:00
TAGS="bindata sqlite sqlite_unlock_notify pam cert" make build
2020-05-08 23:21:28 +03:00
install -D gitea "${SNAPCRAFT_PART_INSTALL}/gitea"
cp -r options "${SNAPCRAFT_PART_INSTALL}/"
2018-05-09 17:52:51 +03:00
prime :
- -etc
- -usr/lib/systemd
- -usr/lib/gcc
- -usr/lib/sasl2
- -usr/lib/x86_64-linux-gnu/krb5
- -usr/share/apport
- -usr/share/bash-completion
- -usr/share/git-core/contrib
- -usr/share/man
- -usr/share/upstart
- -var