Files
ios-gitea-prs/GiteaPR/Models/Actions.swift
T
Hermes 1025634978
Build iOS App / Build .ipa and publish source (push) Failing after 35s
GiteaPR: native iOS app to manage Gitea pull requests
Multi-repo PR inbox, review (approve/request changes/comment), merge with
gating toggle, read-only diff viewer, and Gitea Actions check status with
one-tap re-run. Ships unsigned via the iMac runner to the SideStore source.
2026-08-12 17:07:58 +00:00

47 lines
1.4 KiB
Swift

import Foundation
/// A Gitea Actions workflow run, from
/// `/repos/{owner}/{repo}/actions/runs?head_sha=...`.
struct ActionRun: Codable, Identifiable {
struct Workflow: Codable {
let id: Int64?
let name: String?
let headBranch: String?
}
let id: Int64
let name: String? // workflow file name (e.g. "Build iOS App")
let workflowId: Int64?
let headBranch: String?
let headSha: String?
let status: String? // waiting | running | success | failure | cancelled
let conclusion: String? // null while running, else success/failure/etc.
let createdAt: Date?
let updatedAt: Date?
enum CodingKeys: String, CodingKey {
case id, name
case workflowId = "workflow_id"
case headBranch = "head_branch"
case headSha = "head_sha"
case status, conclusion
case createdAt = "created_at"
case updatedAt = "updated_at"
}
}
/// A job within a run, from `/repos/{owner}/{repo}/actions/runs/{id}/jobs`.
struct ActionJob: Codable, Identifiable {
let id: Int64
let name: String
let status: String // queued | running | success | failure | cancelled
let conclusion: String?
let startedAt: Date?
let completedAt: Date?
enum CodingKeys: String, CodingKey {
case id, name, status, conclusion
case startedAt = "started_at"
case completedAt = "completed_at"
}
}