Skip to content

Commit 38de8aa

Browse files
committed
Merge branch 'add-file-tree-to-file-view-page' of github.com:kerwin612/gitea into add-file-tree-to-file-view-page
2 parents a28b65d + 07fb84f commit 38de8aa

File tree

325 files changed

+5465
-5482
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

325 files changed

+5465
-5482
lines changed

.eslintrc.cjs

Lines changed: 999 additions & 0 deletions
Large diffs are not rendered by default.

.eslintrc.yaml

Lines changed: 0 additions & 967 deletions
This file was deleted.

Dockerfile

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# Build stage
2-
FROM docker.io/library/golang:1.23-alpine3.20 AS build-env
2+
FROM docker.io/library/golang:1.23-alpine3.21 AS build-env
33

44
ARG GOPROXY
55
ENV GOPROXY=${GOPROXY:-direct}
@@ -41,7 +41,7 @@ RUN chmod 755 /tmp/local/usr/bin/entrypoint \
4141
/go/src/code.gitea.io/gitea/environment-to-ini
4242
RUN chmod 644 /go/src/code.gitea.io/gitea/contrib/autocompletion/bash_autocomplete
4343

44-
FROM docker.io/library/alpine:3.20
44+
FROM docker.io/library/alpine:3.21
4545
LABEL maintainer="[email protected]"
4646

4747
EXPOSE 22 3000
@@ -78,7 +78,7 @@ ENV GITEA_CUSTOM=/data/gitea
7878
VOLUME ["/data"]
7979

8080
ENTRYPOINT ["/usr/bin/entrypoint"]
81-
CMD ["/bin/s6-svscan", "/etc/s6"]
81+
CMD ["/usr/bin/s6-svscan", "/etc/s6"]
8282

8383
COPY --from=build-env /tmp/local /
8484
COPY --from=build-env /go/src/code.gitea.io/gitea/gitea /app/gitea/gitea

Dockerfile.rootless

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# Build stage
2-
FROM docker.io/library/golang:1.23-alpine3.20 AS build-env
2+
FROM docker.io/library/golang:1.23-alpine3.21 AS build-env
33

44
ARG GOPROXY
55
ENV GOPROXY=${GOPROXY:-direct}
@@ -39,7 +39,7 @@ RUN chmod 755 /tmp/local/usr/local/bin/docker-entrypoint.sh \
3939
/go/src/code.gitea.io/gitea/environment-to-ini
4040
RUN chmod 644 /go/src/code.gitea.io/gitea/contrib/autocompletion/bash_autocomplete
4141

42-
FROM docker.io/library/alpine:3.20
42+
FROM docker.io/library/alpine:3.21
4343
LABEL maintainer="[email protected]"
4444

4545
EXPOSE 2222 3000

Makefile

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,17 +26,17 @@ COMMA := ,
2626
XGO_VERSION := go-1.23.x
2727

2828
AIR_PACKAGE ?= github.com/air-verse/air@v1
29-
EDITORCONFIG_CHECKER_PACKAGE ?= github.com/editorconfig-checker/editorconfig-checker/cmd/editorconfig-checker@2.7.0
29+
EDITORCONFIG_CHECKER_PACKAGE ?= github.com/editorconfig-checker/editorconfig-checker/v3/cmd/editorconfig-checker@v3.0.3
3030
GOFUMPT_PACKAGE ?= mvdan.cc/[email protected]
3131
GOLANGCI_LINT_PACKAGE ?= github.com/golangci/golangci-lint/cmd/[email protected]
32-
GXZ_PACKAGE ?= github.com/ulikunitz/xz/cmd/[email protected].11
33-
MISSPELL_PACKAGE ?= github.com/golangci/misspell/cmd/misspell@v0.5.1
32+
GXZ_PACKAGE ?= github.com/ulikunitz/xz/cmd/[email protected].12
33+
MISSPELL_PACKAGE ?= github.com/golangci/misspell/cmd/misspell@v0.6.0
3434
SWAGGER_PACKAGE ?= github.com/go-swagger/go-swagger/cmd/[email protected]
3535
XGO_PACKAGE ?= src.techknowlogick.com/xgo@latest
3636
GO_LICENSES_PACKAGE ?= github.com/google/go-licenses@v1
3737
GOVULNCHECK_PACKAGE ?= golang.org/x/vuln/cmd/govulncheck@v1
3838
ACTIONLINT_PACKAGE ?= github.com/rhysd/actionlint/cmd/actionlint@v1
39-
GOPLS_PACKAGE ?= golang.org/x/tools/gopls@v0.15.3
39+
GOPLS_PACKAGE ?= golang.org/x/tools/gopls@v0.17.0
4040

4141
DOCKER_IMAGE ?= gitea/gitea
4242
DOCKER_TAG ?= latest

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ require (
123123
github.com/yuin/goldmark-meta v1.1.0
124124
golang.org/x/crypto v0.31.0
125125
golang.org/x/image v0.21.0
126-
golang.org/x/net v0.30.0
126+
golang.org/x/net v0.33.0
127127
golang.org/x/oauth2 v0.23.0
128128
golang.org/x/sync v0.10.0
129129
golang.org/x/sys v0.28.0

go.sum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -932,8 +932,8 @@ golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk=
932932
golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44=
933933
golang.org/x/net v0.22.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg=
934934
golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM=
935-
golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4=
936-
golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU=
935+
golang.org/x/net v0.33.0 h1:74SYHlV8BIgHIFC/LrYkOGIwL19eTYXQ5wc6TBuO36I=
936+
golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4=
937937
golang.org/x/oauth2 v0.23.0 h1:PbgcYx2W7i4LvjJWEbf0ngHV6qJYr86PkAV3bXdLEbs=
938938
golang.org/x/oauth2 v0.23.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI=
939939
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=

models/actions/run_job.go

Lines changed: 25 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -153,28 +153,34 @@ func UpdateRunJob(ctx context.Context, job *ActionRunJob, cond builder.Cond, col
153153
}
154154

155155
func AggregateJobStatus(jobs []*ActionRunJob) Status {
156-
allDone := true
157-
allWaiting := true
158-
hasFailure := false
156+
allSuccessOrSkipped := len(jobs) != 0
157+
allSkipped := len(jobs) != 0
158+
var hasFailure, hasCancelled, hasWaiting, hasRunning, hasBlocked bool
159159
for _, job := range jobs {
160-
if !job.Status.IsDone() {
161-
allDone = false
162-
}
163-
if job.Status != StatusWaiting && !job.Status.IsDone() {
164-
allWaiting = false
165-
}
166-
if job.Status == StatusFailure || job.Status == StatusCancelled {
167-
hasFailure = true
168-
}
160+
allSuccessOrSkipped = allSuccessOrSkipped && (job.Status == StatusSuccess || job.Status == StatusSkipped)
161+
allSkipped = allSkipped && job.Status == StatusSkipped
162+
hasFailure = hasFailure || job.Status == StatusFailure
163+
hasCancelled = hasCancelled || job.Status == StatusCancelled
164+
hasWaiting = hasWaiting || job.Status == StatusWaiting
165+
hasRunning = hasRunning || job.Status == StatusRunning
166+
hasBlocked = hasBlocked || job.Status == StatusBlocked
169167
}
170-
if allDone {
171-
if hasFailure {
172-
return StatusFailure
173-
}
168+
switch {
169+
case allSkipped:
170+
return StatusSkipped
171+
case allSuccessOrSkipped:
174172
return StatusSuccess
175-
}
176-
if allWaiting {
173+
case hasCancelled:
174+
return StatusCancelled
175+
case hasFailure:
176+
return StatusFailure
177+
case hasRunning:
178+
return StatusRunning
179+
case hasWaiting:
177180
return StatusWaiting
181+
case hasBlocked:
182+
return StatusBlocked
183+
default:
184+
return StatusUnknown // it shouldn't happen
178185
}
179-
return StatusRunning
180186
}
Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
// Copyright 2024 The Gitea Authors. All rights reserved.
2+
// SPDX-License-Identifier: MIT
3+
4+
package actions
5+
6+
import (
7+
"testing"
8+
9+
"github.com/stretchr/testify/assert"
10+
)
11+
12+
func TestAggregateJobStatus(t *testing.T) {
13+
testStatuses := func(expected Status, statuses []Status) {
14+
t.Helper()
15+
var jobs []*ActionRunJob
16+
for _, v := range statuses {
17+
jobs = append(jobs, &ActionRunJob{Status: v})
18+
}
19+
actual := AggregateJobStatus(jobs)
20+
if !assert.Equal(t, expected, actual) {
21+
var statusStrings []string
22+
for _, s := range statuses {
23+
statusStrings = append(statusStrings, s.String())
24+
}
25+
t.Errorf("AggregateJobStatus(%v) = %v, want %v", statusStrings, statusNames[actual], statusNames[expected])
26+
}
27+
}
28+
29+
cases := []struct {
30+
statuses []Status
31+
expected Status
32+
}{
33+
// unknown cases, maybe it shouldn't happen in real world
34+
{[]Status{}, StatusUnknown},
35+
{[]Status{StatusUnknown, StatusSuccess}, StatusUnknown},
36+
{[]Status{StatusUnknown, StatusSkipped}, StatusUnknown},
37+
{[]Status{StatusUnknown, StatusFailure}, StatusFailure},
38+
{[]Status{StatusUnknown, StatusCancelled}, StatusCancelled},
39+
{[]Status{StatusUnknown, StatusWaiting}, StatusWaiting},
40+
{[]Status{StatusUnknown, StatusRunning}, StatusRunning},
41+
{[]Status{StatusUnknown, StatusBlocked}, StatusBlocked},
42+
43+
// success with other status
44+
{[]Status{StatusSuccess}, StatusSuccess},
45+
{[]Status{StatusSuccess, StatusSkipped}, StatusSuccess}, // skipped doesn't affect success
46+
{[]Status{StatusSuccess, StatusFailure}, StatusFailure},
47+
{[]Status{StatusSuccess, StatusCancelled}, StatusCancelled},
48+
{[]Status{StatusSuccess, StatusWaiting}, StatusWaiting},
49+
{[]Status{StatusSuccess, StatusRunning}, StatusRunning},
50+
{[]Status{StatusSuccess, StatusBlocked}, StatusBlocked},
51+
52+
// any cancelled, then cancelled
53+
{[]Status{StatusCancelled}, StatusCancelled},
54+
{[]Status{StatusCancelled, StatusSuccess}, StatusCancelled},
55+
{[]Status{StatusCancelled, StatusSkipped}, StatusCancelled},
56+
{[]Status{StatusCancelled, StatusFailure}, StatusCancelled},
57+
{[]Status{StatusCancelled, StatusWaiting}, StatusCancelled},
58+
{[]Status{StatusCancelled, StatusRunning}, StatusCancelled},
59+
{[]Status{StatusCancelled, StatusBlocked}, StatusCancelled},
60+
61+
// failure with other status, fail fast
62+
// Should "running" win? Maybe no: old code does make "running" win, but GitHub does fail fast.
63+
{[]Status{StatusFailure}, StatusFailure},
64+
{[]Status{StatusFailure, StatusSuccess}, StatusFailure},
65+
{[]Status{StatusFailure, StatusSkipped}, StatusFailure},
66+
{[]Status{StatusFailure, StatusCancelled}, StatusCancelled},
67+
{[]Status{StatusFailure, StatusWaiting}, StatusFailure},
68+
{[]Status{StatusFailure, StatusRunning}, StatusFailure},
69+
{[]Status{StatusFailure, StatusBlocked}, StatusFailure},
70+
71+
// skipped with other status
72+
// "all skipped" is also considered as "mergeable" by "services/actions.toCommitStatus", the same as GitHub
73+
{[]Status{StatusSkipped}, StatusSkipped},
74+
{[]Status{StatusSkipped, StatusSuccess}, StatusSuccess},
75+
{[]Status{StatusSkipped, StatusFailure}, StatusFailure},
76+
{[]Status{StatusSkipped, StatusCancelled}, StatusCancelled},
77+
{[]Status{StatusSkipped, StatusWaiting}, StatusWaiting},
78+
{[]Status{StatusSkipped, StatusRunning}, StatusRunning},
79+
{[]Status{StatusSkipped, StatusBlocked}, StatusBlocked},
80+
}
81+
82+
for _, c := range cases {
83+
testStatuses(c.expected, c.statuses)
84+
}
85+
}

models/activities/action.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -511,7 +511,7 @@ func ActivityQueryCondition(ctx context.Context, opts GetFeedsOptions) (builder.
511511
}
512512

513513
if opts.RequestedTeam != nil {
514-
env := organization.OrgFromUser(opts.RequestedUser).AccessibleTeamReposEnv(ctx, opts.RequestedTeam)
514+
env := repo_model.AccessibleTeamReposEnv(ctx, organization.OrgFromUser(opts.RequestedUser), opts.RequestedTeam)
515515
teamRepoIDs, err := env.RepoIDs(1, opts.RequestedUser.NumRepos)
516516
if err != nil {
517517
return nil, fmt.Errorf("GetTeamRepositories: %w", err)

0 commit comments

Comments
 (0)