diff --git a/.github/workflows/ios_emerge_upload_main.yml b/.github/workflows/ios_emerge_upload_main.yml index 70abb78a..f8712ce5 100644 --- a/.github/workflows/ios_emerge_upload_main.yml +++ b/.github/workflows/ios_emerge_upload_main.yml @@ -6,7 +6,7 @@ on: jobs: build: - runs-on: macos-latest + runs-on: macos-13 defaults: run: @@ -16,10 +16,13 @@ jobs: - name: Checkout uses: actions/checkout@v2 + - name: Select Xcode version + run: sudo xcode-select -s '/Applications/Xcode_15.0.app/Contents/Developer' + - name: Set up Ruby env - uses: ruby/setup-ruby@v1.138.0 + uses: ruby/setup-ruby@v1 with: - ruby-version: 3.2.1 + ruby-version: 3.1.4 bundler-cache: true - name: Setup gems @@ -41,8 +44,5 @@ jobs: SIGNING_KEY_PASSWORD: ${{ secrets.IOS_DIST_SIGNING_KEY_PASSWORD }} SIGNING_KEY_FILE_PATH: signing-cert.p12 EMERGE_API_TOKEN: ${{ secrets.EMERGE_API_KEY }} - BASE_SHA: ${{ github.event.pull_request.base.sha }} - COMMIT_SHA: ${{ github.event.pull_request.head.sha }} - PULL_NUMBER: ${{ github.event.pull_request.number }} SCHEME: Release EMERGE_BUILD_TYPE: release diff --git a/.github/workflows/ios_emerge_upload_pr.yml b/.github/workflows/ios_emerge_upload_pr.yml index 92256d4b..90b24cbd 100644 --- a/.github/workflows/ios_emerge_upload_pr.yml +++ b/.github/workflows/ios_emerge_upload_pr.yml @@ -7,7 +7,7 @@ on: jobs: build: - runs-on: macos-latest + runs-on: macos-13 defaults: run: @@ -17,10 +17,13 @@ jobs: - name: Checkout uses: actions/checkout@v2 + - name: Select Xcode version + run: sudo xcode-select -s '/Applications/Xcode_15.0.app/Contents/Developer' + - name: Set up Ruby env - uses: ruby/setup-ruby@v1.138.0 + uses: ruby/setup-ruby@v1 with: - ruby-version: 3.2.1 + ruby-version: 3.1.4 bundler-cache: true - name: Setup gems @@ -41,8 +44,5 @@ jobs: SIGNING_KEY_PASSWORD: ${{ secrets.IOS_DIST_SIGNING_KEY_PASSWORD }} SIGNING_KEY_FILE_PATH: signing-cert.p12 EMERGE_API_TOKEN: ${{ secrets.EMERGE_API_KEY }} - BASE_SHA: ${{ github.event.pull_request.base.sha }} - COMMIT_SHA: ${{ github.event.pull_request.head.sha }} - PULL_NUMBER: ${{ github.event.pull_request.number }} SCHEME: Release EMERGE_BUILD_TYPE: pull-request diff --git a/.github/workflows/ios_emerge_upload_snapshots.yml b/.github/workflows/ios_emerge_upload_snapshots.yml index f93fae91..93480574 100644 --- a/.github/workflows/ios_emerge_upload_snapshots.yml +++ b/.github/workflows/ios_emerge_upload_snapshots.yml @@ -9,7 +9,7 @@ on: jobs: build: - runs-on: macos-latest + runs-on: macos-13 defaults: run: @@ -19,10 +19,13 @@ jobs: - name: Checkout uses: actions/checkout@v2 + - name: Select Xcode version + run: sudo xcode-select -s '/Applications/Xcode_15.0.app/Contents/Developer' + - name: Set up Ruby env - uses: ruby/setup-ruby@v1.138.0 + uses: ruby/setup-ruby@v1 with: - ruby-version: 3.2.1 + ruby-version: 3.1.4 bundler-cache: true - name: Setup gems @@ -50,9 +53,6 @@ jobs: SIGNING_KEY_PASSWORD: ${{ secrets.IOS_DIST_SIGNING_KEY_PASSWORD }} SIGNING_KEY_FILE_PATH: signing-cert.p12 EMERGE_API_TOKEN: ${{ secrets.EMERGE_API_KEY }} - BASE_SHA: ${{ github.event.pull_request.base.sha }} - COMMIT_SHA: ${{ github.event.pull_request.head.sha }} - PULL_NUMBER: ${{ github.event.pull_request.number }} SCHEME: Debug EMERGE_BUILD_TYPE: snapshot BUNDLE_ID: com.emerge.hn.Hacker-News.snapshots diff --git a/android/app/build.gradle.kts b/android/app/build.gradle.kts index 14617b85..4c46ff5b 100644 --- a/android/app/build.gradle.kts +++ b/android/app/build.gradle.kts @@ -56,7 +56,7 @@ emerge { } snapshots { - buildType.set("snapshot") + tag.set("snapshot") } vcs { diff --git a/android/gradle/libs.versions.toml b/android/gradle/libs.versions.toml index 1574a0a0..7e4b6c81 100644 --- a/android/gradle/libs.versions.toml +++ b/android/gradle/libs.versions.toml @@ -1,18 +1,18 @@ [versions] agp = "8.1.0" -androidx-core = "1.7.0" +androidx-core = "1.12.0" androidx-test = "1.5.0" androidx-test-ext = "1.1.5" accompanist = "0.33.2-alpha" -compose-bom = "2023.10.01" +compose-bom = "2024.02.02" compose-compiler-extension = "1.5.3" -emerge-gradle-plugin = "2.1.5" +emerge-gradle-plugin = "2.2.0" emerge-perf = "2.1.1" emerge-snapshots = "0.8.4" kotlin = "1.9.10" ksp = "1.9.10-1.0.13" -material-compose = "1.1.0" -navigation-compose = "2.4.1" +material-compose = "1.6.3" +navigation-compose = "2.7.7" [plugins] android-application = { id = "com.android.application", version.ref = "agp" } @@ -26,11 +26,11 @@ ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" } accompanist-navigationanim = { module = "com.google.accompanist:accompanist-navigation-animation", version.ref = "accompanist" } accompanist-webview = { module = "com.google.accompanist:accompanist-webview", version.ref = "accompanist" } -androidx-activity-compose = {module = "androidx.activity:activity-compose", version = "1.7.2" } +androidx-activity-compose = {module = "androidx.activity:activity-compose", version = "1.8.2" } androidx-appcompat = { module = "androidx.appcompat:appcompat", version = "1.6.1" } androidx-core = { module = "androidx.core:core-ktx", version.ref = "androidx-core" } androidx-datastore-preferences = "androidx.datastore:datastore-preferences:1.0.0" -androidx-fragment = { module = "androidx.fragment:fragment-ktx", version = "1.5.7" } +androidx-fragment = { module = "androidx.fragment:fragment-ktx", version = "1.6.2" } androidx-test-core = { module = "androidx.test:core-ktx", version.ref = "androidx-test" } androidx-test-ext-junit = { module = "androidx.test.ext:junit-ktx", version.ref = "androidx-test-ext" } androidx-test-rules = { module = "androidx.test:rules", version.ref = "androidx-test" } @@ -49,7 +49,7 @@ junit = "junit:junit:4.13.2" kotlinx-serialization = "org.jetbrains.kotlinx:kotlinx-serialization-json:1.5.1" -material-core = "com.google.android.material:material:1.9.0" +material-core = "com.google.android.material:material:1.11.0" material-compose-core = { module = "androidx.compose.material:material", version.ref = "material-compose" } material-compose-icons = { module = "androidx.compose.material:material-icons-extended", version.ref = "material-compose" } diff --git a/ios/Gemfile.lock b/ios/Gemfile.lock index 38f3230c..40d510fa 100644 --- a/ios/Gemfile.lock +++ b/ios/Gemfile.lock @@ -1,29 +1,32 @@ GEM remote: https://rubygems.org/ specs: - CFPropertyList (3.0.6) + CFPropertyList (3.0.7) + base64 + nkf rexml - addressable (2.8.5) + addressable (2.8.6) public_suffix (>= 2.0.2, < 6.0) - artifactory (3.0.15) + artifactory (3.0.17) atomos (0.1.3) - aws-eventstream (1.2.0) - aws-partitions (1.833.0) - aws-sdk-core (3.185.0) - aws-eventstream (~> 1, >= 1.0.2) + aws-eventstream (1.3.0) + aws-partitions (1.895.0) + aws-sdk-core (3.191.3) + aws-eventstream (~> 1, >= 1.3.0) aws-partitions (~> 1, >= 1.651.0) - aws-sigv4 (~> 1.5) + aws-sigv4 (~> 1.8) jmespath (~> 1, >= 1.6.1) - aws-sdk-kms (1.72.0) - aws-sdk-core (~> 3, >= 3.184.0) + aws-sdk-kms (1.77.0) + aws-sdk-core (~> 3, >= 3.191.0) aws-sigv4 (~> 1.1) - aws-sdk-s3 (1.136.0) - aws-sdk-core (~> 3, >= 3.181.0) + aws-sdk-s3 (1.143.0) + aws-sdk-core (~> 3, >= 3.191.0) aws-sdk-kms (~> 1) - aws-sigv4 (~> 1.6) - aws-sigv4 (1.6.0) + aws-sigv4 (~> 1.8) + aws-sigv4 (1.8.0) aws-eventstream (~> 1, >= 1.0.2) babosa (1.0.4) + base64 (0.2.0) claide (1.1.0) colored (1.2) colored2 (3.1.2) @@ -32,11 +35,10 @@ GEM declarative (0.0.20) digest-crc (0.6.5) rake (>= 12.0.0, < 14.0.0) - domain_name (0.5.20190701) - unf (>= 0.0.5, < 1.0.0) + domain_name (0.6.20240107) dotenv (2.8.1) emoji_regex (3.2.3) - excon (0.104.0) + excon (0.109.0) faraday (1.10.3) faraday-em_http (~> 1.0) faraday-em_synchrony (~> 1.0) @@ -65,8 +67,8 @@ GEM faraday-retry (1.0.3) faraday_middleware (1.2.0) faraday (~> 1.0) - fastimage (2.2.7) - fastlane (2.216.0) + fastimage (2.3.0) + fastlane (2.219.0) CFPropertyList (>= 2.3, < 4.0.0) addressable (>= 2.8, < 3.0.0) artifactory (~> 3.0) @@ -85,6 +87,7 @@ GEM gh_inspector (>= 1.1.2, < 2.0.0) google-apis-androidpublisher_v3 (~> 0.3) google-apis-playcustomapp_v1 (~> 0.1) + google-cloud-env (>= 1.6.0, < 2.0.0) google-cloud-storage (~> 1.31) highline (~> 2.0) http-cookie (~> 1.0.5) @@ -93,7 +96,7 @@ GEM mini_magick (>= 4.9.4, < 5.0.0) multipart-post (>= 2.0.0, < 3.0.0) naturally (~> 2.2) - optparse (~> 0.1.1) + optparse (>= 0.1.1) plist (>= 3.1.0, < 4.0.0) rubyzip (>= 2.0.0, < 3.0.0) security (= 0.1.3) @@ -106,12 +109,12 @@ GEM xcodeproj (>= 1.13.0, < 2.0.0) xcpretty (~> 0.3.0) xcpretty-travis-formatter (>= 0.0.3) - fastlane-plugin-emerge (0.6.0) + fastlane-plugin-emerge (0.8.0) faraday (~> 1.1) gh_inspector (1.1.3) - google-apis-androidpublisher_v3 (0.50.0) + google-apis-androidpublisher_v3 (0.54.0) google-apis-core (>= 0.11.0, < 2.a) - google-apis-core (0.11.1) + google-apis-core (0.11.3) addressable (~> 2.5, >= 2.5.1) googleauth (>= 0.16.2, < 2.a) httpclient (>= 2.8.1, < 3.a) @@ -119,24 +122,23 @@ GEM representable (~> 3.0) retriable (>= 2.0, < 4.a) rexml - webrick google-apis-iamcredentials_v1 (0.17.0) google-apis-core (>= 0.11.0, < 2.a) google-apis-playcustomapp_v1 (0.13.0) google-apis-core (>= 0.11.0, < 2.a) - google-apis-storage_v1 (0.19.0) - google-apis-core (>= 0.9.0, < 2.a) - google-cloud-core (1.6.0) - google-cloud-env (~> 1.0) + google-apis-storage_v1 (0.31.0) + google-apis-core (>= 0.11.0, < 2.a) + google-cloud-core (1.7.0) + google-cloud-env (>= 1.0, < 3.a) google-cloud-errors (~> 1.0) google-cloud-env (1.6.0) faraday (>= 0.17.3, < 3.0) - google-cloud-errors (1.3.1) - google-cloud-storage (1.44.0) + google-cloud-errors (1.4.0) + google-cloud-storage (1.47.0) addressable (~> 2.8) digest-crc (~> 0.4) google-apis-iamcredentials_v1 (~> 0.1) - google-apis-storage_v1 (~> 0.19.0) + google-apis-storage_v1 (~> 0.31.0) google-cloud-core (~> 1.6) googleauth (>= 0.16.2, < 2.a) mini_mime (~> 1.0) @@ -151,19 +153,21 @@ GEM domain_name (~> 0.5) httpclient (2.8.3) jmespath (1.6.2) - json (2.6.3) - jwt (2.7.1) + json (2.7.1) + jwt (2.8.1) + base64 mini_magick (4.12.0) mini_mime (1.1.5) multi_json (1.15.0) - multipart-post (2.3.0) + multipart-post (2.4.0) nanaimo (0.3.0) naturally (2.2.1) - optparse (0.1.1) + nkf (0.2.0) + optparse (0.4.0) os (1.1.4) - plist (3.7.0) - public_suffix (5.0.3) - rake (13.0.6) + plist (3.7.1) + public_suffix (5.0.4) + rake (13.1.0) representable (3.2.0) declarative (< 0.1.0) trailblazer-option (>= 0.1.1, < 0.2.0) @@ -174,7 +178,7 @@ GEM ruby2_keywords (0.0.5) rubyzip (2.3.2) security (0.1.3) - signet (0.18.0) + signet (0.19.0) addressable (~> 2.8) faraday (>= 0.17.5, < 3.a) jwt (>= 1.5, < 3.0) @@ -187,17 +191,13 @@ GEM unicode-display_width (>= 1.1.1, < 3) trailblazer-option (0.1.2) tty-cursor (0.7.1) - tty-screen (0.8.1) + tty-screen (0.8.2) tty-spinner (0.9.3) tty-cursor (~> 0.7) uber (0.1.0) - unf (0.1.4) - unf_ext - unf_ext (0.0.8.2) unicode-display_width (2.5.0) - webrick (1.8.1) word_wrap (1.0.0) - xcodeproj (1.23.0) + xcodeproj (1.24.0) CFPropertyList (>= 2.3.3, < 4.0) atomos (~> 0.1.3) claide (>= 1.0.2, < 2.0) diff --git a/ios/Hacker News.xcodeproj/project.pbxproj b/ios/Hacker News.xcodeproj/project.pbxproj index 0f09346d..0288028c 100644 --- a/ios/Hacker News.xcodeproj/project.pbxproj +++ b/ios/Hacker News.xcodeproj/project.pbxproj @@ -616,6 +616,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 17.4; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; ONLY_ACTIVE_ARCH = YES; @@ -669,6 +670,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 17.4; MTL_ENABLE_DEBUG_INFO = NO; MTL_FAST_MATH = YES; SDKROOT = iphoneos; @@ -691,6 +693,7 @@ ENABLE_PREVIEWS = YES; GENERATE_INFOPLIST_FILE = YES; INFOPLIST_FILE = "Hacker-News-Info.plist"; + INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.news"; INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES; INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; INFOPLIST_KEY_UILaunchScreen_Generation = YES; @@ -727,6 +730,7 @@ ENABLE_PREVIEWS = YES; GENERATE_INFOPLIST_FILE = YES; INFOPLIST_FILE = "Hacker-News-Info.plist"; + INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.news"; INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES; INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; INFOPLIST_KEY_UILaunchScreen_Generation = YES; diff --git a/ios/fastlane/Fastfile b/ios/fastlane/Fastfile index f5b5a414..5b957601 100644 --- a/ios/fastlane/Fastfile +++ b/ios/fastlane/Fastfile @@ -141,13 +141,7 @@ platform :ios do fetch_and_increment_build_number build_app_for_scheme(build_configuration: ENV['SCHEME']) upload_app - emerge( - repo_name: ENV['GITHUB_REPOSITORY'], - pr_number: ENV['PULL_NUMBER'], - sha: (ENV.has_key?('COMMIT_SHA') && ENV['COMMIT_SHA'].length > 0) ? ENV['COMMIT_SHA'] : ENV['GITHUB_SHA'], - base_sha: ENV['BASE_SHA'], - build_type: ENV['EMERGE_BUILD_TYPE'] - ) + emerge(tag: ENV['EMERGE_BUILD_TYPE']) # TODO(telkins) # sentry_cli( @@ -162,12 +156,6 @@ platform :ios do load_asc_api_key prepare_signing build_app_for_scheme(build_configuration: ENV['SCHEME']) - emerge( - repo_name: ENV['GITHUB_REPOSITORY'], - pr_number: ENV['PULL_NUMBER'], - sha: (ENV.has_key?('COMMIT_SHA') && ENV['COMMIT_SHA'].length > 0) ? ENV['COMMIT_SHA'] : ENV['GITHUB_SHA'], - base_sha: ENV['BASE_SHA'], - build_type: ENV['EMERGE_BUILD_TYPE'] - ) + emerge(tag: ENV['EMERGE_BUILD_TYPE']) end end