diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml new file mode 100644 index 00000000..993ce7b9 --- /dev/null +++ b/.github/workflows/deploy.yml @@ -0,0 +1,26 @@ +name: Deploy + +on: + release: + types: + - published + workflow_dispatch: + +jobs: + cocoapods: + runs-on: macOS-latest + + steps: + - uses: actions/checkout@v3 + + - uses: ruby/setup-ruby@v1 + with: + bundler-cache: true + + - name: Deploy to Cocoapods + run: | + set -eo pipefail + bundle exec pod lib lint --allow-warnings --verbose + bundle exec pod trunk push --allow-warnings --verbose + env: + COCOAPODS_TRUNK_TOKEN: ${{ secrets.COCOAPODS_TRUNK_TOKEN }} diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index f31d68ba..ea9702a3 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -6,10 +6,14 @@ on: jobs: lint: - runs-on: ubuntu-latest + runs-on: macOS-latest steps: - uses: actions/checkout@v3 + - uses: ruby/setup-ruby@v1 + with: + bundler-cache: true + - name: Run SwiftLint uses: norio-nomura/action-swiftlint@3.2.1 with: @@ -17,3 +21,8 @@ jobs: - name: Check License Headers run: ./Scripts/copy_license && git diff --name-only --exit-code + + - name: Lint Podspec + run: | + set -eo pipefail + bundle exec pod lib lint --allow-warnings --verbose diff --git a/Gemfile b/Gemfile new file mode 100644 index 00000000..d1bf7c6f --- /dev/null +++ b/Gemfile @@ -0,0 +1,3 @@ +source "https://rubygems.org" + +gem "cocoapods" diff --git a/Gemfile.lock b/Gemfile.lock new file mode 100644 index 00000000..47f00e3b --- /dev/null +++ b/Gemfile.lock @@ -0,0 +1,108 @@ +GEM + remote: https://rubygems.org/ + specs: + CFPropertyList (3.0.6) + rexml + activesupport (7.1.2) + base64 + bigdecimal + concurrent-ruby (~> 1.0, >= 1.0.2) + connection_pool (>= 2.2.5) + drb + i18n (>= 1.6, < 2) + minitest (>= 5.1) + mutex_m + tzinfo (~> 2.0) + addressable (2.8.5) + public_suffix (>= 2.0.2, < 6.0) + algoliasearch (1.27.5) + httpclient (~> 2.8, >= 2.8.3) + json (>= 1.5.1) + atomos (0.1.3) + base64 (0.2.0) + bigdecimal (3.1.4) + claide (1.1.0) + cocoapods (1.14.3) + addressable (~> 2.8) + claide (>= 1.0.2, < 2.0) + cocoapods-core (= 1.14.3) + cocoapods-deintegrate (>= 1.0.3, < 2.0) + cocoapods-downloader (>= 2.1, < 3.0) + cocoapods-plugins (>= 1.0.0, < 2.0) + cocoapods-search (>= 1.0.0, < 2.0) + cocoapods-trunk (>= 1.6.0, < 2.0) + cocoapods-try (>= 1.1.0, < 2.0) + colored2 (~> 3.1) + escape (~> 0.0.4) + fourflusher (>= 2.3.0, < 3.0) + gh_inspector (~> 1.0) + molinillo (~> 0.8.0) + nap (~> 1.0) + ruby-macho (>= 2.3.0, < 3.0) + xcodeproj (>= 1.23.0, < 2.0) + cocoapods-core (1.14.3) + activesupport (>= 5.0, < 8) + addressable (~> 2.8) + algoliasearch (~> 1.0) + concurrent-ruby (~> 1.1) + fuzzy_match (~> 2.0.4) + nap (~> 1.0) + netrc (~> 0.11) + public_suffix (~> 4.0) + typhoeus (~> 1.0) + cocoapods-deintegrate (1.0.5) + cocoapods-downloader (2.1) + cocoapods-plugins (1.0.0) + nap + cocoapods-search (1.0.1) + cocoapods-trunk (1.6.0) + nap (>= 0.8, < 2.0) + netrc (~> 0.11) + cocoapods-try (1.2.0) + colored2 (3.1.2) + concurrent-ruby (1.2.2) + connection_pool (2.4.1) + drb (2.2.0) + ruby2_keywords + escape (0.0.4) + ethon (0.16.0) + ffi (>= 1.15.0) + ffi (1.16.3) + fourflusher (2.3.1) + fuzzy_match (2.0.4) + gh_inspector (1.1.3) + httpclient (2.8.3) + i18n (1.14.1) + concurrent-ruby (~> 1.0) + json (2.6.3) + minitest (5.20.0) + molinillo (0.8.0) + mutex_m (0.2.0) + nanaimo (0.3.0) + nap (1.1.0) + netrc (0.11.0) + public_suffix (4.0.7) + rexml (3.2.6) + ruby-macho (2.5.1) + ruby2_keywords (0.0.5) + typhoeus (1.4.1) + ethon (>= 0.9.0) + tzinfo (2.0.6) + concurrent-ruby (~> 1.0) + xcodeproj (1.23.0) + CFPropertyList (>= 2.3.3, < 4.0) + atomos (~> 0.1.3) + claide (>= 1.0.2, < 2.0) + colored2 (~> 3.1) + nanaimo (~> 0.3.0) + rexml (~> 3.2.4) + +PLATFORMS + arm64-darwin-21 + x86_64-darwin-19 + +DEPENDENCIES + cocoapods + +BUNDLED WITH + 2.4.3 diff --git a/ShopifyCheckoutKit.podspec b/ShopifyCheckoutKit.podspec new file mode 100644 index 00000000..e0460787 --- /dev/null +++ b/ShopifyCheckoutKit.podspec @@ -0,0 +1,13 @@ +Pod::Spec.new do |s| + s.name = "ShopifyCheckoutKit" + s.version = "0.6.0" + s.summary = "Shopify Checkout Kit enables Swift apps to embed the world’s highest converting, customizable, one-page checkout." + s.homepage = "https://github.com/Shopify/checkout-kit-swift" + s.license = { :type => "MIT", :file => "LICENSE" } + s.author = "Shopify Inc." + s.source = { :git => "https://github.com/Shopify/checkout-kit-swift.git", :tag => s.version.to_s } + s.ios.deployment_target = "13.0" + s.swift_version = "5.0" + s.source_files = "Sources/ShopifyCheckoutKit/**/*.swift" + s.resources = "Sources/ShopifyCheckoutKit/**/*.xcassets" +end