diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 6fe5436..53cf78c 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -43,7 +43,7 @@ jobs: # TODO: Add sonar here once the project is added release: - if: github.event.pull_request.merged == true && github.head_ref == 'release/update-versions' + if: ${{ github.event.pull_request.merged == true && github.head_ref == 'release/update-versions' }} runs-on: macos-12 needs: [build, PodLinting] diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml new file mode 100644 index 0000000..5a0f06a --- /dev/null +++ b/.github/workflows/deploy.yml @@ -0,0 +1,58 @@ +name: Deployment + +on: + workflow_dispatch: + +jobs: + deploy: + runs-on: macos-latest + name: Deploy to Cocoapods Trunk + + steps: + - uses: actions/checkout@v3 + - name: Build + run: swift build -v + - uses: actions/checkout@v3 + + - name: setup-cocoapods + uses: maxim-lobanov/setup-cocoapods@v1 + with: + version: 1.11.3 + + - name: Run pod lint for Paystack Core + run: pod lib lint PaystackCore.podspec --allow-warnings + + - name: Get version information + run: | + version=$(/usr/libexec/PlistBuddy -c "Print Version" ./Sources/PaystackSDK/Versioning/versions.plist) + echo "version=${version}" >> $GITHUB_ENV + body=$(/usr/libexec/PlistBuddy -c "Print Description" ./Sources/PaystackSDK/Versioning/versions.plist) + echo "body=${body}" >> $GITHUB_ENV + cd Sources/PaystackSDK/Core/Service/Subscription + PLIST= secrets.plist + /usr/libexec/PlistBuddy -c "Set PUSHER_API_KEY $PUSH_TOKEN" $PLIST + cd ../../../.. + env: + PUSH_TOKEN: ${{ secrets.PUSH_TOKEN }} + + - name: Create Release + id: create_release + uses: actions/create-release@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + tag_name: ${{ env.version }} + release_name: ${{ env.version }} + body: ${{ env.body }} + + - name: Install Cocoapods + run: gem install cocoapods + + - name: Deploy to Cocoapods + run: | + set -eo pipefail + pod trunk push PaystackCore.podspec --allow-warnings + pod trunk push PaystackUI.podspec --allow-warnings + env: + COCOAPODS_TRUNK_TOKEN: ${{ secrets.COCOAPODS_TRUNK_TOKEN }} +