Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 20 additions & 5 deletions .github/workflows/testflight.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,16 @@
name: iOS TestFlight

on:
workflow_dispatch:
inputs:
upload_to_app_store_connect:
description: Upload to App Store Connect
required: true
default: "false"
type: choice
options:
- "false"
- "true"
pull_request:
types:
- closed
Expand All @@ -25,16 +35,21 @@ permissions:

jobs:
testflight:
if: github.event.pull_request.merged == true && github.event.pull_request.base.ref == 'develop' && (contains(github.event.pull_request.labels.*.name, 'qa') || contains(github.event.pull_request.labels.*.name, 'qa-local'))
if: github.event_name == 'workflow_dispatch' || (github.event.pull_request.merged == true && github.event.pull_request.base.ref == 'develop' && (contains(github.event.pull_request.labels.*.name, 'qa') || contains(github.event.pull_request.labels.*.name, 'qa-local')))
runs-on: macos-latest
timeout-minutes: 45

steps:
- name: Checkout merge commit
if: github.event_name == 'pull_request'
uses: actions/checkout@v5
with:
ref: ${{ github.event.pull_request.merge_commit_sha }}

- name: Checkout current ref
if: github.event_name == 'workflow_dispatch'
uses: actions/checkout@v5

- name: Install private config files
uses: ./.github/actions/install-private-config
with:
Expand Down Expand Up @@ -78,10 +93,10 @@ jobs:
- name: Build for TestFlight
run: bundle exec fastlane testflight_build_only

- name: Skip TestFlight Upload for Local QA Label
if: contains(github.event.pull_request.labels.*.name, 'qa-local')
run: echo "Skipping TestFlight upload for PR labeled qa-local"
- name: Skip TestFlight Upload
if: (github.event_name == 'pull_request' && contains(github.event.pull_request.labels.*.name, 'qa-local')) || (github.event_name == 'workflow_dispatch' && inputs.upload_to_app_store_connect != 'true')
run: echo "Skipping TestFlight upload"

- name: Upload to TestFlight
if: contains(github.event.pull_request.labels.*.name, 'qa') && !contains(github.event.pull_request.labels.*.name, 'qa-local')
if: (github.event_name == 'pull_request' && contains(github.event.pull_request.labels.*.name, 'qa') && !contains(github.event.pull_request.labels.*.name, 'qa-local')) || (github.event_name == 'workflow_dispatch' && inputs.upload_to_app_store_connect == 'true')
run: bundle exec fastlane upload_testflight_build
12 changes: 6 additions & 6 deletions DevLog/Presentation/ViewModel/HomeViewModel.swift
Original file line number Diff line number Diff line change
Expand Up @@ -160,10 +160,10 @@ final class HomeViewModel: Store {
func run(_ effect: SideEffect) {
switch effect {
case .fetchTodoCategoryPreferences:
beginLoading(for: .preferences, mode: .delayed)
beginLoading(for: .preferences, mode: .immediate)
Task {
do {
defer { endLoading(for: .preferences, mode: .delayed) }
defer { endLoading(for: .preferences, mode: .immediate) }
let preferences = try await fetchPreferencesUseCase.execute()
send(.setTodoCategory(preferences.map(TodoCategoryItem.init(from:))))
} catch {
Expand Down Expand Up @@ -195,10 +195,10 @@ final class HomeViewModel: Store {
}
}
case .fetchRecentTodos:
beginLoading(for: .recentTodos, mode: .delayed)
beginLoading(for: .recentTodos, mode: .immediate)
Task {
do {
defer { endLoading(for: .recentTodos, mode: .delayed) }
defer { endLoading(for: .recentTodos, mode: .immediate) }
let page = try await fetchRecentTodos()
let items = page.items
.filter { $0.createdAt != $0.updatedAt }
Expand Down Expand Up @@ -243,10 +243,10 @@ final class HomeViewModel: Store {
}
}
case .fetchWebPages:
beginLoading(for: .webPage, mode: .delayed)
beginLoading(for: .webPage, mode: .immediate)
Task {
do {
defer { endLoading(for: .webPage, mode: .delayed) }
defer { endLoading(for: .webPage, mode: .immediate) }
let pages = try await fetchWebPagesUseCase.execute("")
send(.updateWebPages(pages.map { WebPageItem(from: $0) }))
} catch {
Expand Down