diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index c1de3e87..ffbe144d 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -9,15 +9,18 @@ concurrency: group: ${{ github.workflow }}-${{ github.head_ref || github.ref }} cancel-in-progress: true +permissions: + contents: read + jobs: check: runs-on: macos-latest 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..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 @@ -21,8 +24,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 +37,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 +51,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 +73,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..7c0e2f69 100644 --- a/.github/workflows/spm.yml +++ b/.github/workflows/spm.yml @@ -6,23 +6,26 @@ 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 jobs: swift-build-run: - runs-on: macOS-latest + runs-on: macOS-26 strategy: 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 - 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 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 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 e347e462..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.5) - 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.1) - 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.2.0) - multipart-post (~> 2.0) - faraday-net_http (1.0.2) - 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.4.1) 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.4.2) + 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 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