remove-permissions #6
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build Library | |
on: | |
push: | |
branches: [ main ] | |
pull_request: | |
branches: [ main ] | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
lint_ios_podspec: | |
name: Lint iOS Podspec | |
runs-on: macos-14 | |
if: github.event_name == 'pull_request' | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Lint Podspec | |
run: pod lib lint --private --verbose --sources=https://github.com/CruGlobal/cocoapods-specs.git,https://cdn.cocoapods.org/ | |
current_version: | |
name: Store Current Version | |
runs-on: ubuntu-latest | |
if: (github.event_name == 'push' && github.ref == 'refs/heads/main') | |
outputs: | |
version: ${{ steps.version.outputs.version }} | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Set Version Output | |
id: version | |
run: grep s\\.version\\s SocialAuthentication.podspec | sed 's/s.//' | sed "s/'//g" | sed 's/ //g' >> $GITHUB_OUTPUT | |
print_current_version: | |
name: Print Current Version | |
runs-on: ubuntu-latest | |
if: (github.event_name == 'push' && github.ref == 'refs/heads/main') | |
needs: [ current_version ] | |
steps: | |
- name: Print Current Version | |
env: | |
VERSION: ${{ needs.current_version.outputs.version }} | |
run: | | |
printf '%s\n' "$VERSION" | |
check_version: | |
name: Verify Version Is Not Released | |
runs-on: ubuntu-latest | |
if: (github.event_name == 'push' && github.ref == 'refs/heads/main') | |
needs: [ current_version ] | |
outputs: | |
tag: ${{ steps.tag_name.outputs.tag }} | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Generate Tag Name | |
id: tag_name | |
run: echo tag=$TAG_NAME >> $GITHUB_OUTPUT | |
env: | |
TAG_NAME: ${{ needs.current_version.outputs.version }} | |
- name: Check if version was already released | |
run: "! git ls-remote -t --exit-code origin $TAG_NAME" | |
env: | |
TAG_NAME: ${{ steps.tag_name.outputs.tag }} | |
tag_version: | |
name: Tag Version | |
runs-on: ubuntu-latest | |
if: (github.event_name == 'push' && github.ref == 'refs/heads/main') | |
needs: [ check_version, current_version ] | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Create Tag | |
env: | |
TAG_NAME: ${{ needs.current_version.outputs.version }} | |
run: | | |
git tag $TAG_NAME | |
git push origin $TAG_NAME | |
push_podspec: | |
name: Push Podspec | |
runs-on: macos-14 | |
if: (github.event_name == 'push' && github.ref == 'refs/heads/main') | |
needs: [ check_version, tag_version ] | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Setup Ruby | |
uses: ruby/setup-ruby@v1 | |
with: | |
bundler-cache: true | |
- name: Install SSH key | |
uses: shimataro/ssh-key-action@v2 | |
with: | |
key: ${{ secrets.SSH_KEY }} | |
known_hosts: ${{ secrets.KNOWN_HOSTS }} | |
- name: Add CruGlobal CocoaPods Repo | |
run: pod repo add CruGlobal [email protected]:CruGlobal/cocoapods-specs.git | |
- name: Push podspec | |
run: pod repo push CruGlobal *.podspec --private --verbose --sources=https://github.com/CruGlobal/cocoapods-specs.git,https://cdn.cocoapods.org/ |