Giter Club home page Giter Club logo

Comments (5)

vemonet avatar vemonet commented on May 8, 2024 1

If you already have working workflow with GitLab CI that does not really make sense to duplicate those, apart if GitHub actions brings new features for you

Also, I was thinking triggering GitLab CI from a repo hosted on GitHub would add a more of complexity to setup the workflow. I am actually interested in doing it so I will probably take a look on it

from argos-translate.

vemonet avatar vemonet commented on May 8, 2024

Copy pasting my comments about GitLab CI vs GitHub Actions in another issue

GitHub Actions vs GitLab CI is basically the same if you just aim to do basic pytest run

imo the best is to just use the one where your host your code, apart if you need specific features from the other CI

From my experience GitLab CI is more mature and give more possibilities when it comes to deploy self-hosted runners anywhere (e.g. kubernetes). GitHub Actions is working on it but not completely there (they recently announced an official partnerships with Red Hat OpenShift for that, so we can expect something coming soon)

But also from my experience GitHub Actions is much more user-friendly, as it is built for developers, not sysadmin/DevOps (GitLab is more technical and will require regular developers more effort to learn). Since they started later they had more experience and use-cases feedbacks to make the framework more user friendly. Also as bonus, Secrets and workflow triggers are easier to setup in GitHub Actions

I even have been using GitHub Actions for long data processing workflows, and it's really stable and easy to maintain

For short, in my opinion:

  • You are a developer who's building an open source library hosted on GitHub, and you want to quickly get your things done without the need to know Linux arcanes (thanks the actions marketplace)? Use GitHub Actions
  • You are a developer who is building libraries on GitLab (gitlab.com or self-hosted), or you want to deploy complex workflow to various self-hosted platforms? Go with GitLab CI

In our case it does not really matter, the same pytest can be easily run on GitLab CI or GitHub Actions, you just need to put the bash commands in a different YAML format :)

from argos-translate.

vemonet avatar vemonet commented on May 8, 2024

Here is an example of a simple GitHub Actions workflow that will test and publish to pypi your package (need to uncomment the tests)

https://github.com/uav4geo/LibreTranslate/blob/90d743796b04554104fb24738a83664fb6720ef6/.github/workflows/publish-package.yml

You just need to add the pypi username and password as secrets in your GitHub repository settings

from argos-translate.

PJ-Finlay avatar PJ-Finlay commented on May 8, 2024

If you want to implement it with GitHub I'll accept a pull request since future switching costs would be low to move to GitLab. I can add secretes. I haven't been pushing often enough to PyPI for it to be a high priority.

from argos-translate.

PJ-Finlay avatar PJ-Finlay commented on May 8, 2024

I don't have any immediate plans for Gitlab and it may make sense long term to do this project on GitHub even if I'm using Gitlab for other things. I'm not worried about getting locked into either one because it's mostly just shell scripts. The main thing we would want is to upload to PyPI, the snapcraft upload is probably too flaky for CI for now. Testing too but the tests need to be written first.

from argos-translate.

Related Issues (20)

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.