2019-03-27 11:15:23 +00:00
|
|
|
module code.gitea.io/gitea
|
|
|
|
|
2023-09-03 10:34:57 +00:00
|
|
|
go 1.21
|
2019-03-27 11:15:23 +00:00
|
|
|
|
|
|
|
require (
|
2023-07-14 03:00:31 +00:00
|
|
|
code.gitea.io/actions-proto-go v0.3.1
|
2023-10-13 16:11:15 +00:00
|
|
|
code.gitea.io/gitea-vet v0.2.3
|
2023-12-19 01:18:42 +00:00
|
|
|
code.gitea.io/sdk/gitea v0.17.0
|
2022-09-01 21:13:17 +00:00
|
|
|
codeberg.org/gusted/mcaptcha v0.0.0-20220723083913-4f3072e1d570
|
2023-05-05 09:17:19 +00:00
|
|
|
gitea.com/go-chi/binding v0.0.0-20230415142243-04b515c6d669
|
2022-05-15 18:43:27 +00:00
|
|
|
gitea.com/go-chi/cache v0.2.0
|
2023-05-05 09:17:19 +00:00
|
|
|
gitea.com/go-chi/captcha v0.0.0-20230415143339-2c0754df4384
|
2023-07-14 03:00:31 +00:00
|
|
|
gitea.com/go-chi/session v0.0.0-20230613035928-39541325faa3
|
2022-09-01 21:13:17 +00:00
|
|
|
gitea.com/lunny/dingtalk_webhook v0.0.0-20171025031554-e3534c89ef96
|
2023-08-16 12:02:40 +00:00
|
|
|
gitea.com/lunny/levelqueue v0.4.2-0.20230414023320-3c0159fe0fe4
|
2021-12-19 05:37:18 +00:00
|
|
|
github.com/42wim/sshsig v0.0.0-20211121163825-841cf5bbc121
|
2023-05-02 21:40:46 +00:00
|
|
|
github.com/Azure/go-ntlmssp v0.0.0-20221128193559-754e69321358
|
2021-01-26 15:36:53 +00:00
|
|
|
github.com/NYTimes/gziphandler v1.1.1
|
2023-05-05 09:17:19 +00:00
|
|
|
github.com/PuerkitoBio/goquery v1.8.1
|
2023-12-19 01:18:42 +00:00
|
|
|
github.com/alecthomas/chroma/v2 v2.12.0
|
2023-05-02 16:31:35 +00:00
|
|
|
github.com/blakesmith/ar v0.0.0-20190502131153-809d4375e1fb
|
2023-09-27 07:10:58 +00:00
|
|
|
github.com/blevesearch/bleve/v2 v2.3.10
|
2023-08-16 12:02:40 +00:00
|
|
|
github.com/bufbuild/connect-go v1.10.0
|
2023-12-19 01:18:42 +00:00
|
|
|
github.com/buildkite/terminal-to-html/v3 v3.10.0
|
|
|
|
github.com/caddyserver/certmagic v0.20.0
|
2021-03-15 22:27:28 +00:00
|
|
|
github.com/chi-middleware/proxy v1.1.1
|
2023-02-24 20:18:49 +00:00
|
|
|
github.com/denisenkom/go-mssqldb v0.12.3
|
2023-01-14 15:57:10 +00:00
|
|
|
github.com/dimiro1/reply v0.0.0-20200315094148-d0136a4c9e21
|
2021-06-20 22:00:46 +00:00
|
|
|
github.com/djherbis/buffer v1.2.0
|
|
|
|
github.com/djherbis/nio/v3 v3.0.1
|
2023-02-01 18:30:39 +00:00
|
|
|
github.com/dsnet/compress v0.0.2-0.20210315054119-f66993602bf5
|
2023-02-24 20:18:49 +00:00
|
|
|
github.com/dustin/go-humanize v1.0.1
|
2023-10-07 05:55:08 +00:00
|
|
|
github.com/editorconfig/editorconfig-core-go/v2 v2.6.0
|
2023-01-14 15:57:10 +00:00
|
|
|
github.com/emersion/go-imap v1.2.1
|
2022-05-10 10:32:42 +00:00
|
|
|
github.com/emirpasic/gods v1.18.1
|
2022-09-01 21:13:17 +00:00
|
|
|
github.com/felixge/fgprof v0.9.3
|
2023-12-19 01:18:42 +00:00
|
|
|
github.com/fsnotify/fsnotify v1.7.0
|
2023-11-03 15:21:05 +00:00
|
|
|
github.com/gliderlabs/ssh v0.3.6-0.20230927171611-ece6c7995e46
|
2023-12-19 01:18:42 +00:00
|
|
|
github.com/go-ap/activitypub v0.0.0-20231114162308-e219254dc5c9
|
2023-01-12 08:21:16 +00:00
|
|
|
github.com/go-ap/jsonld v0.0.0-20221030091449-f2a191312c73
|
2023-08-16 12:02:40 +00:00
|
|
|
github.com/go-chi/chi/v5 v5.0.10
|
2022-05-10 10:32:42 +00:00
|
|
|
github.com/go-chi/cors v1.2.1
|
2023-12-19 01:18:42 +00:00
|
|
|
github.com/go-co-op/gocron v1.37.0
|
2023-10-07 05:55:08 +00:00
|
|
|
github.com/go-enry/go-enry/v2 v2.8.6
|
User keypairs and HTTP signatures for ActivityPub federation using go-ap (#19133)
* go.mod: add go-fed/{httpsig,activity/pub,activity/streams} dependency
go get github.com/go-fed/activity/streams@master
go get github.com/go-fed/activity/pub@master
go get github.com/go-fed/httpsig@master
* activitypub: implement /api/v1/activitypub/user/{username} (#14186)
Return informations regarding a Person (as defined in ActivityStreams
https://www.w3.org/TR/activitystreams-vocabulary/#dfn-person).
Refs: https://github.com/go-gitea/gitea/issues/14186
Signed-off-by: Loïc Dachary <loic@dachary.org>
* activitypub: add the public key to Person (#14186)
Refs: https://github.com/go-gitea/gitea/issues/14186
Signed-off-by: Loïc Dachary <loic@dachary.org>
* activitypub: go-fed conformant Clock instance
Signed-off-by: Loïc Dachary <loic@dachary.org>
* activitypub: signing http client
Signed-off-by: Loïc Dachary <loic@dachary.org>
* activitypub: implement the ReqSignature middleware
Signed-off-by: Loïc Dachary <loic@dachary.org>
* activitypub: hack_16834
Signed-off-by: Loïc Dachary <loic@dachary.org>
* Fix CI checks-backend errors with go mod tidy
Signed-off-by: Anthony Wang <ta180m@pm.me>
* Change 2021 to 2022, properly format package imports
Signed-off-by: Anthony Wang <ta180m@pm.me>
* Run make fmt and make generate-swagger
Signed-off-by: Anthony Wang <ta180m@pm.me>
* Use Gitea JSON library, add assert for pkp
Signed-off-by: Anthony Wang <ta180m@pm.me>
* Run make fmt again, fix err var redeclaration
Signed-off-by: Anthony Wang <ta180m@pm.me>
* Remove LogSQL from ActivityPub person test
Signed-off-by: Anthony Wang <ta180m@pm.me>
* Assert if json.Unmarshal succeeds
Signed-off-by: Anthony Wang <ta180m@pm.me>
* Cleanup, handle invalid usernames for ActivityPub person GET request
Signed-off-by: Anthony Wang <ta180m@pm.me>
* Rename hack_16834 to user_settings
Signed-off-by: Anthony Wang <ta180m@pm.me>
* Use the httplib module instead of http for GET requests
* Clean up whitespace with make fmt
* Use time.RFC1123 and make the http.Client proxy-aware
* Check if digest algo is supported in setting module
* Clean up some variable declarations
* Remove unneeded copy
* Use system timezone instead of setting.DefaultUILocation
* Use named constant for httpsigExpirationTime
* Make pubKey IRI #main-key instead of /#main-key
* Move /#main-key to #main-key in tests
* Implemented Webfinger endpoint.
* Add visible check.
* Add user profile as alias.
* Add actor IRI and remote interaction URL to WebFinger response
* fmt
* Fix lint errors
* Use go-ap instead of go-fed
* Run go mod tidy to fix missing modules in go.mod and go.sum
* make fmt
* Convert remaining code to go-ap
* Clean up go.sum
* Fix JSON unmarshall error
* Fix CI errors by adding @context to Person() and making sure types match
* Correctly decode JSON in api_activitypub_person_test.go
* Force CI rerun
* Fix TestActivityPubPersonInbox segfault
* Fix lint error
* Use @mariusor's suggestions for idiomatic go-ap usage
* Correctly add inbox/outbox IRIs to person
* Code cleanup
* Remove another LogSQL from ActivityPub person test
* Move httpsig algos slice to an init() function
* Add actor IRI and remote interaction URL to WebFinger response
* Update TestWebFinger to check for ActivityPub IRI in aliases
* make fmt
* Force CI rerun
* WebFinger: Add CORS header and fix Href -> Template for remote interactions
The CORS header is needed due to https://datatracker.ietf.org/doc/html/rfc7033#section-5 and fixes some Peertube <-> Gitea federation issues
* make lint-backend
* Make sure Person endpoint has Content-Type application/activity+json and includes PreferredUsername, URL, and Icon
Setting the correct Content-Type is essential for federating with Mastodon
* Use UTC instead of GMT
* Rename pkey to pubKey
* Make sure HTTP request Date in GMT
* make fmt
* dont drop err
* Make sure API responses always refer to username in original case
Copied from what I wrote on #19133 discussion: Handling username case is a very tricky issue and I've already encountered a Mastodon <-> Gitea federation bug due to Gitea considering Ta180m and ta180m to be the same user while Mastodon thinks they are two different users. I think the best way forward is for Gitea to only use the original case version of the username for federation so other AP software don't get confused.
* Move httpsig algs constant slice to modules/setting/federation.go
* Add new federation settings to app.example.ini and config-cheat-sheet
* Return if marshalling error
* Make sure Person IRIs are generated correctly
This commit ensures that if the setting.AppURL is something like "http://127.0.0.1:42567" (like in the integration tests), a trailing slash will be added after that URL.
* If httpsig verification fails, fix Host header and try again
This fixes a very rare bug when Gitea and another AP server (confirmed to happen with Mastodon) are running on the same machine, Gitea fails to verify incoming HTTP signatures. This is because the other AP server creates the sig with the public Gitea domain as the Host. However, when Gitea receives the request, the Host header is instead localhost, so the signature verification fails. Manually changing the host header to the correct value and trying the veification again fixes the bug.
* Revert "If httpsig verification fails, fix Host header and try again"
This reverts commit f53e46c721a037c55facb9200106a6b491bf834c.
The bug was actually caused by nginx messing up the Host header when reverse-proxying since I didn't have the line `proxy_set_header Host $host;` in my nginx config for Gitea.
* Go back to using ap.IRI to generate inbox and outbox IRIs
* use const for key values
* Update routers/web/webfinger.go
* Use ctx.JSON in Person response to make code cleaner
* Revert "Use ctx.JSON in Person response to make code cleaner"
This doesn't work because the ctx.JSON() function already sends the response out and it's too late to edit the headers.
This reverts commit 95aad988975be3393c76094864ed6ba962157e0c.
* Use activitypub.ActivityStreamsContentType for Person response Content Type
* Limit maximum ActivityPub request and response sizes to a configurable setting
* Move setting key constants to models/user/setting_keys.go
* Fix failing ActivityPubPerson integration test by checking the correct field for username
* Add a warning about changing settings that can break federation
* Add better comments
* Don't multiply Federation.MaxSize by 1<<20 twice
* Add more better comments
* Fix failing ActivityPubMissingPerson test
We now use ctx.ContextUser so the message printed out when a user does not exist is slightly different
* make generate-swagger
For some reason I didn't realize that /templates/swagger/v1_json.tmpl was machine-generated by make generate-swagger... I've been editing it by hand for three months! 🤦
* Move getting the RFC 2616 time to a separate function
* More code cleanup
* Update go-ap to fix empty liked collection and removed unneeded HTTP headers
* go mod tidy
* Add ed25519 to httpsig algorithms
* Use go-ap/jsonld to add @context and marshal JSON
* Change Gitea user agent from the default to Gitea/Version
* Use ctx.ServerError and remove all remote interaction code from webfinger.go
2022-06-19 05:25:12 +00:00
|
|
|
github.com/go-fed/httpsig v1.1.1-0.20201223112313-55836744818e
|
2023-10-07 05:55:08 +00:00
|
|
|
github.com/go-git/go-billy/v5 v5.5.0
|
|
|
|
github.com/go-git/go-git/v5 v5.9.0
|
|
|
|
github.com/go-ldap/ldap/v3 v3.4.6
|
2023-05-05 09:17:19 +00:00
|
|
|
github.com/go-sql-driver/mysql v1.7.1
|
2023-07-14 03:00:31 +00:00
|
|
|
github.com/go-swagger/go-swagger v0.30.5
|
2023-05-05 09:17:19 +00:00
|
|
|
github.com/go-testfixtures/testfixtures/v3 v3.9.0
|
2023-12-19 01:18:42 +00:00
|
|
|
github.com/go-webauthn/webauthn v0.9.4
|
2019-09-09 05:48:21 +00:00
|
|
|
github.com/gobwas/glob v0.2.3
|
2022-03-08 11:15:30 +00:00
|
|
|
github.com/gogs/chardet v0.0.0-20211120154057-b7413eaefb8f
|
2021-02-01 04:49:25 +00:00
|
|
|
github.com/gogs/go-gogs-client v0.0.0-20210131175652-1d7215cd8d85
|
2023-12-19 01:18:42 +00:00
|
|
|
github.com/golang-jwt/jwt/v5 v5.2.0
|
2023-12-18 21:42:04 +00:00
|
|
|
github.com/google/go-github/v57 v57.0.0
|
2023-12-19 01:18:42 +00:00
|
|
|
github.com/google/pprof v0.0.0-20231212022811-ec68065c825e
|
|
|
|
github.com/google/uuid v1.5.0
|
|
|
|
github.com/gorilla/feeds v1.1.2
|
|
|
|
github.com/gorilla/sessions v1.2.2
|
2022-10-01 13:49:30 +00:00
|
|
|
github.com/hashicorp/go-version v1.6.0
|
2023-10-07 05:55:08 +00:00
|
|
|
github.com/hashicorp/golang-lru/v2 v2.0.7
|
2023-01-12 08:21:16 +00:00
|
|
|
github.com/huandu/xstrings v1.4.0
|
2023-05-05 09:17:19 +00:00
|
|
|
github.com/jaytaylor/html2text v0.0.0-20230321000545-74c2419ad056
|
2023-12-19 01:18:42 +00:00
|
|
|
github.com/jhillyerd/enmime v1.1.0
|
2022-02-06 20:38:14 +00:00
|
|
|
github.com/json-iterator/go v1.1.12
|
2020-11-06 18:41:42 +00:00
|
|
|
github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51
|
2020-02-11 18:58:23 +00:00
|
|
|
github.com/keybase/go-crypto v0.0.0-20200123153347-de78d2cb44f4
|
2023-12-19 01:18:42 +00:00
|
|
|
github.com/klauspost/compress v1.17.4
|
|
|
|
github.com/klauspost/cpuid/v2 v2.2.6
|
2023-05-05 09:17:19 +00:00
|
|
|
github.com/lib/pq v1.10.9
|
2023-10-07 05:55:08 +00:00
|
|
|
github.com/markbates/goth v1.78.0
|
2023-12-19 01:18:42 +00:00
|
|
|
github.com/mattn/go-isatty v0.0.20
|
|
|
|
github.com/mattn/go-sqlite3 v1.14.19
|
|
|
|
github.com/meilisearch/meilisearch-go v0.26.0
|
2022-03-08 11:15:30 +00:00
|
|
|
github.com/mholt/archiver/v3 v3.5.1
|
2023-10-13 16:11:15 +00:00
|
|
|
github.com/microcosm-cc/bluemonday v1.0.26
|
2023-12-19 01:18:42 +00:00
|
|
|
github.com/minio/minio-go/v7 v7.0.66
|
2023-07-14 03:00:31 +00:00
|
|
|
github.com/minio/sha256-simd v1.0.1
|
2023-10-07 05:55:08 +00:00
|
|
|
github.com/msteinert/pam v1.2.0
|
|
|
|
github.com/nektos/act v0.2.52
|
2023-07-14 03:00:31 +00:00
|
|
|
github.com/niklasfasching/go-org v1.7.0
|
2022-05-10 10:32:42 +00:00
|
|
|
github.com/olivere/elastic/v7 v7.0.32
|
2023-02-06 10:07:09 +00:00
|
|
|
github.com/opencontainers/go-digest v1.0.0
|
2023-10-07 05:55:08 +00:00
|
|
|
github.com/opencontainers/image-spec v1.1.0-rc5
|
2020-04-03 19:29:12 +00:00
|
|
|
github.com/pkg/errors v0.9.1
|
2023-01-12 08:21:16 +00:00
|
|
|
github.com/pquerna/otp v1.4.0
|
2023-10-07 05:55:08 +00:00
|
|
|
github.com/prometheus/client_golang v1.17.0
|
2022-03-08 11:15:30 +00:00
|
|
|
github.com/quasoft/websspi v1.1.2
|
2023-12-19 01:18:42 +00:00
|
|
|
github.com/redis/go-redis/v9 v9.3.0
|
2023-08-24 03:06:51 +00:00
|
|
|
github.com/robfig/cron/v3 v3.0.1
|
2023-08-16 12:02:40 +00:00
|
|
|
github.com/santhosh-tekuri/jsonschema/v5 v5.3.1
|
2023-05-05 20:33:37 +00:00
|
|
|
github.com/sassoftware/go-rpmutils v0.2.0
|
2023-02-24 20:18:49 +00:00
|
|
|
github.com/sergi/go-diff v1.3.1
|
2023-07-14 03:00:31 +00:00
|
|
|
github.com/shurcooL/vfsgen v0.0.0-20230704071429-0000e147ea92
|
|
|
|
github.com/stretchr/testify v1.8.4
|
2020-09-27 21:09:46 +00:00
|
|
|
github.com/syndtr/goleveldb v1.0.0
|
2019-03-27 11:15:23 +00:00
|
|
|
github.com/tstranex/u2f v1.0.0
|
2023-05-02 16:31:35 +00:00
|
|
|
github.com/ulikunitz/xz v0.5.11
|
2023-12-15 15:49:01 +00:00
|
|
|
github.com/urfave/cli/v2 v2.26.0
|
[F3] Forgejo driver and CLI
user, topic, project, label, milestone, repository, pull_request,
release, asset, comment, reaction, review providers
Signed-off-by: Earl Warren <contact@earl-warren.org>
Preserve file size when creating attachments
Introduced in c6f50297084ebd9ec8b8c25370b9b963167274eb
repoList.LoadAttributes has a ctx argument now
Rename `repo.GetOwner` to `repo.LoadOwner`
bd66fa586a0da58c4cf2f5f8390aef4bac9d0527
upgrade to the latest gof3
(cherry picked from commit c77071365629984c1dc39a7a83e7252fd5b298e2)
[F3] ID remapping logic is in place, remove workaround
(cherry picked from commit d0fee301670c37c0e73afb271e0a8dd6b622f6f6)
[F3] it is experimental, do not enable by default
(cherry picked from commit de325b21d0adad199ec05652cb8d9fff19248ddb)
(cherry picked from commit 547e7b3c40f15766deb569cf2acface3290cf092)
(cherry picked from commit 820df3a56bc194645b482ef77a8845255d1185fe)
(cherry picked from commit eaba87689bbea84a215558033fc7d514b1b44f3e)
(cherry picked from commit 1b86896b3b4144254ed27064a167650b4e12c690)
(cherry picked from commit 0046aac1c639e021e719408e374cfc84fcbaa1d8)
(cherry picked from commit f14220df8ff692bdcfdcc94660acf64c77e732f5)
(cherry picked from commit 559b73100149978173b0ca8085280cc7fb79982f)
(cherry picked from commit 801f7d600de923afb9f24b74f2b28cc380f09cd0)
(cherry picked from commit 6aa76e9bcf243500675b5dbd543ee89d301ca44e)
(cherry picked from commit a8757dcb071093faea8a398413ee5681193b0627)
[F3] promote F3 users to matching OAuth2 users on first sign-in
(cherry picked from commit bd7fef7496c6f50e1559eac5922ec3280745864d)
(cherry picked from commit 07412698e8828bff3e1894d57356d92bb0063665)
(cherry picked from commit d143e5b2a3dda118529d29caea5e12423b5f5116)
[F3] upgrade to gof3 50a6e740ac04
Add new methods GetIDString() & SetIDString() & ToFormatInterface()
Change the prototype of the fixture function
(cherry picked from commit d7b263ff8b6fda188fe51b2ce75fa333d4aaa23e)
(cherry picked from commit b3eaf2249d3a8b35a564890674f9f50c4e2fde35)
(cherry picked from commit d492ddd9bba3df102e513e748fcafe7808206cb2)
[F3] add GetLocalMatchingRemote with a default implementation
(cherry picked from commit 0a2201503960a18a4308fcf9c13843c6b48569b0)
(cherry picked from commit f1310c38fbc4b2b941af323be215a6313de08232)
(cherry picked from commit deb68552f24ce22e35b5c7a88ceb45190b9df0a2)
[F3] GetLocalMatchingRemote for user
(cherry picked from commit e73cb837f57be0d6c65d6ecb13da621a362351da)
(cherry picked from commit a24bc0b85e1702917a6b39282a869b26654b1aa0)
(cherry picked from commit 846a522ecc5fcdfff1e875e3d006ea68f26137dd)
[F3] GetAdminUser now has a ctx argument
(cherry picked from commit 37357a92afe74405909721a0e0062c3eebcb3454)
(cherry picked from commit 660bc1673c189a16e88bd492947280a6e25fc7dd)
(cherry picked from commit 72d692a76743279b5dd74ff69ecf85d0994be265)
[F3] introduce UserTypeF3
To avoid conflicts should UserTypeRemoteUser be used differently by Gitea
(cherry picked from commit 6de2701bb34da3ab0e9f9e6038541eecbec1d7e4)
[F3] user.Put: idempotency
(cherry picked from commit 821e38573ceaa62ffa067b4e173fad50f0f20f05)
(cherry picked from commit f7638f5414e8dadbb3d982827d52c9529a4e9298)
[F3] upgrade to urfave v2
(cherry picked from commit cc3dbdfd1d1f6814cf8f047805dccf80efd8554c)
[F3] update gof3
(cherry picked from commit 2eee960751e1481f007c00e50406104a614e1255)
[F3] move f3 under forgejo-cli
* simplify the tests by re-using the forgejo-cli helpers to capture
the output
* unify CmdF3 to be structured in the same way CmdActions is
(cherry picked from commit 4c9fe58b7475529aecae2c85a4a51f7dcee86df8)
[F3] replace f3 with forgejo-cli f3
(cherry picked from commit 7ba7ceef1b22ed43d5e89f7c4a48d883332ac512)
[F3] s/ListOptions/Paginator/
[F3] user: add unit tests
[F3] user comparison of F3 managed users is on content
[F3] issue: add unit tests
[F3] gof3 now has one more argument to Put()
[F3] re-use gof3 unit tests for the driver
(cherry picked from commit af7ee6200cba7fcc2fa8bb7ca1e0aa0a5942a7df)
Conflicts:
tests/integration/integration_test.go
because of some code removed in forgejo-development, trivial
context conflict resolution
[F3] more idempotent tests (#1275)
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/1275
Co-authored-by: Loïc Dachary <loic@dachary.org>
Co-committed-by: Loïc Dachary <loic@dachary.org>
[F3] tests: do SQL update if nothing changes
[F3] tests comment idempotence
[F3] tests milestone idempotence
[F3] tests pull_request idempotence
[F3] tests release idempotence
[F3] tests asset idempotence
[F3] tests project idempotence
[F3] tests review idempotence
(cherry picked from commit 91038bb4e8d1f45d496ccf05d4fc8be88ded8093)
(cherry picked from commit a7d2a65214d30d2b75961da8eed16378eb445766)
(cherry picked from commit 59a17e5a3404a320b85a2b2ee5838e704f558cea)
[F3] sub command of forgejo-cli
(cherry picked from commit 4d098e9b83a7d43e46086a84606ab627d6ae3138)
[F3] implement --quiet, --debug, --verbose
(cherry picked from commit 82e2e17b4524900ae5afd68ec3ea23d58cabba54)
[F3] fix off by one error when importing repositories
(cherry picked from commit 31689b13979cb54521a09cf95be9c77f4b718fe3)
[F3] upgrade gof3
(cherry picked from commit 87b8cfe5a1e4790848f76ccec1055782cf2e493e)
[F3] set the logger for all drivers
The logger is set for the local Forgejo driver only. Even when --debug
is specified, the other drivers do not display debug
information. Use the gof3 context to set the logger for all of them at
once.
(cherry picked from commit 8aa7de8ba0ddac1c696063aa1c5c9e52ff3e11b4)
[F3] the closed date of an issue may be nil
(cherry picked from commit 93d3eaf0b5026f003fcc071ba9596d9d225e9b17)
[F3] update gof3 to support system users
there now is a workaround to hardcode system users when they are not
supported by the API
(cherry picked from commit 915484daa7365186d77a218af1c11ef9dba53d7c)
(cherry picked from commit b47ac73b8a6452b636bfdb0cca702567c77a581b)
[F3] upgrade gof3 with a version that can deal with system users
When they are missing from what the API returns, it will replace the
missing user with the Ghost user instead of leaving it be a null pointer.
(cherry picked from commit 9eeeab7f8e79bc512a1c2e73945a3b1be418b519)
[F3] tests do not need a running Forgejo server
(cherry picked from commit b2b9749ac9d59d2d460d4b50533dd26a93659b80)
[F3] upgrade gof3 to correctly fetch PRs from forks
(cherry picked from commit d2448de302a4fe3c070f6dd78d350b6e6d2a592d)
[F3] upgrade gof3 to resolve incorrect object ID mappings
(cherry picked from commit af8c9de89ffa3bc6adf659f01850e08959797b15)
[F3] mirroring a repository needs --mirror instead of --bare
(cherry picked from commit 9941131920d0c9122121cd733d11779fa2ec8f00)
[F3] PR create the pull/N/head from the original PR head
It is incorrect to assume they are identical because:
* the IDs of a PR may be remapped and pull/N/head will become
pull/M/head
* the head of a remote fork is a branch named after the fork
(cherry picked from commit 9c220bf23e8a2d1e62862b7f5582b9269ea7e729)
[F3] gof3 upgrade with non overlapping PR references
(cherry picked from commit f1b2f82e7eede4ecb65db6e4ba5f9b59ac3b03fd)
[F3] refactor issue insertion to preserve the creation date
issues_model.NewIssue() is convenient but will override the creation
date. Update the database instead.
(cherry picked from commit 729f4be1e45472d190b6fb842c5ee0e93ddea094)
[F3] gof3 upgrade to get performance improvements
(cherry picked from commit 996ac35d4d859601c203e50ac3b49f8453bd5880)
(cherry picked from commit 906e9eb3f5a6987e7a10b430db807507909d3fbc)
(cherry picked from commit c340e221970f932d3f494918c983fb9b473289c8)
(cherry picked from commit bb0ed72e08396004dd6612d3110418e36ac2602f)
(cherry picked from commit 500e640d6d366437d88f4e3f6a047fdd86f0719e)
[F3] TestForgeMethods needs to populate the database
(cherry picked from commit e6da71229f6f940ec4b14ee5726d940e297e57c8)
(cherry picked from commit e3bd08889584ab9afb9c1fcdfc6d8b5ce34207a5)
(cherry picked from commit 22551361877dbaa3e397e4f75e79f995aae2b665)
(cherry picked from commit 69584b1baf5e5918c644304ba4bc2bf721d5bbfa)
(cherry picked from commit bc37771dc3c0eeeed248e334b4b629a527005d85)
(cherry picked from commit 90592146c613bbb42af45e60de33224cf7fddb61)
(cherry picked from commit 6160eb38d93c11d88893f424a4908b38625114b9)
(cherry picked from commit 4ed79ea8eb4fcd8741d748fcc5eaae5cba749e95)
(cherry picked from commit 8cb9c266ab72bc9063f7c155faa585ef30cc7b10)
(cherry picked from commit 7b346e7bb202d206de8dfbdc5540bd8c807dbd20)
(cherry picked from commit 0345dd562de4266a90e6c7691c3075a1dd9a7691)
(cherry picked from commit 0f8821c1b1bc6e63dc1398936b53cf81b5939e7f)
[F3] resolve
(cherry picked from commit 2acd211536a7b49dc3198d5cf80dcd3c8ff6a837)
(cherry picked from commit 704317c24e3969e1240eaeac7fd02aac0225d769)
(cherry picked from commit b127296da6742cf1b0380f0779f5dd59d5be34fa)
(cherry picked from commit 000b6f823e242f965628f205bcbdeb924b983e56)
(cherry picked from commit 7bd1b351390d14c79e5c39a16e720eebe995d307)
(cherry picked from commit 6ba434bf2fcea63204f6d6cd4db7521e30f2b564)
(cherry picked from commit 5c0826c529d8205f2b303c5a40336de8b905bfa0)
(cherry picked from commit 00f7d12512db003f5e2d9267351e46e6d8e1905c)
(cherry picked from commit 13550cb0b51b12785a26a227af2bd7226aabb445)
(cherry picked from commit 3b16d9e1143a14a5351de51286ac67ec974c47e7)
(cherry picked from commit 1b0db139d68c616270f96382f6f7c8340692f6f7)
[F3] licenses
(cherry picked from commit 2bccd8c1ef47cf169ac705ed6839d857bc1dddc4)
(cherry picked from commit a92c48c8c2387ccdf135e1ef7cad2dd7fdf375b6)
2022-09-06 04:35:43 +00:00
|
|
|
github.com/xanzy/go-gitlab v0.93.1
|
2022-12-17 06:22:34 +00:00
|
|
|
github.com/xeipuuv/gojsonschema v1.2.0
|
2023-05-05 09:17:19 +00:00
|
|
|
github.com/yohcop/openid-go v1.0.1
|
2023-12-19 01:18:42 +00:00
|
|
|
github.com/yuin/goldmark v1.6.0
|
2023-08-16 12:02:40 +00:00
|
|
|
github.com/yuin/goldmark-highlighting/v2 v2.0.0-20230729083705-37449abec8cc
|
2022-03-08 11:15:30 +00:00
|
|
|
github.com/yuin/goldmark-meta v1.1.0
|
2023-12-19 01:18:42 +00:00
|
|
|
golang.org/x/crypto v0.17.0
|
|
|
|
golang.org/x/image v0.14.0
|
|
|
|
golang.org/x/net v0.19.0
|
|
|
|
golang.org/x/oauth2 v0.15.0
|
|
|
|
golang.org/x/sys v0.15.0
|
|
|
|
golang.org/x/text v0.14.0
|
|
|
|
golang.org/x/tools v0.16.1
|
|
|
|
google.golang.org/grpc v1.60.0
|
2023-07-14 03:00:31 +00:00
|
|
|
google.golang.org/protobuf v1.31.0
|
2019-03-27 11:15:23 +00:00
|
|
|
gopkg.in/gomail.v2 v2.0.0-20160411212932-81ebce5c23df
|
2022-09-01 21:13:17 +00:00
|
|
|
gopkg.in/ini.v1 v1.67.0
|
2022-09-13 16:33:37 +00:00
|
|
|
gopkg.in/yaml.v3 v3.0.1
|
[F3] Forgejo driver and CLI
user, topic, project, label, milestone, repository, pull_request,
release, asset, comment, reaction, review providers
Signed-off-by: Earl Warren <contact@earl-warren.org>
Preserve file size when creating attachments
Introduced in c6f50297084ebd9ec8b8c25370b9b963167274eb
repoList.LoadAttributes has a ctx argument now
Rename `repo.GetOwner` to `repo.LoadOwner`
bd66fa586a0da58c4cf2f5f8390aef4bac9d0527
upgrade to the latest gof3
(cherry picked from commit c77071365629984c1dc39a7a83e7252fd5b298e2)
[F3] ID remapping logic is in place, remove workaround
(cherry picked from commit d0fee301670c37c0e73afb271e0a8dd6b622f6f6)
[F3] it is experimental, do not enable by default
(cherry picked from commit de325b21d0adad199ec05652cb8d9fff19248ddb)
(cherry picked from commit 547e7b3c40f15766deb569cf2acface3290cf092)
(cherry picked from commit 820df3a56bc194645b482ef77a8845255d1185fe)
(cherry picked from commit eaba87689bbea84a215558033fc7d514b1b44f3e)
(cherry picked from commit 1b86896b3b4144254ed27064a167650b4e12c690)
(cherry picked from commit 0046aac1c639e021e719408e374cfc84fcbaa1d8)
(cherry picked from commit f14220df8ff692bdcfdcc94660acf64c77e732f5)
(cherry picked from commit 559b73100149978173b0ca8085280cc7fb79982f)
(cherry picked from commit 801f7d600de923afb9f24b74f2b28cc380f09cd0)
(cherry picked from commit 6aa76e9bcf243500675b5dbd543ee89d301ca44e)
(cherry picked from commit a8757dcb071093faea8a398413ee5681193b0627)
[F3] promote F3 users to matching OAuth2 users on first sign-in
(cherry picked from commit bd7fef7496c6f50e1559eac5922ec3280745864d)
(cherry picked from commit 07412698e8828bff3e1894d57356d92bb0063665)
(cherry picked from commit d143e5b2a3dda118529d29caea5e12423b5f5116)
[F3] upgrade to gof3 50a6e740ac04
Add new methods GetIDString() & SetIDString() & ToFormatInterface()
Change the prototype of the fixture function
(cherry picked from commit d7b263ff8b6fda188fe51b2ce75fa333d4aaa23e)
(cherry picked from commit b3eaf2249d3a8b35a564890674f9f50c4e2fde35)
(cherry picked from commit d492ddd9bba3df102e513e748fcafe7808206cb2)
[F3] add GetLocalMatchingRemote with a default implementation
(cherry picked from commit 0a2201503960a18a4308fcf9c13843c6b48569b0)
(cherry picked from commit f1310c38fbc4b2b941af323be215a6313de08232)
(cherry picked from commit deb68552f24ce22e35b5c7a88ceb45190b9df0a2)
[F3] GetLocalMatchingRemote for user
(cherry picked from commit e73cb837f57be0d6c65d6ecb13da621a362351da)
(cherry picked from commit a24bc0b85e1702917a6b39282a869b26654b1aa0)
(cherry picked from commit 846a522ecc5fcdfff1e875e3d006ea68f26137dd)
[F3] GetAdminUser now has a ctx argument
(cherry picked from commit 37357a92afe74405909721a0e0062c3eebcb3454)
(cherry picked from commit 660bc1673c189a16e88bd492947280a6e25fc7dd)
(cherry picked from commit 72d692a76743279b5dd74ff69ecf85d0994be265)
[F3] introduce UserTypeF3
To avoid conflicts should UserTypeRemoteUser be used differently by Gitea
(cherry picked from commit 6de2701bb34da3ab0e9f9e6038541eecbec1d7e4)
[F3] user.Put: idempotency
(cherry picked from commit 821e38573ceaa62ffa067b4e173fad50f0f20f05)
(cherry picked from commit f7638f5414e8dadbb3d982827d52c9529a4e9298)
[F3] upgrade to urfave v2
(cherry picked from commit cc3dbdfd1d1f6814cf8f047805dccf80efd8554c)
[F3] update gof3
(cherry picked from commit 2eee960751e1481f007c00e50406104a614e1255)
[F3] move f3 under forgejo-cli
* simplify the tests by re-using the forgejo-cli helpers to capture
the output
* unify CmdF3 to be structured in the same way CmdActions is
(cherry picked from commit 4c9fe58b7475529aecae2c85a4a51f7dcee86df8)
[F3] replace f3 with forgejo-cli f3
(cherry picked from commit 7ba7ceef1b22ed43d5e89f7c4a48d883332ac512)
[F3] s/ListOptions/Paginator/
[F3] user: add unit tests
[F3] user comparison of F3 managed users is on content
[F3] issue: add unit tests
[F3] gof3 now has one more argument to Put()
[F3] re-use gof3 unit tests for the driver
(cherry picked from commit af7ee6200cba7fcc2fa8bb7ca1e0aa0a5942a7df)
Conflicts:
tests/integration/integration_test.go
because of some code removed in forgejo-development, trivial
context conflict resolution
[F3] more idempotent tests (#1275)
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/1275
Co-authored-by: Loïc Dachary <loic@dachary.org>
Co-committed-by: Loïc Dachary <loic@dachary.org>
[F3] tests: do SQL update if nothing changes
[F3] tests comment idempotence
[F3] tests milestone idempotence
[F3] tests pull_request idempotence
[F3] tests release idempotence
[F3] tests asset idempotence
[F3] tests project idempotence
[F3] tests review idempotence
(cherry picked from commit 91038bb4e8d1f45d496ccf05d4fc8be88ded8093)
(cherry picked from commit a7d2a65214d30d2b75961da8eed16378eb445766)
(cherry picked from commit 59a17e5a3404a320b85a2b2ee5838e704f558cea)
[F3] sub command of forgejo-cli
(cherry picked from commit 4d098e9b83a7d43e46086a84606ab627d6ae3138)
[F3] implement --quiet, --debug, --verbose
(cherry picked from commit 82e2e17b4524900ae5afd68ec3ea23d58cabba54)
[F3] fix off by one error when importing repositories
(cherry picked from commit 31689b13979cb54521a09cf95be9c77f4b718fe3)
[F3] upgrade gof3
(cherry picked from commit 87b8cfe5a1e4790848f76ccec1055782cf2e493e)
[F3] set the logger for all drivers
The logger is set for the local Forgejo driver only. Even when --debug
is specified, the other drivers do not display debug
information. Use the gof3 context to set the logger for all of them at
once.
(cherry picked from commit 8aa7de8ba0ddac1c696063aa1c5c9e52ff3e11b4)
[F3] the closed date of an issue may be nil
(cherry picked from commit 93d3eaf0b5026f003fcc071ba9596d9d225e9b17)
[F3] update gof3 to support system users
there now is a workaround to hardcode system users when they are not
supported by the API
(cherry picked from commit 915484daa7365186d77a218af1c11ef9dba53d7c)
(cherry picked from commit b47ac73b8a6452b636bfdb0cca702567c77a581b)
[F3] upgrade gof3 with a version that can deal with system users
When they are missing from what the API returns, it will replace the
missing user with the Ghost user instead of leaving it be a null pointer.
(cherry picked from commit 9eeeab7f8e79bc512a1c2e73945a3b1be418b519)
[F3] tests do not need a running Forgejo server
(cherry picked from commit b2b9749ac9d59d2d460d4b50533dd26a93659b80)
[F3] upgrade gof3 to correctly fetch PRs from forks
(cherry picked from commit d2448de302a4fe3c070f6dd78d350b6e6d2a592d)
[F3] upgrade gof3 to resolve incorrect object ID mappings
(cherry picked from commit af8c9de89ffa3bc6adf659f01850e08959797b15)
[F3] mirroring a repository needs --mirror instead of --bare
(cherry picked from commit 9941131920d0c9122121cd733d11779fa2ec8f00)
[F3] PR create the pull/N/head from the original PR head
It is incorrect to assume they are identical because:
* the IDs of a PR may be remapped and pull/N/head will become
pull/M/head
* the head of a remote fork is a branch named after the fork
(cherry picked from commit 9c220bf23e8a2d1e62862b7f5582b9269ea7e729)
[F3] gof3 upgrade with non overlapping PR references
(cherry picked from commit f1b2f82e7eede4ecb65db6e4ba5f9b59ac3b03fd)
[F3] refactor issue insertion to preserve the creation date
issues_model.NewIssue() is convenient but will override the creation
date. Update the database instead.
(cherry picked from commit 729f4be1e45472d190b6fb842c5ee0e93ddea094)
[F3] gof3 upgrade to get performance improvements
(cherry picked from commit 996ac35d4d859601c203e50ac3b49f8453bd5880)
(cherry picked from commit 906e9eb3f5a6987e7a10b430db807507909d3fbc)
(cherry picked from commit c340e221970f932d3f494918c983fb9b473289c8)
(cherry picked from commit bb0ed72e08396004dd6612d3110418e36ac2602f)
(cherry picked from commit 500e640d6d366437d88f4e3f6a047fdd86f0719e)
[F3] TestForgeMethods needs to populate the database
(cherry picked from commit e6da71229f6f940ec4b14ee5726d940e297e57c8)
(cherry picked from commit e3bd08889584ab9afb9c1fcdfc6d8b5ce34207a5)
(cherry picked from commit 22551361877dbaa3e397e4f75e79f995aae2b665)
(cherry picked from commit 69584b1baf5e5918c644304ba4bc2bf721d5bbfa)
(cherry picked from commit bc37771dc3c0eeeed248e334b4b629a527005d85)
(cherry picked from commit 90592146c613bbb42af45e60de33224cf7fddb61)
(cherry picked from commit 6160eb38d93c11d88893f424a4908b38625114b9)
(cherry picked from commit 4ed79ea8eb4fcd8741d748fcc5eaae5cba749e95)
(cherry picked from commit 8cb9c266ab72bc9063f7c155faa585ef30cc7b10)
(cherry picked from commit 7b346e7bb202d206de8dfbdc5540bd8c807dbd20)
(cherry picked from commit 0345dd562de4266a90e6c7691c3075a1dd9a7691)
(cherry picked from commit 0f8821c1b1bc6e63dc1398936b53cf81b5939e7f)
[F3] resolve
(cherry picked from commit 2acd211536a7b49dc3198d5cf80dcd3c8ff6a837)
(cherry picked from commit 704317c24e3969e1240eaeac7fd02aac0225d769)
(cherry picked from commit b127296da6742cf1b0380f0779f5dd59d5be34fa)
(cherry picked from commit 000b6f823e242f965628f205bcbdeb924b983e56)
(cherry picked from commit 7bd1b351390d14c79e5c39a16e720eebe995d307)
(cherry picked from commit 6ba434bf2fcea63204f6d6cd4db7521e30f2b564)
(cherry picked from commit 5c0826c529d8205f2b303c5a40336de8b905bfa0)
(cherry picked from commit 00f7d12512db003f5e2d9267351e46e6d8e1905c)
(cherry picked from commit 13550cb0b51b12785a26a227af2bd7226aabb445)
(cherry picked from commit 3b16d9e1143a14a5351de51286ac67ec974c47e7)
(cherry picked from commit 1b0db139d68c616270f96382f6f7c8340692f6f7)
[F3] licenses
(cherry picked from commit 2bccd8c1ef47cf169ac705ed6839d857bc1dddc4)
(cherry picked from commit a92c48c8c2387ccdf135e1ef7cad2dd7fdf375b6)
2022-09-06 04:35:43 +00:00
|
|
|
lab.forgefriends.org/friendlyforgeformat/gof3 v1.0.1-0.20231016193607-59f139e6759e
|
2023-07-14 03:00:31 +00:00
|
|
|
mvdan.cc/xurls/v2 v2.5.0
|
2019-10-08 19:48:57 +00:00
|
|
|
strk.kbt.io/projects/go/libravatar v0.0.0-20191008002943-06d1c002b251
|
2023-07-25 20:27:44 +00:00
|
|
|
xorm.io/builder v0.3.13
|
2024-01-10 11:03:23 +00:00
|
|
|
xorm.io/xorm v1.3.7-0.20240101024435-4992cba040fe
|
2019-03-27 11:15:23 +00:00
|
|
|
)
|
2020-09-06 00:44:34 +00:00
|
|
|
|
2022-03-16 04:08:31 +00:00
|
|
|
require (
|
2023-12-19 01:18:42 +00:00
|
|
|
cloud.google.com/go/compute v1.23.3 // indirect
|
2023-02-24 20:18:49 +00:00
|
|
|
cloud.google.com/go/compute/metadata v0.2.3 // indirect
|
2023-08-16 12:02:40 +00:00
|
|
|
dario.cat/mergo v1.0.0 // indirect
|
2022-09-01 21:13:17 +00:00
|
|
|
git.sr.ht/~mariusor/go-xsd-duration v0.0.0-20220703122237-02e73435a078 // indirect
|
2023-12-19 01:18:42 +00:00
|
|
|
github.com/ClickHouse/ch-go v0.61.0 // indirect
|
|
|
|
github.com/ClickHouse/clickhouse-go/v2 v2.16.0 // indirect
|
2023-07-14 03:00:31 +00:00
|
|
|
github.com/DataDog/zstd v1.5.5 // indirect
|
2022-09-01 21:13:17 +00:00
|
|
|
github.com/Masterminds/goutils v1.1.1 // indirect
|
2023-07-14 03:00:31 +00:00
|
|
|
github.com/Masterminds/semver/v3 v3.2.1 // indirect
|
2023-02-24 20:18:49 +00:00
|
|
|
github.com/Masterminds/sprig/v3 v3.2.3 // indirect
|
2023-05-05 09:17:19 +00:00
|
|
|
github.com/Microsoft/go-winio v0.6.1 // indirect
|
2023-10-07 05:55:08 +00:00
|
|
|
github.com/ProtonMail/go-crypto v0.0.0-20230923063757-afb1ddc0824c // indirect
|
2023-12-19 01:18:42 +00:00
|
|
|
github.com/RoaringBitmap/roaring v1.7.0 // indirect
|
2023-05-05 09:17:19 +00:00
|
|
|
github.com/acomagu/bufpipe v1.0.4 // indirect
|
2023-12-19 01:18:42 +00:00
|
|
|
github.com/andybalholm/brotli v1.0.6 // indirect
|
2023-05-05 09:17:19 +00:00
|
|
|
github.com/andybalholm/cascadia v1.3.2 // indirect
|
2022-03-16 04:08:31 +00:00
|
|
|
github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be // indirect
|
2023-07-14 03:00:31 +00:00
|
|
|
github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 // indirect
|
2022-03-16 04:08:31 +00:00
|
|
|
github.com/aymerick/douceur v0.2.0 // indirect
|
|
|
|
github.com/beorn7/perks v1.0.1 // indirect
|
2023-12-19 01:18:42 +00:00
|
|
|
github.com/bits-and-blooms/bitset v1.12.0 // indirect
|
|
|
|
github.com/blevesearch/bleve_index_api v1.1.4 // indirect
|
2023-09-27 07:10:58 +00:00
|
|
|
github.com/blevesearch/geo v0.1.18 // indirect
|
2022-03-16 04:08:31 +00:00
|
|
|
github.com/blevesearch/go-porterstemmer v1.0.3 // indirect
|
2022-05-10 10:32:42 +00:00
|
|
|
github.com/blevesearch/gtreap v0.1.1 // indirect
|
2022-10-01 13:49:30 +00:00
|
|
|
github.com/blevesearch/mmap-go v1.0.4 // indirect
|
2023-12-19 01:18:42 +00:00
|
|
|
github.com/blevesearch/scorch_segment_api/v2 v2.2.5 // indirect
|
2023-01-12 08:21:16 +00:00
|
|
|
github.com/blevesearch/segment v0.9.1 // indirect
|
2022-03-16 04:08:31 +00:00
|
|
|
github.com/blevesearch/snowballstem v0.9.0 // indirect
|
2023-01-12 08:21:16 +00:00
|
|
|
github.com/blevesearch/upsidedown_store_api v1.0.2 // indirect
|
2023-07-14 03:00:31 +00:00
|
|
|
github.com/blevesearch/vellum v1.0.10 // indirect
|
2023-09-27 07:10:58 +00:00
|
|
|
github.com/blevesearch/zapx/v11 v11.3.10 // indirect
|
|
|
|
github.com/blevesearch/zapx/v12 v12.3.10 // indirect
|
|
|
|
github.com/blevesearch/zapx/v13 v13.3.10 // indirect
|
|
|
|
github.com/blevesearch/zapx/v14 v14.3.10 // indirect
|
|
|
|
github.com/blevesearch/zapx/v15 v15.3.13 // indirect
|
2022-03-16 04:08:31 +00:00
|
|
|
github.com/boombuler/barcode v1.0.1 // indirect
|
2023-10-13 16:11:15 +00:00
|
|
|
github.com/bradfitz/gomemcache v0.0.0-20230905024940-24af94b03874 // indirect
|
2023-01-14 15:57:10 +00:00
|
|
|
github.com/cention-sany/utf7 v0.0.0-20170124080048-26cad61bd60a // indirect
|
2023-02-24 20:18:49 +00:00
|
|
|
github.com/cespare/xxhash/v2 v2.2.0 // indirect
|
2024-01-15 03:14:26 +00:00
|
|
|
github.com/cloudflare/circl v1.3.7 // indirect
|
2023-07-14 03:00:31 +00:00
|
|
|
github.com/couchbase/go-couchbase v0.1.1 // indirect
|
2023-12-19 01:18:42 +00:00
|
|
|
github.com/couchbase/gomemcached v0.3.0 // indirect
|
2023-07-14 03:00:31 +00:00
|
|
|
github.com/couchbase/goutils v0.1.2 // indirect
|
2023-10-13 16:11:15 +00:00
|
|
|
github.com/cpuguy83/go-md2man/v2 v2.0.3 // indirect
|
2023-10-07 05:55:08 +00:00
|
|
|
github.com/cyphar/filepath-securejoin v0.2.4 // indirect
|
2023-10-13 16:11:15 +00:00
|
|
|
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
|
|
|
|
github.com/davidmz/go-pageant v1.0.2 // indirect
|
2022-03-16 04:08:31 +00:00
|
|
|
github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f // indirect
|
2023-07-14 03:00:31 +00:00
|
|
|
github.com/dlclark/regexp2 v1.10.0 // indirect
|
2023-12-19 01:18:42 +00:00
|
|
|
github.com/emersion/go-sasl v0.0.0-20231106173351-e73c9f7bad43 // indirect
|
|
|
|
github.com/fatih/color v1.16.0 // indirect
|
|
|
|
github.com/felixge/httpsnoop v1.0.4 // indirect
|
2023-08-16 12:02:40 +00:00
|
|
|
github.com/fxamacker/cbor/v2 v2.5.0 // indirect
|
2023-10-07 05:55:08 +00:00
|
|
|
github.com/go-ap/errors v0.0.0-20231003111023-183eef4b31b7 // indirect
|
|
|
|
github.com/go-asn1-ber/asn1-ber v1.5.5 // indirect
|
2022-03-16 04:08:31 +00:00
|
|
|
github.com/go-enry/go-oniguruma v1.2.1 // indirect
|
2023-05-05 09:17:19 +00:00
|
|
|
github.com/go-faster/city v1.0.1 // indirect
|
2023-12-19 01:18:42 +00:00
|
|
|
github.com/go-faster/errors v0.7.1 // indirect
|
2023-07-14 03:00:31 +00:00
|
|
|
github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect
|
2023-12-19 01:18:42 +00:00
|
|
|
github.com/go-openapi/analysis v0.21.5 // indirect
|
|
|
|
github.com/go-openapi/errors v0.21.0 // indirect
|
2022-03-16 04:08:31 +00:00
|
|
|
github.com/go-openapi/inflect v0.19.0 // indirect
|
2023-12-19 01:18:42 +00:00
|
|
|
github.com/go-openapi/jsonpointer v0.20.1 // indirect
|
|
|
|
github.com/go-openapi/jsonreference v0.20.3 // indirect
|
|
|
|
github.com/go-openapi/loads v0.21.3 // indirect
|
|
|
|
github.com/go-openapi/runtime v0.26.2 // indirect
|
|
|
|
github.com/go-openapi/spec v0.20.12 // indirect
|
|
|
|
github.com/go-openapi/strfmt v0.21.10 // indirect
|
|
|
|
github.com/go-openapi/swag v0.22.5 // indirect
|
|
|
|
github.com/go-openapi/validate v0.22.4 // indirect
|
|
|
|
github.com/go-webauthn/x v0.1.5 // indirect
|
2023-05-05 09:17:19 +00:00
|
|
|
github.com/goccy/go-json v0.10.2 // indirect
|
2023-07-19 09:57:10 +00:00
|
|
|
github.com/golang-jwt/jwt/v4 v4.5.0 // indirect
|
2022-03-16 04:08:31 +00:00
|
|
|
github.com/golang-sql/civil v0.0.0-20220223132316-b832511892a9 // indirect
|
2022-09-01 21:13:17 +00:00
|
|
|
github.com/golang-sql/sqlexp v0.1.0 // indirect
|
2023-05-05 09:17:19 +00:00
|
|
|
github.com/golang/geo v0.0.0-20230421003525-6adc56603217 // indirect
|
2023-07-14 03:00:31 +00:00
|
|
|
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
|
2023-05-05 09:17:19 +00:00
|
|
|
github.com/golang/protobuf v1.5.3 // indirect
|
2022-03-16 04:08:31 +00:00
|
|
|
github.com/golang/snappy v0.0.4 // indirect
|
[F3] Forgejo driver and CLI
user, topic, project, label, milestone, repository, pull_request,
release, asset, comment, reaction, review providers
Signed-off-by: Earl Warren <contact@earl-warren.org>
Preserve file size when creating attachments
Introduced in c6f50297084ebd9ec8b8c25370b9b963167274eb
repoList.LoadAttributes has a ctx argument now
Rename `repo.GetOwner` to `repo.LoadOwner`
bd66fa586a0da58c4cf2f5f8390aef4bac9d0527
upgrade to the latest gof3
(cherry picked from commit c77071365629984c1dc39a7a83e7252fd5b298e2)
[F3] ID remapping logic is in place, remove workaround
(cherry picked from commit d0fee301670c37c0e73afb271e0a8dd6b622f6f6)
[F3] it is experimental, do not enable by default
(cherry picked from commit de325b21d0adad199ec05652cb8d9fff19248ddb)
(cherry picked from commit 547e7b3c40f15766deb569cf2acface3290cf092)
(cherry picked from commit 820df3a56bc194645b482ef77a8845255d1185fe)
(cherry picked from commit eaba87689bbea84a215558033fc7d514b1b44f3e)
(cherry picked from commit 1b86896b3b4144254ed27064a167650b4e12c690)
(cherry picked from commit 0046aac1c639e021e719408e374cfc84fcbaa1d8)
(cherry picked from commit f14220df8ff692bdcfdcc94660acf64c77e732f5)
(cherry picked from commit 559b73100149978173b0ca8085280cc7fb79982f)
(cherry picked from commit 801f7d600de923afb9f24b74f2b28cc380f09cd0)
(cherry picked from commit 6aa76e9bcf243500675b5dbd543ee89d301ca44e)
(cherry picked from commit a8757dcb071093faea8a398413ee5681193b0627)
[F3] promote F3 users to matching OAuth2 users on first sign-in
(cherry picked from commit bd7fef7496c6f50e1559eac5922ec3280745864d)
(cherry picked from commit 07412698e8828bff3e1894d57356d92bb0063665)
(cherry picked from commit d143e5b2a3dda118529d29caea5e12423b5f5116)
[F3] upgrade to gof3 50a6e740ac04
Add new methods GetIDString() & SetIDString() & ToFormatInterface()
Change the prototype of the fixture function
(cherry picked from commit d7b263ff8b6fda188fe51b2ce75fa333d4aaa23e)
(cherry picked from commit b3eaf2249d3a8b35a564890674f9f50c4e2fde35)
(cherry picked from commit d492ddd9bba3df102e513e748fcafe7808206cb2)
[F3] add GetLocalMatchingRemote with a default implementation
(cherry picked from commit 0a2201503960a18a4308fcf9c13843c6b48569b0)
(cherry picked from commit f1310c38fbc4b2b941af323be215a6313de08232)
(cherry picked from commit deb68552f24ce22e35b5c7a88ceb45190b9df0a2)
[F3] GetLocalMatchingRemote for user
(cherry picked from commit e73cb837f57be0d6c65d6ecb13da621a362351da)
(cherry picked from commit a24bc0b85e1702917a6b39282a869b26654b1aa0)
(cherry picked from commit 846a522ecc5fcdfff1e875e3d006ea68f26137dd)
[F3] GetAdminUser now has a ctx argument
(cherry picked from commit 37357a92afe74405909721a0e0062c3eebcb3454)
(cherry picked from commit 660bc1673c189a16e88bd492947280a6e25fc7dd)
(cherry picked from commit 72d692a76743279b5dd74ff69ecf85d0994be265)
[F3] introduce UserTypeF3
To avoid conflicts should UserTypeRemoteUser be used differently by Gitea
(cherry picked from commit 6de2701bb34da3ab0e9f9e6038541eecbec1d7e4)
[F3] user.Put: idempotency
(cherry picked from commit 821e38573ceaa62ffa067b4e173fad50f0f20f05)
(cherry picked from commit f7638f5414e8dadbb3d982827d52c9529a4e9298)
[F3] upgrade to urfave v2
(cherry picked from commit cc3dbdfd1d1f6814cf8f047805dccf80efd8554c)
[F3] update gof3
(cherry picked from commit 2eee960751e1481f007c00e50406104a614e1255)
[F3] move f3 under forgejo-cli
* simplify the tests by re-using the forgejo-cli helpers to capture
the output
* unify CmdF3 to be structured in the same way CmdActions is
(cherry picked from commit 4c9fe58b7475529aecae2c85a4a51f7dcee86df8)
[F3] replace f3 with forgejo-cli f3
(cherry picked from commit 7ba7ceef1b22ed43d5e89f7c4a48d883332ac512)
[F3] s/ListOptions/Paginator/
[F3] user: add unit tests
[F3] user comparison of F3 managed users is on content
[F3] issue: add unit tests
[F3] gof3 now has one more argument to Put()
[F3] re-use gof3 unit tests for the driver
(cherry picked from commit af7ee6200cba7fcc2fa8bb7ca1e0aa0a5942a7df)
Conflicts:
tests/integration/integration_test.go
because of some code removed in forgejo-development, trivial
context conflict resolution
[F3] more idempotent tests (#1275)
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/1275
Co-authored-by: Loïc Dachary <loic@dachary.org>
Co-committed-by: Loïc Dachary <loic@dachary.org>
[F3] tests: do SQL update if nothing changes
[F3] tests comment idempotence
[F3] tests milestone idempotence
[F3] tests pull_request idempotence
[F3] tests release idempotence
[F3] tests asset idempotence
[F3] tests project idempotence
[F3] tests review idempotence
(cherry picked from commit 91038bb4e8d1f45d496ccf05d4fc8be88ded8093)
(cherry picked from commit a7d2a65214d30d2b75961da8eed16378eb445766)
(cherry picked from commit 59a17e5a3404a320b85a2b2ee5838e704f558cea)
[F3] sub command of forgejo-cli
(cherry picked from commit 4d098e9b83a7d43e46086a84606ab627d6ae3138)
[F3] implement --quiet, --debug, --verbose
(cherry picked from commit 82e2e17b4524900ae5afd68ec3ea23d58cabba54)
[F3] fix off by one error when importing repositories
(cherry picked from commit 31689b13979cb54521a09cf95be9c77f4b718fe3)
[F3] upgrade gof3
(cherry picked from commit 87b8cfe5a1e4790848f76ccec1055782cf2e493e)
[F3] set the logger for all drivers
The logger is set for the local Forgejo driver only. Even when --debug
is specified, the other drivers do not display debug
information. Use the gof3 context to set the logger for all of them at
once.
(cherry picked from commit 8aa7de8ba0ddac1c696063aa1c5c9e52ff3e11b4)
[F3] the closed date of an issue may be nil
(cherry picked from commit 93d3eaf0b5026f003fcc071ba9596d9d225e9b17)
[F3] update gof3 to support system users
there now is a workaround to hardcode system users when they are not
supported by the API
(cherry picked from commit 915484daa7365186d77a218af1c11ef9dba53d7c)
(cherry picked from commit b47ac73b8a6452b636bfdb0cca702567c77a581b)
[F3] upgrade gof3 with a version that can deal with system users
When they are missing from what the API returns, it will replace the
missing user with the Ghost user instead of leaving it be a null pointer.
(cherry picked from commit 9eeeab7f8e79bc512a1c2e73945a3b1be418b519)
[F3] tests do not need a running Forgejo server
(cherry picked from commit b2b9749ac9d59d2d460d4b50533dd26a93659b80)
[F3] upgrade gof3 to correctly fetch PRs from forks
(cherry picked from commit d2448de302a4fe3c070f6dd78d350b6e6d2a592d)
[F3] upgrade gof3 to resolve incorrect object ID mappings
(cherry picked from commit af8c9de89ffa3bc6adf659f01850e08959797b15)
[F3] mirroring a repository needs --mirror instead of --bare
(cherry picked from commit 9941131920d0c9122121cd733d11779fa2ec8f00)
[F3] PR create the pull/N/head from the original PR head
It is incorrect to assume they are identical because:
* the IDs of a PR may be remapped and pull/N/head will become
pull/M/head
* the head of a remote fork is a branch named after the fork
(cherry picked from commit 9c220bf23e8a2d1e62862b7f5582b9269ea7e729)
[F3] gof3 upgrade with non overlapping PR references
(cherry picked from commit f1b2f82e7eede4ecb65db6e4ba5f9b59ac3b03fd)
[F3] refactor issue insertion to preserve the creation date
issues_model.NewIssue() is convenient but will override the creation
date. Update the database instead.
(cherry picked from commit 729f4be1e45472d190b6fb842c5ee0e93ddea094)
[F3] gof3 upgrade to get performance improvements
(cherry picked from commit 996ac35d4d859601c203e50ac3b49f8453bd5880)
(cherry picked from commit 906e9eb3f5a6987e7a10b430db807507909d3fbc)
(cherry picked from commit c340e221970f932d3f494918c983fb9b473289c8)
(cherry picked from commit bb0ed72e08396004dd6612d3110418e36ac2602f)
(cherry picked from commit 500e640d6d366437d88f4e3f6a047fdd86f0719e)
[F3] TestForgeMethods needs to populate the database
(cherry picked from commit e6da71229f6f940ec4b14ee5726d940e297e57c8)
(cherry picked from commit e3bd08889584ab9afb9c1fcdfc6d8b5ce34207a5)
(cherry picked from commit 22551361877dbaa3e397e4f75e79f995aae2b665)
(cherry picked from commit 69584b1baf5e5918c644304ba4bc2bf721d5bbfa)
(cherry picked from commit bc37771dc3c0eeeed248e334b4b629a527005d85)
(cherry picked from commit 90592146c613bbb42af45e60de33224cf7fddb61)
(cherry picked from commit 6160eb38d93c11d88893f424a4908b38625114b9)
(cherry picked from commit 4ed79ea8eb4fcd8741d748fcc5eaae5cba749e95)
(cherry picked from commit 8cb9c266ab72bc9063f7c155faa585ef30cc7b10)
(cherry picked from commit 7b346e7bb202d206de8dfbdc5540bd8c807dbd20)
(cherry picked from commit 0345dd562de4266a90e6c7691c3075a1dd9a7691)
(cherry picked from commit 0f8821c1b1bc6e63dc1398936b53cf81b5939e7f)
[F3] resolve
(cherry picked from commit 2acd211536a7b49dc3198d5cf80dcd3c8ff6a837)
(cherry picked from commit 704317c24e3969e1240eaeac7fd02aac0225d769)
(cherry picked from commit b127296da6742cf1b0380f0779f5dd59d5be34fa)
(cherry picked from commit 000b6f823e242f965628f205bcbdeb924b983e56)
(cherry picked from commit 7bd1b351390d14c79e5c39a16e720eebe995d307)
(cherry picked from commit 6ba434bf2fcea63204f6d6cd4db7521e30f2b564)
(cherry picked from commit 5c0826c529d8205f2b303c5a40336de8b905bfa0)
(cherry picked from commit 00f7d12512db003f5e2d9267351e46e6d8e1905c)
(cherry picked from commit 13550cb0b51b12785a26a227af2bd7226aabb445)
(cherry picked from commit 3b16d9e1143a14a5351de51286ac67ec974c47e7)
(cherry picked from commit 1b0db139d68c616270f96382f6f7c8340692f6f7)
[F3] licenses
(cherry picked from commit 2bccd8c1ef47cf169ac705ed6839d857bc1dddc4)
(cherry picked from commit a92c48c8c2387ccdf135e1ef7cad2dd7fdf375b6)
2022-09-06 04:35:43 +00:00
|
|
|
github.com/google/go-cmp v0.6.0 // indirect
|
2022-03-16 04:08:31 +00:00
|
|
|
github.com/google/go-querystring v1.1.0 // indirect
|
2023-07-14 03:00:31 +00:00
|
|
|
github.com/google/go-tpm v0.9.0 // indirect
|
2024-01-08 14:53:32 +00:00
|
|
|
github.com/gopherjs/gopherjs v0.0.0-20190910122728-9d188e94fb99 // indirect
|
2023-12-19 01:18:42 +00:00
|
|
|
github.com/gorilla/css v1.0.1 // indirect
|
|
|
|
github.com/gorilla/handlers v1.5.2 // indirect
|
|
|
|
github.com/gorilla/mux v1.8.1 // indirect
|
|
|
|
github.com/gorilla/securecookie v1.1.2 // indirect
|
2022-03-16 04:08:31 +00:00
|
|
|
github.com/hashicorp/go-cleanhttp v0.5.2 // indirect
|
2023-12-19 01:18:42 +00:00
|
|
|
github.com/hashicorp/go-retryablehttp v0.7.5 // indirect
|
2022-03-16 04:08:31 +00:00
|
|
|
github.com/hashicorp/hcl v1.0.0 // indirect
|
2023-07-14 03:00:31 +00:00
|
|
|
github.com/imdario/mergo v0.3.16 // indirect
|
2022-03-16 04:08:31 +00:00
|
|
|
github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 // indirect
|
|
|
|
github.com/jessevdk/go-flags v1.5.0 // indirect
|
|
|
|
github.com/josharian/intern v1.0.0 // indirect
|
2022-03-31 22:05:57 +00:00
|
|
|
github.com/kevinburke/ssh_config v1.2.0 // indirect
|
2023-05-05 09:17:19 +00:00
|
|
|
github.com/klauspost/pgzip v1.2.6 // indirect
|
2023-02-24 20:18:49 +00:00
|
|
|
github.com/kr/pretty v0.3.1 // indirect
|
2022-03-16 04:08:31 +00:00
|
|
|
github.com/kr/text v0.2.0 // indirect
|
|
|
|
github.com/libdns/libdns v0.2.1 // indirect
|
2023-07-14 03:00:31 +00:00
|
|
|
github.com/magiconair/properties v1.8.7 // indirect
|
2022-03-16 04:08:31 +00:00
|
|
|
github.com/mailru/easyjson v0.7.7 // indirect
|
2023-07-14 03:00:31 +00:00
|
|
|
github.com/markbates/going v1.0.3 // indirect
|
Implement actions (#21937)
Close #13539.
Co-authored by: @lunny @appleboy @fuxiaohei and others.
Related projects:
- https://gitea.com/gitea/actions-proto-def
- https://gitea.com/gitea/actions-proto-go
- https://gitea.com/gitea/act
- https://gitea.com/gitea/act_runner
### Summary
The target of this PR is to bring a basic implementation of "Actions",
an internal CI/CD system of Gitea. That means even though it has been
merged, the state of the feature is **EXPERIMENTAL**, and please note
that:
- It is disabled by default;
- It shouldn't be used in a production environment currently;
- It shouldn't be used in a public Gitea instance currently;
- Breaking changes may be made before it's stable.
**Please comment on #13539 if you have any different product design
ideas**, all decisions reached there will be adopted here. But in this
PR, we don't talk about **naming, feature-creep or alternatives**.
### ⚠️ Breaking
`gitea-actions` will become a reserved user name. If a user with the
name already exists in the database, it is recommended to rename it.
### Some important reviews
- What is `DEFAULT_ACTIONS_URL` in `app.ini` for?
- https://github.com/go-gitea/gitea/pull/21937#discussion_r1055954954
- Why the api for runners is not under the normal `/api/v1` prefix?
- https://github.com/go-gitea/gitea/pull/21937#discussion_r1061173592
- Why DBFS?
- https://github.com/go-gitea/gitea/pull/21937#discussion_r1061301178
- Why ignore events triggered by `gitea-actions` bot?
- https://github.com/go-gitea/gitea/pull/21937#discussion_r1063254103
- Why there's no permission control for actions?
- https://github.com/go-gitea/gitea/pull/21937#discussion_r1090229868
### What it looks like
<details>
#### Manage runners
<img width="1792" alt="image"
src="https://user-images.githubusercontent.com/9418365/205870657-c72f590e-2e08-4cd4-be7f-2e0abb299bbf.png">
#### List runs
<img width="1792" alt="image"
src="https://user-images.githubusercontent.com/9418365/205872794-50fde990-2b45-48c1-a178-908e4ec5b627.png">
#### View logs
<img width="1792" alt="image"
src="https://user-images.githubusercontent.com/9418365/205872501-9b7b9000-9542-4991-8f55-18ccdada77c3.png">
</details>
### How to try it
<details>
#### 1. Start Gitea
Clone this branch and [install from
source](https://docs.gitea.io/en-us/install-from-source).
Add additional configurations in `app.ini` to enable Actions:
```ini
[actions]
ENABLED = true
```
Start it.
If all is well, you'll see the management page of runners:
<img width="1792" alt="image"
src="https://user-images.githubusercontent.com/9418365/205877365-8e30a780-9b10-4154-b3e8-ee6c3cb35a59.png">
#### 2. Start runner
Clone the [act_runner](https://gitea.com/gitea/act_runner), and follow
the
[README](https://gitea.com/gitea/act_runner/src/branch/main/README.md)
to start it.
If all is well, you'll see a new runner has been added:
<img width="1792" alt="image"
src="https://user-images.githubusercontent.com/9418365/205878000-216f5937-e696-470d-b66c-8473987d91c3.png">
#### 3. Enable actions for a repo
Create a new repo or open an existing one, check the `Actions` checkbox
in settings and submit.
<img width="1792" alt="image"
src="https://user-images.githubusercontent.com/9418365/205879705-53e09208-73c0-4b3e-a123-2dcf9aba4b9c.png">
<img width="1792" alt="image"
src="https://user-images.githubusercontent.com/9418365/205879383-23f3d08f-1a85-41dd-a8b3-54e2ee6453e8.png">
If all is well, you'll see a new tab "Actions":
<img width="1792" alt="image"
src="https://user-images.githubusercontent.com/9418365/205881648-a8072d8c-5803-4d76-b8a8-9b2fb49516c1.png">
#### 4. Upload workflow files
Upload some workflow files to `.gitea/workflows/xxx.yaml`, you can
follow the [quickstart](https://docs.github.com/en/actions/quickstart)
of GitHub Actions. Yes, Gitea Actions is compatible with GitHub Actions
in most cases, you can use the same demo:
```yaml
name: GitHub Actions Demo
run-name: ${{ github.actor }} is testing out GitHub Actions 🚀
on: [push]
jobs:
Explore-GitHub-Actions:
runs-on: ubuntu-latest
steps:
- run: echo "🎉 The job was automatically triggered by a ${{ github.event_name }} event."
- run: echo "🐧 This job is now running on a ${{ runner.os }} server hosted by GitHub!"
- run: echo "🔎 The name of your branch is ${{ github.ref }} and your repository is ${{ github.repository }}."
- name: Check out repository code
uses: actions/checkout@v3
- run: echo "💡 The ${{ github.repository }} repository has been cloned to the runner."
- run: echo "🖥️ The workflow is now ready to test your code on the runner."
- name: List files in the repository
run: |
ls ${{ github.workspace }}
- run: echo "🍏 This job's status is ${{ job.status }}."
```
If all is well, you'll see a new run in `Actions` tab:
<img width="1792" alt="image"
src="https://user-images.githubusercontent.com/9418365/205884473-79a874bc-171b-4aaf-acd5-0241a45c3b53.png">
#### 5. Check the logs of jobs
Click a run and you'll see the logs:
<img width="1792" alt="image"
src="https://user-images.githubusercontent.com/9418365/205884800-994b0374-67f7-48ff-be9a-4c53f3141547.png">
#### 6. Go on
You can try more examples in [the
documents](https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions)
of GitHub Actions, then you might find a lot of bugs.
Come on, PRs are welcome.
</details>
See also: [Feature Preview: Gitea
Actions](https://blog.gitea.io/2022/12/feature-preview-gitea-actions/)
---------
Co-authored-by: a1012112796 <1012112796@qq.com>
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
Co-authored-by: delvh <dev.lh@web.de>
Co-authored-by: ChristopherHX <christopher.homberger@web.de>
Co-authored-by: John Olheiser <john.olheiser@gmail.com>
2023-01-31 01:45:19 +00:00
|
|
|
github.com/mattn/go-colorable v0.1.13 // indirect
|
2023-08-16 12:02:40 +00:00
|
|
|
github.com/mattn/go-runewidth v0.0.15 // indirect
|
2023-12-19 01:18:42 +00:00
|
|
|
github.com/matttproud/golang_protobuf_extensions/v2 v2.0.0 // indirect
|
2023-07-14 03:00:31 +00:00
|
|
|
github.com/mholt/acmez v1.2.0 // indirect
|
2023-12-19 01:18:42 +00:00
|
|
|
github.com/miekg/dns v1.1.57 // indirect
|
2022-03-16 04:08:31 +00:00
|
|
|
github.com/minio/md5-simd v1.1.2 // indirect
|
2022-09-01 21:13:17 +00:00
|
|
|
github.com/mitchellh/copystructure v1.2.0 // indirect
|
|
|
|
github.com/mitchellh/mapstructure v1.5.0 // indirect
|
|
|
|
github.com/mitchellh/reflectwalk v1.0.2 // indirect
|
2022-03-16 04:08:31 +00:00
|
|
|
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
|
|
|
|
github.com/modern-go/reflect2 v1.0.2 // indirect
|
|
|
|
github.com/mrjones/oauth v0.0.0-20190623134757-126b35219450 // indirect
|
|
|
|
github.com/mschoch/smat v0.2.0 // indirect
|
|
|
|
github.com/nwaples/rardecode v1.1.3 // indirect
|
|
|
|
github.com/oklog/ulid v1.3.1 // indirect
|
|
|
|
github.com/olekukonko/tablewriter v0.0.5 // indirect
|
2023-04-13 22:41:04 +00:00
|
|
|
github.com/onsi/ginkgo v1.16.5 // indirect
|
2023-08-16 12:02:40 +00:00
|
|
|
github.com/paulmach/orb v0.10.0 // indirect
|
2023-12-19 01:18:42 +00:00
|
|
|
github.com/pelletier/go-toml/v2 v2.1.1 // indirect
|
|
|
|
github.com/pierrec/lz4/v4 v4.1.19 // indirect
|
2023-05-05 09:17:19 +00:00
|
|
|
github.com/pjbgf/sha1cd v0.3.0 // indirect
|
2023-10-13 16:11:15 +00:00
|
|
|
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
|
|
|
|
github.com/prometheus/client_model v0.5.0 // indirect
|
2023-12-19 01:18:42 +00:00
|
|
|
github.com/prometheus/common v0.45.0 // indirect
|
2023-10-13 16:11:15 +00:00
|
|
|
github.com/prometheus/procfs v0.12.0 // indirect
|
2023-10-07 05:55:08 +00:00
|
|
|
github.com/rhysd/actionlint v1.6.26 // indirect
|
2023-02-24 20:18:49 +00:00
|
|
|
github.com/rivo/uniseg v0.4.4 // indirect
|
2023-12-19 01:18:42 +00:00
|
|
|
github.com/rogpeppe/go-internal v1.12.0 // indirect
|
2023-05-05 09:17:19 +00:00
|
|
|
github.com/rs/xid v1.5.0 // indirect
|
2022-03-16 04:08:31 +00:00
|
|
|
github.com/russross/blackfriday/v2 v2.1.0 // indirect
|
2023-12-19 01:18:42 +00:00
|
|
|
github.com/sagikazarmark/locafero v0.4.0 // indirect
|
2023-10-13 16:11:15 +00:00
|
|
|
github.com/sagikazarmark/slog-shim v0.1.0 // indirect
|
2023-05-05 09:17:19 +00:00
|
|
|
github.com/segmentio/asm v1.2.0 // indirect
|
|
|
|
github.com/shopspring/decimal v1.3.1 // indirect
|
2023-07-14 03:00:31 +00:00
|
|
|
github.com/shurcooL/httpfs v0.0.0-20230704072500-f1e31cf0ba5c // indirect
|
|
|
|
github.com/sirupsen/logrus v1.9.3 // indirect
|
2023-10-07 05:55:08 +00:00
|
|
|
github.com/skeema/knownhosts v1.2.1 // indirect
|
2023-10-13 16:11:15 +00:00
|
|
|
github.com/sourcegraph/conc v0.3.0 // indirect
|
2023-12-19 01:18:42 +00:00
|
|
|
github.com/spf13/afero v1.11.0 // indirect
|
|
|
|
github.com/spf13/cast v1.6.0 // indirect
|
2022-03-16 04:08:31 +00:00
|
|
|
github.com/spf13/pflag v1.0.5 // indirect
|
2023-12-19 01:18:42 +00:00
|
|
|
github.com/spf13/viper v1.18.2 // indirect
|
2022-03-16 04:08:31 +00:00
|
|
|
github.com/ssor/bom v0.0.0-20170718123548-6386211fdfcf // indirect
|
2023-08-16 12:02:40 +00:00
|
|
|
github.com/subosito/gotenv v1.6.0 // indirect
|
2022-03-16 04:08:31 +00:00
|
|
|
github.com/toqueteos/webbrowser v1.2.0 // indirect
|
2022-04-01 16:34:57 +00:00
|
|
|
github.com/unknwon/com v1.0.1 // indirect
|
2023-03-29 02:23:23 +00:00
|
|
|
github.com/valyala/bytebufferpool v1.0.0 // indirect
|
2023-12-19 01:18:42 +00:00
|
|
|
github.com/valyala/fasthttp v1.51.0 // indirect
|
2023-01-12 08:21:16 +00:00
|
|
|
github.com/valyala/fastjson v1.6.4 // indirect
|
2022-03-16 04:08:31 +00:00
|
|
|
github.com/x448/float16 v0.8.4 // indirect
|
2023-01-12 08:21:16 +00:00
|
|
|
github.com/xanzy/ssh-agent v0.3.3 // indirect
|
|
|
|
github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb // indirect
|
2022-12-17 06:22:34 +00:00
|
|
|
github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 // indirect
|
2022-03-16 04:08:31 +00:00
|
|
|
github.com/xi2/xz v0.0.0-20171230120015-48954b6210f8 // indirect
|
2023-12-19 01:18:42 +00:00
|
|
|
github.com/xrash/smetrics v0.0.0-20231213231151-1d8dd44e695e // indirect
|
2023-07-14 03:00:31 +00:00
|
|
|
github.com/zeebo/blake3 v0.2.3 // indirect
|
2023-12-19 01:18:42 +00:00
|
|
|
go.etcd.io/bbolt v1.3.8 // indirect
|
|
|
|
go.mongodb.org/mongo-driver v1.13.1 // indirect
|
|
|
|
go.opentelemetry.io/otel v1.21.0 // indirect
|
|
|
|
go.opentelemetry.io/otel/trace v1.21.0 // indirect
|
2023-05-05 09:17:19 +00:00
|
|
|
go.uber.org/atomic v1.11.0 // indirect
|
|
|
|
go.uber.org/multierr v1.11.0 // indirect
|
2023-10-07 05:55:08 +00:00
|
|
|
go.uber.org/zap v1.26.0 // indirect
|
2023-12-19 01:18:42 +00:00
|
|
|
golang.org/x/exp v0.0.0-20231214170342-aacd6d4b4611 // indirect
|
|
|
|
golang.org/x/mod v0.14.0 // indirect
|
|
|
|
golang.org/x/sync v0.5.0 // indirect
|
|
|
|
golang.org/x/time v0.5.0 // indirect
|
2023-10-07 05:55:08 +00:00
|
|
|
google.golang.org/appengine v1.6.8 // indirect
|
2023-12-19 01:18:42 +00:00
|
|
|
google.golang.org/genproto/googleapis/rpc v0.0.0-20231212172506-995d672761c0 // indirect
|
2022-03-16 04:08:31 +00:00
|
|
|
gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc // indirect
|
|
|
|
gopkg.in/warnings.v0 v0.1.2 // indirect
|
2022-11-21 08:36:59 +00:00
|
|
|
gopkg.in/yaml.v2 v2.4.0 // indirect
|
2022-03-16 04:08:31 +00:00
|
|
|
)
|
|
|
|
|
2021-04-23 00:08:53 +00:00
|
|
|
replace github.com/hashicorp/go-version => github.com/6543/go-version v1.3.1
|
2021-08-03 18:32:01 +00:00
|
|
|
|
2022-01-07 02:33:17 +00:00
|
|
|
replace github.com/shurcooL/vfsgen => github.com/lunny/vfsgen v0.0.0-20220105142115-2c99e1ffdfa0
|
2022-01-14 15:03:31 +00:00
|
|
|
|
2023-10-07 05:55:08 +00:00
|
|
|
replace github.com/nektos/act => gitea.com/gitea/act v0.2.51
|
Implement actions (#21937)
Close #13539.
Co-authored by: @lunny @appleboy @fuxiaohei and others.
Related projects:
- https://gitea.com/gitea/actions-proto-def
- https://gitea.com/gitea/actions-proto-go
- https://gitea.com/gitea/act
- https://gitea.com/gitea/act_runner
### Summary
The target of this PR is to bring a basic implementation of "Actions",
an internal CI/CD system of Gitea. That means even though it has been
merged, the state of the feature is **EXPERIMENTAL**, and please note
that:
- It is disabled by default;
- It shouldn't be used in a production environment currently;
- It shouldn't be used in a public Gitea instance currently;
- Breaking changes may be made before it's stable.
**Please comment on #13539 if you have any different product design
ideas**, all decisions reached there will be adopted here. But in this
PR, we don't talk about **naming, feature-creep or alternatives**.
### ⚠️ Breaking
`gitea-actions` will become a reserved user name. If a user with the
name already exists in the database, it is recommended to rename it.
### Some important reviews
- What is `DEFAULT_ACTIONS_URL` in `app.ini` for?
- https://github.com/go-gitea/gitea/pull/21937#discussion_r1055954954
- Why the api for runners is not under the normal `/api/v1` prefix?
- https://github.com/go-gitea/gitea/pull/21937#discussion_r1061173592
- Why DBFS?
- https://github.com/go-gitea/gitea/pull/21937#discussion_r1061301178
- Why ignore events triggered by `gitea-actions` bot?
- https://github.com/go-gitea/gitea/pull/21937#discussion_r1063254103
- Why there's no permission control for actions?
- https://github.com/go-gitea/gitea/pull/21937#discussion_r1090229868
### What it looks like
<details>
#### Manage runners
<img width="1792" alt="image"
src="https://user-images.githubusercontent.com/9418365/205870657-c72f590e-2e08-4cd4-be7f-2e0abb299bbf.png">
#### List runs
<img width="1792" alt="image"
src="https://user-images.githubusercontent.com/9418365/205872794-50fde990-2b45-48c1-a178-908e4ec5b627.png">
#### View logs
<img width="1792" alt="image"
src="https://user-images.githubusercontent.com/9418365/205872501-9b7b9000-9542-4991-8f55-18ccdada77c3.png">
</details>
### How to try it
<details>
#### 1. Start Gitea
Clone this branch and [install from
source](https://docs.gitea.io/en-us/install-from-source).
Add additional configurations in `app.ini` to enable Actions:
```ini
[actions]
ENABLED = true
```
Start it.
If all is well, you'll see the management page of runners:
<img width="1792" alt="image"
src="https://user-images.githubusercontent.com/9418365/205877365-8e30a780-9b10-4154-b3e8-ee6c3cb35a59.png">
#### 2. Start runner
Clone the [act_runner](https://gitea.com/gitea/act_runner), and follow
the
[README](https://gitea.com/gitea/act_runner/src/branch/main/README.md)
to start it.
If all is well, you'll see a new runner has been added:
<img width="1792" alt="image"
src="https://user-images.githubusercontent.com/9418365/205878000-216f5937-e696-470d-b66c-8473987d91c3.png">
#### 3. Enable actions for a repo
Create a new repo or open an existing one, check the `Actions` checkbox
in settings and submit.
<img width="1792" alt="image"
src="https://user-images.githubusercontent.com/9418365/205879705-53e09208-73c0-4b3e-a123-2dcf9aba4b9c.png">
<img width="1792" alt="image"
src="https://user-images.githubusercontent.com/9418365/205879383-23f3d08f-1a85-41dd-a8b3-54e2ee6453e8.png">
If all is well, you'll see a new tab "Actions":
<img width="1792" alt="image"
src="https://user-images.githubusercontent.com/9418365/205881648-a8072d8c-5803-4d76-b8a8-9b2fb49516c1.png">
#### 4. Upload workflow files
Upload some workflow files to `.gitea/workflows/xxx.yaml`, you can
follow the [quickstart](https://docs.github.com/en/actions/quickstart)
of GitHub Actions. Yes, Gitea Actions is compatible with GitHub Actions
in most cases, you can use the same demo:
```yaml
name: GitHub Actions Demo
run-name: ${{ github.actor }} is testing out GitHub Actions 🚀
on: [push]
jobs:
Explore-GitHub-Actions:
runs-on: ubuntu-latest
steps:
- run: echo "🎉 The job was automatically triggered by a ${{ github.event_name }} event."
- run: echo "🐧 This job is now running on a ${{ runner.os }} server hosted by GitHub!"
- run: echo "🔎 The name of your branch is ${{ github.ref }} and your repository is ${{ github.repository }}."
- name: Check out repository code
uses: actions/checkout@v3
- run: echo "💡 The ${{ github.repository }} repository has been cloned to the runner."
- run: echo "🖥️ The workflow is now ready to test your code on the runner."
- name: List files in the repository
run: |
ls ${{ github.workspace }}
- run: echo "🍏 This job's status is ${{ job.status }}."
```
If all is well, you'll see a new run in `Actions` tab:
<img width="1792" alt="image"
src="https://user-images.githubusercontent.com/9418365/205884473-79a874bc-171b-4aaf-acd5-0241a45c3b53.png">
#### 5. Check the logs of jobs
Click a run and you'll see the logs:
<img width="1792" alt="image"
src="https://user-images.githubusercontent.com/9418365/205884800-994b0374-67f7-48ff-be9a-4c53f3141547.png">
#### 6. Go on
You can try more examples in [the
documents](https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions)
of GitHub Actions, then you might find a lot of bugs.
Come on, PRs are welcome.
</details>
See also: [Feature Preview: Gitea
Actions](https://blog.gitea.io/2022/12/feature-preview-gitea-actions/)
---------
Co-authored-by: a1012112796 <1012112796@qq.com>
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
Co-authored-by: delvh <dev.lh@web.de>
Co-authored-by: ChristopherHX <christopher.homberger@web.de>
Co-authored-by: John Olheiser <john.olheiser@gmail.com>
2023-01-31 01:45:19 +00:00
|
|
|
|
2022-01-18 11:04:24 +00:00
|
|
|
exclude github.com/gofrs/uuid v3.2.0+incompatible
|
|
|
|
|
|
|
|
exclude github.com/gofrs/uuid v4.0.0+incompatible
|
|
|
|
|
|
|
|
exclude github.com/goccy/go-json v0.4.11
|
2023-01-09 06:00:10 +00:00
|
|
|
|
|
|
|
exclude github.com/satori/go.uuid v1.2.0
|