From 975e2b17b38b5db274f33c62bd6d2abee1c16abd Mon Sep 17 00:00:00 2001 From: Nick Cooke Date: Tue, 23 Jun 2026 19:00:21 -0400 Subject: [PATCH 1/7] chore(gemfile): bump addressable and concurrent-ruby gems --- Gemfile.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index cc2c8a30..fabfb362 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -18,8 +18,8 @@ GEM mutex_m securerandom (>= 0.3) tzinfo (~> 2.0) - addressable (2.8.0) - public_suffix (>= 2.0.2, < 5.0) + addressable (2.9.0) + public_suffix (>= 2.0.2, < 8.0) algoliasearch (1.27.5) httpclient (~> 2.8, >= 2.8.3) json (>= 1.5.1) @@ -73,7 +73,7 @@ GEM netrc (~> 0.11) cocoapods-try (1.2.0) colored2 (3.1.2) - concurrent-ruby (1.3.5) + concurrent-ruby (1.3.7) connection_pool (2.5.0) cork (0.3.0) colored2 (~> 3.1) From a34d93cbfa5780afe527079e78bfb0982cbeb36d Mon Sep 17 00:00:00 2001 From: Nick Cooke Date: Wed, 24 Jun 2026 16:44:34 -0400 Subject: [PATCH 2/7] chore: update faraday, activesupport, and danger gems --- Gemfile | 2 +- Gemfile.lock | 130 +++++++++++++++++++++++---------------------------- 2 files changed, 60 insertions(+), 72 deletions(-) diff --git a/Gemfile b/Gemfile index 5b693ac2..7dfba34c 100644 --- a/Gemfile +++ b/Gemfile @@ -4,4 +4,4 @@ source 'https://rubygems.org' gem 'cocoapods', '1.16.2' gem 'cocoapods-generate', '2.2.5' -gem 'danger', '8.4.5' +gem 'danger', '>= 9.3.1' diff --git a/Gemfile.lock b/Gemfile.lock index fabfb362..9a821ff6 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,32 +1,28 @@ GEM remote: https://rubygems.org/ specs: - CFPropertyList (3.0.7) - base64 - nkf - rexml - activesupport (7.1.5.1) + CFPropertyList (3.0.8) + activesupport (7.2.3.1) base64 benchmark (>= 0.3) bigdecimal - concurrent-ruby (~> 1.0, >= 1.0.2) + concurrent-ruby (~> 1.0, >= 1.3.1) connection_pool (>= 2.2.5) drb i18n (>= 1.6, < 2) logger (>= 1.4.2) - minitest (>= 5.1) - mutex_m + minitest (>= 5.1, < 6) securerandom (>= 0.3) - tzinfo (~> 2.0) + tzinfo (~> 2.0, >= 2.0.5) addressable (2.9.0) public_suffix (>= 2.0.2, < 8.0) algoliasearch (1.27.5) httpclient (~> 2.8, >= 2.8.3) json (>= 1.5.1) atomos (0.1.3) - base64 (0.2.0) - benchmark (0.4.0) - bigdecimal (3.1.9) + base64 (0.3.0) + benchmark (0.5.0) + bigdecimal (4.1.2) claide (1.1.0) claide-plugins (0.9.2) cork @@ -74,97 +70,89 @@ GEM cocoapods-try (1.2.0) colored2 (3.1.2) concurrent-ruby (1.3.7) - connection_pool (2.5.0) + connection_pool (3.0.2) cork (0.3.0) colored2 (~> 3.1) - danger (8.4.5) + danger (9.6.0) + base64 (~> 0.2) claide (~> 1.0) claide-plugins (>= 0.9.2) - colored2 (~> 3.1) + colored2 (>= 3.1, < 5) cork (~> 0.1) - faraday (>= 0.9.0, < 2.0) + faraday (>= 0.9.0, < 3.0) faraday-http-cache (~> 2.0) - git (~> 1.7) - kramdown (~> 2.3) + git (>= 1.13) + kramdown (>= 2.5.1, < 3.0) kramdown-parser-gfm (~> 1.0) - no_proxy_fix - octokit (~> 4.7) - terminal-table (>= 1, < 4) - drb (2.2.1) + octokit (>= 4.0) + pstore (~> 0.1) + terminal-table (>= 1, < 5) + drb (2.2.3) escape (0.0.4) - ethon (0.16.0) + ethon (0.18.0) ffi (>= 1.15.0) - faraday (1.10.1) - faraday-em_http (~> 1.0) - faraday-em_synchrony (~> 1.0) - faraday-excon (~> 1.1) - faraday-httpclient (~> 1.0) - faraday-multipart (~> 1.0) - faraday-net_http (~> 1.0) - faraday-net_http_persistent (~> 1.0) - faraday-patron (~> 1.0) - faraday-rack (~> 1.0) - faraday-retry (~> 1.0) - ruby2_keywords (>= 0.0.4) - faraday-em_http (1.0.0) - faraday-em_synchrony (1.0.0) - faraday-excon (1.1.0) - faraday-http-cache (2.4.1) + logger + faraday (2.14.3) + faraday-net_http (>= 2.0, < 3.5) + json + logger + faraday-http-cache (2.7.0) faraday (>= 0.8) - faraday-httpclient (1.0.1) - faraday-multipart (1.0.4) - multipart-post (~> 2) - faraday-net_http (1.0.1) - faraday-net_http_persistent (1.2.0) - faraday-patron (1.0.0) - faraday-rack (1.0.0) - faraday-retry (1.0.3) - ffi (1.17.2) + faraday-net_http (3.4.4) + net-http (~> 0.5) + ffi (1.17.4) fourflusher (2.3.1) fuzzy_match (2.0.4) gh_inspector (1.1.3) - git (1.18.0) + git (4.3.2) + activesupport (>= 5.0) addressable (~> 2.8) - rchardet (~> 1.8) + process_executer (~> 4.0) + rchardet (~> 1.9) httpclient (2.9.0) mutex_m - i18n (1.14.7) + i18n (1.15.2) concurrent-ruby (~> 1.0) - json (2.10.2) - kramdown (2.4.0) - rexml + json (2.20.0) + kramdown (2.5.2) + rexml (>= 3.4.4) kramdown-parser-gfm (1.1.0) kramdown (~> 2.0) logger (1.7.0) - minitest (5.25.5) + minitest (5.27.0) molinillo (0.8.0) - multipart-post (2.2.3) mutex_m (0.3.0) nanaimo (0.4.0) nap (1.1.0) + net-http (0.9.1) + uri (>= 0.11.1) netrc (0.11.0) - nkf (0.2.0) - no_proxy_fix (0.1.2) - octokit (4.25.1) + octokit (10.0.0) faraday (>= 1, < 3) sawyer (~> 0.9) open4 (1.3.4) + process_executer (4.0.4) + track_open_instances (~> 0.1) + pstore (0.2.1) public_suffix (4.0.7) - rchardet (1.8.0) - rexml (3.3.9) + rchardet (1.10.2) + rexml (3.4.4) ruby-macho (2.5.1) - ruby2_keywords (0.0.5) - sawyer (0.9.2) + sawyer (0.9.3) addressable (>= 2.3.5) faraday (>= 0.17.3, < 3) - securerandom (0.3.2) - terminal-table (3.0.2) - unicode-display_width (>= 1.1.1, < 3) - typhoeus (1.4.1) - ethon (>= 0.9.0) + securerandom (0.4.1) + terminal-table (4.0.0) + unicode-display_width (>= 1.1.1, < 4) + track_open_instances (0.1.15) + typhoeus (1.6.0) + ethon (>= 0.18.0) tzinfo (2.0.6) concurrent-ruby (~> 1.0) - unicode-display_width (2.2.0) + unicode-display_width (3.2.0) + unicode-emoji (~> 4.1) + unicode-emoji (4.2.0) + uri (1.1.1) xcodeproj (1.27.0) CFPropertyList (>= 2.3.3, < 4.0) atomos (~> 0.1.3) @@ -179,7 +167,7 @@ PLATFORMS DEPENDENCIES cocoapods (= 1.16.2) cocoapods-generate (= 2.2.5) - danger (= 8.4.5) + danger (>= 9.3.1) BUNDLED WITH - 2.1.4 + 2.6.2 From 26c1919004b9a8ed98eacf4871d9a138d3758052 Mon Sep 17 00:00:00 2001 From: Nick Cooke Date: Wed, 24 Jun 2026 16:58:29 -0400 Subject: [PATCH 3/7] ci: pin github actions to specific commit hashes --- .github/workflows/check.yml | 4 ++-- .github/workflows/datatransport.yml | 16 ++++++++-------- .github/workflows/spm.yml | 4 ++-- .github/workflows/test_coverage.yml | 12 ++++++------ 4 files changed, 18 insertions(+), 18 deletions(-) diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index c1de3e87..d761d5e5 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -15,9 +15,9 @@ jobs: env: MINT_PATH: ${{ github.workspace }}/mint steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 - - uses: actions/setup-python@v3 + - uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # v6.1.0 with: python-version: '3.10' diff --git a/.github/workflows/datatransport.yml b/.github/workflows/datatransport.yml index 220c25bd..4b8714a0 100644 --- a/.github/workflows/datatransport.yml +++ b/.github/workflows/datatransport.yml @@ -21,8 +21,8 @@ jobs: matrix: target: [ios, tvos, macos] steps: - - uses: actions/checkout@v3 - - uses: ruby/setup-ruby@v1 + - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 + - uses: ruby/setup-ruby@9eb537ca036ebaed86729dcb9309076e4c5c3b74 # v1.314 - name: Setup Scripts Directory run: ./setup-scripts.sh - name: Setup Bundler @@ -34,8 +34,8 @@ jobs: catalyst: runs-on: macOS-latest steps: - - uses: actions/checkout@v3 - - uses: ruby/setup-ruby@v1 + - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 + - uses: ruby/setup-ruby@9eb537ca036ebaed86729dcb9309076e4c5c3b74 # v1.314 - name: Setup Scripts Directory run: ./setup-scripts.sh - name: Setup Bundler @@ -48,8 +48,8 @@ jobs: # watchos-testapp: # runs-on: macos-12 # steps: - # - uses: actions/checkout@v3 - # - uses: ruby/setup-ruby@v1 + # - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 + # - uses: ruby/setup-ruby@9eb537ca036ebaed86729dcb9309076e4c5c3b74 # v1.314 # - name: Setup Scripts Directory # run: ./setup-scripts.sh # - name: Setup Bundler @@ -70,8 +70,8 @@ jobs: ] needs: pod_lib_lint steps: - - uses: actions/checkout@v3 - - uses: ruby/setup-ruby@v1 + - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 + - uses: ruby/setup-ruby@9eb537ca036ebaed86729dcb9309076e4c5c3b74 # v1.314 - name: Setup Scripts Directory run: ./setup-scripts.sh - name: Setup Bundler diff --git a/.github/workflows/spm.yml b/.github/workflows/spm.yml index 543b4537..3b292a2d 100644 --- a/.github/workflows/spm.yml +++ b/.github/workflows/spm.yml @@ -17,8 +17,8 @@ jobs: matrix: target: [iOS, tvOS, macOS, catalyst] steps: - - uses: actions/checkout@v3 - - uses: ruby/setup-ruby@v1 + - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 + - uses: ruby/setup-ruby@9eb537ca036ebaed86729dcb9309076e4c5c3b74 # v1.314 - name: Setup Scripts Directory run: ./setup-scripts.sh - name: Xcode diff --git a/.github/workflows/test_coverage.yml b/.github/workflows/test_coverage.yml index f138177d..635ab112 100644 --- a/.github/workflows/test_coverage.yml +++ b/.github/workflows/test_coverage.yml @@ -24,8 +24,8 @@ jobs: matrix: target: [ios] steps: - - uses: actions/checkout@v3 - - uses: ruby/setup-ruby@v1 + - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 + - uses: ruby/setup-ruby@9eb537ca036ebaed86729dcb9309076e4c5c3b74 # v1.314 - name: Setup Scripts Directory run: ./setup-scripts.sh - name: Setup Bundler @@ -33,7 +33,7 @@ jobs: - name: PodLibLint DataTransport run: | scripts/health_metrics/pod_test_code_coverage_report.sh --sdk=GoogleDataTransport --platform=${{ matrix.target }} --test_spec=Tests-Unit,CCT-Tests-Unit - - uses: actions/upload-artifact@v4 + - uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0 with: name: codecoverage path: /Users/runner/*.xcresult @@ -42,11 +42,11 @@ jobs: needs: pod_lib_lint runs-on: macOS-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 with: fetch-depth: 0 - - uses: ruby/setup-ruby@v1 - - uses: actions/download-artifact@v4.1.7 + - uses: ruby/setup-ruby@9eb537ca036ebaed86729dcb9309076e4c5c3b74 # v1.314 + - uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0 id: download with: path: /Users/runner/test From adee7395bebd68bad66e97c30ec86467f1fa5f18 Mon Sep 17 00:00:00 2001 From: Nick Cooke Date: Wed, 24 Jun 2026 23:02:15 -0400 Subject: [PATCH 4/7] update .ruby-version --- .ruby-version | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.ruby-version b/.ruby-version index fa376edc..47b322c9 100644 --- a/.ruby-version +++ b/.ruby-version @@ -1 +1 @@ -ruby-2.7 +3.4.1 From 5b6c5847647805f964757665fd6b446f471ad3f3 Mon Sep 17 00:00:00 2001 From: Nick Cooke Date: Wed, 24 Jun 2026 23:04:11 -0400 Subject: [PATCH 5/7] spm fixes --- .github/workflows/spm.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/spm.yml b/.github/workflows/spm.yml index 3b292a2d..49063e8b 100644 --- a/.github/workflows/spm.yml +++ b/.github/workflows/spm.yml @@ -12,7 +12,7 @@ concurrency: jobs: swift-build-run: - runs-on: macOS-latest + runs-on: macOS-26 strategy: matrix: target: [iOS, tvOS, macOS, catalyst] @@ -22,7 +22,7 @@ jobs: - name: Setup Scripts Directory run: ./setup-scripts.sh - name: Xcode - run: sudo xcode-select -s /Applications/Xcode_16.2.app/Contents/Developer + run: sudo xcode-select -s /Applications/Xcode_26.4.app/Contents/Developer - name: Initialize xcodebuild run: xcodebuild -list - name: iOS Unit Tests From 4c70a4fa36d35c7da60d80cd62bb2b8eb54a64f6 Mon Sep 17 00:00:00 2001 From: Nick Cooke Date: Wed, 24 Jun 2026 23:08:16 -0400 Subject: [PATCH 6/7] perms --- .github/workflows/check.yml | 3 +++ .github/workflows/datatransport.yml | 3 +++ .github/workflows/spm.yml | 3 +++ 3 files changed, 9 insertions(+) diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index d761d5e5..ffbe144d 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -9,6 +9,9 @@ concurrency: group: ${{ github.workflow }}-${{ github.head_ref || github.ref }} cancel-in-progress: true +permissions: + contents: read + jobs: check: runs-on: macos-latest diff --git a/.github/workflows/datatransport.yml b/.github/workflows/datatransport.yml index 4b8714a0..d704680d 100644 --- a/.github/workflows/datatransport.yml +++ b/.github/workflows/datatransport.yml @@ -14,6 +14,9 @@ concurrency: group: ${{ github.workflow }}-${{ github.head_ref || github.ref }} cancel-in-progress: true +permissions: + contents: read + jobs: pod_lib_lint: runs-on: macos-latest diff --git a/.github/workflows/spm.yml b/.github/workflows/spm.yml index 49063e8b..7c0e2f69 100644 --- a/.github/workflows/spm.yml +++ b/.github/workflows/spm.yml @@ -6,6 +6,9 @@ on: # Run every day at 11pm (PST) - cron uses UTC times - cron: '0 7 * * *' +permissions: + contents: read + concurrency: group: ${{ github.workflow }}-${{ github.head_ref || github.ref }} cancel-in-progress: true From a26a2923cd4de201e14ad9bfce57f7aec4c07d19 Mon Sep 17 00:00:00 2001 From: Nick Cooke Date: Wed, 24 Jun 2026 23:30:49 -0400 Subject: [PATCH 7/7] warning fix --- GoogleDataTransport/GDTCCTLibrary/GDTCCTNanopbHelpers.m | 4 ++-- .../GDTCCTLibrary/Private/GDTCCTNanopbHelpers.h | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/GoogleDataTransport/GDTCCTLibrary/GDTCCTNanopbHelpers.m b/GoogleDataTransport/GDTCCTLibrary/GDTCCTNanopbHelpers.m index 450fda8d..84a93264 100644 --- a/GoogleDataTransport/GDTCCTLibrary/GDTCCTNanopbHelpers.m +++ b/GoogleDataTransport/GDTCCTLibrary/GDTCCTNanopbHelpers.m @@ -35,12 +35,12 @@ #pragma mark - General purpose encoders -pb_bytes_array_t *GDTCCTEncodeString(NSString *string) { +pb_bytes_array_t *_Nullable GDTCCTEncodeString(NSString *string) { NSData *stringBytes = [string dataUsingEncoding:NSUTF8StringEncoding]; return GDTCCTEncodeData(stringBytes); } -pb_bytes_array_t *GDTCCTEncodeData(NSData *data) { +pb_bytes_array_t *_Nullable GDTCCTEncodeData(NSData *data) { pb_bytes_array_t *pbBytesArray = calloc(1, PB_BYTES_ARRAY_T_ALLOCSIZE(data.length)); if (pbBytesArray != NULL) { [data getBytes:pbBytesArray->bytes length:data.length]; diff --git a/GoogleDataTransport/GDTCCTLibrary/Private/GDTCCTNanopbHelpers.h b/GoogleDataTransport/GDTCCTLibrary/Private/GDTCCTNanopbHelpers.h index 2f0ccd0f..a0cd81f3 100644 --- a/GoogleDataTransport/GDTCCTLibrary/Private/GDTCCTNanopbHelpers.h +++ b/GoogleDataTransport/GDTCCTLibrary/Private/GDTCCTNanopbHelpers.h @@ -34,7 +34,7 @@ NS_ASSUME_NONNULL_BEGIN * @param string The string to convert. * @return A newly allocated array of bytes representing the UTF8 encoding of the string. */ -pb_bytes_array_t *GDTCCTEncodeString(NSString *string); +pb_bytes_array_t *_Nullable GDTCCTEncodeString(NSString *string); /** Converts an NSData to a pb_bytes_array_t*. * @@ -43,7 +43,7 @@ pb_bytes_array_t *GDTCCTEncodeString(NSString *string); * @param data The data to convert. * @return A newly allocated array of bytes with [data bytes] copied into it. */ -pb_bytes_array_t *GDTCCTEncodeData(NSData *data); +pb_bytes_array_t *_Nullable GDTCCTEncodeData(NSData *data); #pragma mark - CCT object constructors