Skip to content

Commit

Permalink
Fix publish testflight
Browse files Browse the repository at this point in the history
  • Loading branch information
nekohasekai committed Dec 13, 2024
1 parent 4d9f2a4 commit d2f5109
Showing 1 changed file with 47 additions and 13 deletions.
60 changes: 47 additions & 13 deletions cmd/internal/app_store_connect/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -100,27 +100,61 @@ findVersion:
}

func publishTestflight(ctx context.Context) error {
tag, err := build_shared.ReadTag()
if err != nil {
return err
}
client := createClient()
var buildsToPublish []asc.Build
for _, platform := range []string{
"IOS",
"MAC_OS",
"TV_OS",

buildIDsResponse, _, err := client.TestFlight.ListBuildIDsForBetaGroup(ctx, groupID, nil)
if err != nil {
return err
}
buildIDS := common.Map(buildIDsResponse.Data, func(it asc.RelationshipData) string {
return it.ID
})
for _, platform := range []asc.Platform{
asc.PlatformIOS,
asc.PlatformMACOS,
asc.PlatformTVOS,
} {
log.Info(string(platform), " list builds")
builds, _, err := client.Builds.ListBuilds(ctx, &asc.ListBuildsQuery{
FilterApp: []string{appID},
FilterPreReleaseVersionPlatform: []string{platform},
FilterPreReleaseVersionPlatform: []string{string(platform)},
})
if err != nil {
return err
}
buildsToPublish = append(buildsToPublish, builds.Data[0])
}
_, err := client.TestFlight.AddBuildsToBetaGroup(ctx, groupID, common.Map(buildsToPublish, func(it asc.Build) string {
return it.ID
}))
if err != nil {
return err
log.Info(string(platform), " ", tag, " list localizations")
localizations, _, err := client.TestFlight.ListBetaBuildLocalizationsForBuild(ctx, builds.Data[0].ID, nil)
if err != nil {
return err
}
localization := common.Find(localizations.Data, func(it asc.BetaBuildLocalization) bool {
return *it.Attributes.Locale == "en-US"
})
if localization.ID == "" {
log.Fatal(string(platform), " ", tag, " no en-US localization found")
}
if localization.Attributes == nil || localization.Attributes.WhatsNew == nil || *localization.Attributes.WhatsNew == "" {
log.Info(string(platform), " ", tag, " update localization")
_, _, err = client.TestFlight.UpdateBetaBuildLocalization(ctx, localization.ID, common.Ptr(
F.ToString("sing-box ", tag),
))
if err != nil {
return err
}
}
if common.Contains(buildIDS, builds.Data[0].ID) {
log.Info(string(platform), " ", tag, " already published")
continue
}
log.Info(string(platform), " ", tag, " publish")
_, err = client.TestFlight.AddBuildsToBetaGroup(ctx, groupID, []string{builds.Data[0].ID})
if err != nil {
return err
}
}
return nil
}
Expand Down

0 comments on commit d2f5109

Please sign in to comment.