Code Monkey home page Code Monkey logo

setup-cocoapods's Introduction

Hey there! ๐Ÿ‘‹

Github LinkedIn Private Email

I'm Maxim, a Senior Software Engineer in GitHub Inc. I am located in Amsterdam where recently relocated from Russia. Passionate on open-source community and writing beautiful, maintainable and tested code. Along with writing code, I'm also passionate about DevOps stuff and build automation.

  • ๐Ÿ”ญ Iโ€™m currently working on GitHub Actions project
  • ๐ŸŒฑ Iโ€™m currently learning Go
  • โค๏ธ I love to contribute to open source projects
  • ๐Ÿ˜„ Pronouns: He/Him
  • โšก Fun fact: I like to play League of Legends and some Xbox games.

Projects

I am developing the following Actions for GitHub Actions:

  • Setup Xcode - Set up your GitHub Actions workflow with a specific version of Xcode
  • Setup Xamarin - Set up your GitHub Actions workflow with a specific version of Xamarin & Mono
  • Setup Cocoapods - Set up your GitHub Actions workflow with a specific version of Cocoapods
  • Setup Android Tools - Set up Android tools in GitHub Actions workflow with cache

Also actively contribute to open-source projects.

Technologies & Tools



setup-cocoapods's People

Contributors

dependabot[bot] avatar dmeyer-pfg avatar maxim-lobanov avatar maxlapides avatar robhogan avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

setup-cocoapods's Issues

Why cannot we specified the cocoapod version at the same time as the podfile-path?

Due to an issue when building React Native apps with cocoapods 1.15 released last week I need to rollback the cocoapod version installed, which I cannot do because this fine action don't allow the two parameters to be used at the same time:

           ## selfhosted instance with pod --version = 1.14.3
            - uses: ruby/setup-ruby@v1
              with:
                  ruby-version: 3.0.0
            -   name: setup-cocoapods
                uses: maxim-lobanov/setup-cocoapods@v1
                with:
                    podfile-path: ios/Podfile.lock
                    version: 1.14.3

here is the stack of the error :

   CocoaPods : 1.15.0
        Ruby : ruby 3.0.0p0 (2020-12-25 revision 95aff21468) [arm64-darwin22]
    RubyGems : 3.2.3
        Host : macOS 13.6.3 (22G436)
       Xcode : 15.2 (15C500b)
         Git : git version 2.39.3 (Apple Git-145)
Ruby lib dir : /Users/runner/hostedtoolcache/Ruby/3.0.0/arm64/lib
Repositories : trunk - CDN - https://cdn.cocoapods.org/

the cocoapod version is changed unfortunately :/

Permission error on Linux

I'm getting the following permission error when running on ubuntu-latest:

Podfile points to the Cocoapods 1.10.1
/usr/bin/gem uninstall cocoapods --all --executables
/usr/bin/gem install cocoapods -v 1.10.1 --no-document
Gem 'cocoapods' is not installed
ERROR:  While executing gem ... (Gem::FilePermissionError)
    You don't have write permissions for the /var/lib/gems/2.7.0 directory.

PS I tried the same config onmacos-latest and it's working fine.

"latest" version should not re-install cocoapods if the same version is already installed

For now, setup-cocoapods always re-install cocoapods version if you specify version: latest as input. Sometimes, when latest version is already pre-installed to image, it is just waste of time.
if version: latest, action should retrieve the latest version from remote via gem list cocoapods --remote --exact and compare with currently installed version. If they are the same, nothing should be done.

Permit run on linux?

Cocoapods supports linux, at least in a limited way.

I have a React Native project and I'd like to add a CI step to validate Podfile.lock by running pod install after npm ci and checking that the lockfile doesn't change - theoretically this should work fine on linux, and if so it avoids an expensive macos build.

Is there any particular reason this action is blocked from running on linux? Would you be open to adding support if I worked on a PR?

Intermitten ERROR: While executing gem ... (NoMethodError) undefined method `name' for nil:NilClass

Hey @maxim-lobanov ! Thanks for your action, real nice!

We've seen some intermittent failures, which I can't figure out why they happen. Do you have any clue what's going on there?

Intermittent Failure:

Run maxim-lobanov/setup-cocoapods@v1
Podfile points to the Cocoapods 1.10.2
/usr/local/lib/ruby/gems/2.7.0/bin/pod --version
1.11.2
/usr/local/opt/[email protected]/bin/gem uninstall cocoapods --all --executables
/usr/local/opt/[email protected]/bin/gem install cocoapods -v 1.10.2 --no-document
Removing pod
Removing sandbox-pod
Successfully uninstalled cocoapods-1.11.2
ERROR:  While executing gem ... (NoMethodError)
    undefined method `name' for nil:NilClass
Error: The process '/usr/local/opt/[email protected]/bin/gem' failed with exit code 1

This is our yml:

name: CD
 
jobs:
  build_release_ios:
    name: Release
    runs-on: macos-10.15
       steps:
....
      - name: Setup Cocoapods
        uses: maxim-lobanov/setup-cocoapods@v1
        with:
          podfile-path: ios/Podfile.lock

Podfile.lock: COCOAPODS: 1.10.2

A parallel job (executing the same code, just for another whitelabel flavor) is sucessfull

Run maxim-lobanov/setup-cocoapods@v1
Podfile points to the Cocoapods 1.10.2
/usr/local/lib/ruby/gems/2.7.0/bin/pod --version
1.11.2
/usr/local/opt/[email protected]/bin/gem uninstall cocoapods --all --executables
/usr/local/opt/[email protected]/bin/gem install cocoapods -v 1.10.2 --no-document
Removing pod
Removing sandbox-pod
Successfully uninstalled cocoapods-1.11.2
Successfully installed ruby-macho-1.4.0
Successfully installed molinillo-0.6.6
Successfully installed thread_safe-0.3.6
Successfully installed tzinfo-1.2.9
Successfully installed activesupport-5.2.6
Successfully installed cocoapods-core-1.10.2
Successfully installed cocoapods-1.10.2
7 gems installed
Cocoapods 1.10.2 has been installed successfully

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.