release: Log build ID during TestFlight publishing

This commit is contained in:
世界
2026-01-17 19:00:10 +08:00
parent 8ec58c96f5
commit 4a14d39cad
4 changed files with 35 additions and 27 deletions

View File

@@ -148,6 +148,7 @@ func publishTestflight(ctx context.Context) error {
return err return err
} }
build := builds.Data[0] build := builds.Data[0]
log.Info(string(platform), " ", tag, " found build: ", build.ID, " (", *build.Attributes.Version, ")")
if !waitingForProcess && (common.Contains(buildIDs, build.ID) || time.Since(build.Attributes.UploadedDate.Time) > 30*time.Minute) { if !waitingForProcess && (common.Contains(buildIDs, build.ID) || time.Since(build.Attributes.UploadedDate.Time) > 30*time.Minute) {
log.Info(string(platform), " ", tag, " waiting for process") log.Info(string(platform), " ", tag, " waiting for process")
time.Sleep(15 * time.Second) time.Sleep(15 * time.Second)

View File

@@ -831,7 +831,7 @@ func (s *StartedService) applyConnectionEvent(event trafficontrol.ConnectionEven
func (s *StartedService) buildTrafficUpdates(manager *trafficontrol.Manager, snapshots map[uuid.UUID]connectionSnapshot) []*ConnectionEvent { func (s *StartedService) buildTrafficUpdates(manager *trafficontrol.Manager, snapshots map[uuid.UUID]connectionSnapshot) []*ConnectionEvent {
activeConnections := manager.Connections() activeConnections := manager.Connections()
activeIndex := make(map[uuid.UUID]trafficontrol.TrackerMetadata, len(activeConnections)) activeIndex := make(map[uuid.UUID]*trafficontrol.TrackerMetadata, len(activeConnections))
var events []*ConnectionEvent var events []*ConnectionEvent
for _, metadata := range activeConnections { for _, metadata := range activeConnections {
@@ -854,18 +854,25 @@ func (s *StartedService) buildTrafficUpdates(manager *trafficontrol.Manager, sna
uplinkDelta := currentUpload - snapshot.uplink uplinkDelta := currentUpload - snapshot.uplink
downlinkDelta := currentDownload - snapshot.downlink downlinkDelta := currentDownload - snapshot.downlink
if uplinkDelta < 0 || downlinkDelta < 0 { if uplinkDelta < 0 || downlinkDelta < 0 {
snapshots[metadata.ID] = connectionSnapshot{ if snapshot.hadTraffic {
uplink: currentUpload, events = append(events, &ConnectionEvent{
downlink: currentDownload, Type: ConnectionEventType_CONNECTION_EVENT_UPDATE,
Id: metadata.ID.String(),
UplinkDelta: 0,
DownlinkDelta: 0,
})
} }
snapshot.uplink = currentUpload
snapshot.downlink = currentDownload
snapshot.hadTraffic = false
snapshots[metadata.ID] = snapshot
continue continue
} }
if uplinkDelta > 0 || downlinkDelta > 0 { if uplinkDelta > 0 || downlinkDelta > 0 {
snapshots[metadata.ID] = connectionSnapshot{ snapshot.uplink = currentUpload
uplink: currentUpload, snapshot.downlink = currentDownload
downlink: currentDownload, snapshot.hadTraffic = true
hadTraffic: true, snapshots[metadata.ID] = snapshot
}
events = append(events, &ConnectionEvent{ events = append(events, &ConnectionEvent{
Type: ConnectionEventType_CONNECTION_EVENT_UPDATE, Type: ConnectionEventType_CONNECTION_EVENT_UPDATE,
Id: metadata.ID.String(), Id: metadata.ID.String(),
@@ -875,10 +882,10 @@ func (s *StartedService) buildTrafficUpdates(manager *trafficontrol.Manager, sna
continue continue
} }
if snapshot.hadTraffic { if snapshot.hadTraffic {
snapshots[metadata.ID] = connectionSnapshot{ snapshot.uplink = currentUpload
uplink: currentUpload, snapshot.downlink = currentDownload
downlink: currentDownload, snapshot.hadTraffic = false
} snapshots[metadata.ID] = snapshot
events = append(events, &ConnectionEvent{ events = append(events, &ConnectionEvent{
Type: ConnectionEventType_CONNECTION_EVENT_UPDATE, Type: ConnectionEventType_CONNECTION_EVENT_UPDATE,
Id: metadata.ID.String(), Id: metadata.ID.String(),
@@ -888,13 +895,13 @@ func (s *StartedService) buildTrafficUpdates(manager *trafficontrol.Manager, sna
} }
} }
var closedIndex map[uuid.UUID]trafficontrol.TrackerMetadata var closedIndex map[uuid.UUID]*trafficontrol.TrackerMetadata
for id := range snapshots { for id := range snapshots {
if _, exists := activeIndex[id]; exists { if _, exists := activeIndex[id]; exists {
continue continue
} }
if closedIndex == nil { if closedIndex == nil {
closedIndex = make(map[uuid.UUID]trafficontrol.TrackerMetadata) closedIndex = make(map[uuid.UUID]*trafficontrol.TrackerMetadata)
for _, metadata := range manager.ClosedConnections() { for _, metadata := range manager.ClosedConnections() {
closedIndex[metadata.ID] = metadata closedIndex[metadata.ID] = metadata
} }
@@ -920,7 +927,7 @@ func (s *StartedService) buildTrafficUpdates(manager *trafficontrol.Manager, sna
return events return events
} }
func buildConnectionProto(metadata trafficontrol.TrackerMetadata) *Connection { func buildConnectionProto(metadata *trafficontrol.TrackerMetadata) *Connection {
var rule string var rule string
if metadata.Rule != nil { if metadata.Rule != nil {
rule = metadata.Rule.String() rule = metadata.Rule.String()

View File

@@ -27,7 +27,7 @@ const (
type ConnectionEvent struct { type ConnectionEvent struct {
Type ConnectionEventType Type ConnectionEventType
ID uuid.UUID ID uuid.UUID
Metadata TrackerMetadata Metadata *TrackerMetadata
UplinkDelta int64 UplinkDelta int64
DownlinkDelta int64 DownlinkDelta int64
ClosedAt time.Time ClosedAt time.Time
@@ -39,7 +39,7 @@ type Manager struct {
connections compatible.Map[uuid.UUID, Tracker] connections compatible.Map[uuid.UUID, Tracker]
closedConnectionsAccess sync.Mutex closedConnectionsAccess sync.Mutex
closedConnections list.List[TrackerMetadata] closedConnections list.List[*TrackerMetadata]
memory uint64 memory uint64
eventSubscriber *observable.Subscriber[ConnectionEvent] eventSubscriber *observable.Subscriber[ConnectionEvent]
@@ -103,8 +103,8 @@ func (m *Manager) ConnectionsLen() int {
return m.connections.Len() return m.connections.Len()
} }
func (m *Manager) Connections() []TrackerMetadata { func (m *Manager) Connections() []*TrackerMetadata {
var connections []TrackerMetadata var connections []*TrackerMetadata
m.connections.Range(func(_ uuid.UUID, value Tracker) bool { m.connections.Range(func(_ uuid.UUID, value Tracker) bool {
connections = append(connections, value.Metadata()) connections = append(connections, value.Metadata())
return true return true
@@ -112,7 +112,7 @@ func (m *Manager) Connections() []TrackerMetadata {
return connections return connections
} }
func (m *Manager) ClosedConnections() []TrackerMetadata { func (m *Manager) ClosedConnections() []*TrackerMetadata {
m.closedConnectionsAccess.Lock() m.closedConnectionsAccess.Lock()
defer m.closedConnectionsAccess.Unlock() defer m.closedConnectionsAccess.Unlock()
return m.closedConnections.Array() return m.closedConnections.Array()
@@ -163,7 +163,7 @@ func (s *Snapshot) MarshalJSON() ([]byte, error) {
return json.Marshal(map[string]any{ return json.Marshal(map[string]any{
"downloadTotal": s.Download, "downloadTotal": s.Download,
"uploadTotal": s.Upload, "uploadTotal": s.Upload,
"connections": common.Map(s.Connections, func(t Tracker) TrackerMetadata { return t.Metadata() }), "connections": common.Map(s.Connections, func(t Tracker) *TrackerMetadata { return t.Metadata() }),
"memory": s.Memory, "memory": s.Memory,
}) })
} }

View File

@@ -87,7 +87,7 @@ func (t TrackerMetadata) MarshalJSON() ([]byte, error) {
} }
type Tracker interface { type Tracker interface {
Metadata() TrackerMetadata Metadata() *TrackerMetadata
Close() error Close() error
} }
@@ -97,8 +97,8 @@ type TCPConn struct {
manager *Manager manager *Manager
} }
func (tt *TCPConn) Metadata() TrackerMetadata { func (tt *TCPConn) Metadata() *TrackerMetadata {
return tt.metadata return &tt.metadata
} }
func (tt *TCPConn) Close() error { func (tt *TCPConn) Close() error {
@@ -178,8 +178,8 @@ type UDPConn struct {
manager *Manager manager *Manager
} }
func (ut *UDPConn) Metadata() TrackerMetadata { func (ut *UDPConn) Metadata() *TrackerMetadata {
return ut.metadata return &ut.metadata
} }
func (ut *UDPConn) Close() error { func (ut *UDPConn) Close() error {