Live data from Hacker News

Xcode 10 is now integrated with GitLab

twitter.com

61–70 of 80 posts

Re: Xcode 10 is now integrated with GitLab

#61

Earlier quoted context omitted.

Builds should just be done with shell scripts. I recently crossed swords with .gitlab-ci.yml. An obfuscation layer that fights back. Ditto jenkinsfile and whatever you wanna call GoCD's config.xml. This silliness reminds me most of all those ETL workflow obfuscation frameworks, like BizTalk and TalenD. PS- If anyone has the bad judgement to use YAML, it'd be nice if the linter reported something more specific than "s…

> Builds should just be done with shell scripts You still need something to describe the order and dependencies of those shell scripts as well as when to run them (branches, tags) and how to handle the artifacts (expiry time, etc). Which should be, much preferably, something not Turing-complete, so you can make an UI for this. Draw the graph, etc etc. Take those parts out, and almost all what's left in .gitlab-ci.yml…

Turing complete? What?

If your visual programming fuzzy whatzzit drops down to metal (shell commands in this case), just use the metal.

I did get the git-runner to run locally. That was fun. Why do I have to commit my changes to my local branch so the git-runner can see them? MY CODE IS RIGHT THERE!

I reiterate: Just use shell scripts.

Re: Xcode 10 is now integrated with GitLab

#62
post #58

...countdown to Apple acquiring GitLab??

Apple has no cloud service and no cloud tools to offer, it makes no sense for them to buy GitLab. But, still, it woudln't be a bad thing. Apple is much more open-source company than microsoft, doesn't have decades of history fighting OSS and spreading FUD and stealing code from open source without acknowledging real ownership. I'm sure that would be seen more positively than MS buying GH.

Really? Not sure you've been paying attention. That may have been true in the past and I'm not saying Apple isn't OSS friendly, but the sheer amount of Microsoft code on Github would beg to differ.

Re: Xcode 10 is now integrated with GitLab

#63

Earlier quoted context omitted.

Builds should just be done with shell scripts. I recently crossed swords with .gitlab-ci.yml. An obfuscation layer that fights back. Ditto jenkinsfile and whatever you wanna call GoCD's config.xml. This silliness reminds me most of all those ETL workflow obfuscation frameworks, like BizTalk and TalenD. PS- If anyone has the bad judgement to use YAML, it'd be nice if the linter reported something more specific than "s…

But how do you tell a spell script to be a multi staged build? You can't just write `set OS=macos` and suddenly your OS changes from debian to macos. The best you could do is to ssh into that machine but how do you tell your build system to provision a machine with such parameters? You would essential have to build a new build system just for that. Or you could just use a config file -- whether you call it config.ini…

Multi-stage? I dunno. Simplify your workflow?

"just write `script: ./ci/build.bash` inside gitlab-ci.yaml"

Yup. Then why have the YAML?

I said shell script, not bash. The first "CI/CD" (as the kids now call it) I ever did was on Windows. Worked great.

Re: Xcode 10 is now integrated with GitLab

#64
post #40

Earlier quoted context omitted.

The timing of the announcement is a little serendipitous though. I don't know if i'd go so far as to call it a tacit endorsement of gitlab by Apple, but it does have an air of opportunism.

Apple probably planned that long before the announcement of Microsoft's acquisition was made because a lot of customers requested gitlab/bitbucket integration after they added the github integration. But they could only tell that they public after they released xcode 10 at the WWDC yesterday. It was just unfortunate that the WWDC and the announcement were within ~24h.

That's right. We planned the announcement from the Bitbucket side weeks ahead.

Re: Xcode 10 is now integrated with GitLab

#65
post #23

Earlier quoted context omitted.

We took external investment so we need to either get acquired or IPO. Since 2015 we're aiming for an IPO in 2020 https://about.gitlab.com/strategy/ and so far we're on track.

Or maybe, you could become profitable organically in the future. Today, might go down as a turning point in your history

[deleted]

Re: Xcode 10 is now integrated with GitLab

#66

Earlier quoted context omitted.

But how do you tell a spell script to be a multi staged build? You can't just write `set OS=macos` and suddenly your OS changes from debian to macos. The best you could do is to ssh into that machine but how do you tell your build system to provision a machine with such parameters? You would essential have to build a new build system just for that. Or you could just use a config file -- whether you call it config.ini…

Multi-stage? I dunno. Simplify your workflow? "just write `script: ./ci/build.bash` inside gitlab-ci.yaml" Yup. Then why have the YAML? I said shell script, not bash. The first "CI/CD" (as the kids now call it) I ever did was on Windows. Worked great.

> Multi-stage? I dunno. Simplify your workflow?

How would you simplify testing on multiple systems/oses? Or have one project written be tested for multiple versions of that language (because you need backwards compatibility)? It's nice if your build system is as simple as

    make build test publish
and only need to have it work on a Linux distribution of your choice, but some many projects, that's just not enough. Your .gitlab-ci file is just a file to tell your build system: for debian-python3.{3,4,5,6} execute that, for windows: do that. Btw: debian-python:devel is allowed to fail because it is not stable. It's just nice to have an idea if it might work for further versions.

Re: Xcode 10 is now integrated with GitLab

#67

Earlier quoted context omitted.

> Builds should just be done with shell scripts You still need something to describe the order and dependencies of those shell scripts as well as when to run them (branches, tags) and how to handle the artifacts (expiry time, etc). Which should be, much preferably, something not Turing-complete, so you can make an UI for this. Draw the graph, etc etc. Take those parts out, and almost all what's left in .gitlab-ci.yml…

Turing complete? What? If your visual programming fuzzy whatzzit drops down to metal (shell commands in this case), just use the metal. I did get the git-runner to run locally. That was fun. Why do I have to commit my changes to my local branch so the git-runner can see them? MY CODE IS RIGHT THERE! I reiterate: Just use shell scripts.

> Turing complete? What?

You'll need to run the CI pipeline to figure out the execution graph. In a restricted language, you don't have to - it can just describe that graph.

> If your visual programming fuzzy whatzzit drops down to metal

I don't get you. Everything programming eventually drops down to metal one way or another. It is not about visual programming, it's about the appropriate languages. Shell scripts are not exactly appropriate to describe a graph. Especially a graph meant to be ran on a distributed system - so, really, *sh may be not the best fit here. Maybe you have some better idea, but I'm just afraid you'll end up with some shell-based DSL that would be no better than YAML, but suffer from all possible issues (for example, there's no concept of pure functions in shell scripting, so every CI run plan can take completely different shape)

Oh. If you're a person who likes all their configuration files being programs - then I won't argue as it'll be a matter of taste.

> Why do I have to commit my changes to my local branch so the git-runner can see them?

Yeah, I'm also disappointed in this. It was dismissed as "wontfix" a while ago https://gitlab.com/gitlab-org/gitlab-runner/issues/1545 and seems that it stays this way even now (they've deprecated `exec` at some point but then reconsidered).

Had to write myself an alias for `git commit --amend && gitlab-runner exec`

Re: Xcode 10 is now integrated with GitLab

#68
post #53

I've just imported some of my open source projects from GitHub to GitLab, not because I'm in panic mode due to MS, but because i wanted to try out GitLab again already for some time. I've used it once 2-3 years ago for a short time in a self-hosted version in a client project, and was mostly unhappy with it's perfomance. I thought it was mainly because it was running on very slow hardware, but the gitlab.com version…

Gitlab requires a lot of resources. We have a local Openstack cluster and were running GitLab on a small instance. It was a beast. Moved to a larger instance and it works beautifully even over the Internet from another ISP.

Re: Xcode 10 is now integrated with GitLab

#70

Earlier quoted context omitted.

Multi-stage? I dunno. Simplify your workflow? "just write `script: ./ci/build.bash` inside gitlab-ci.yaml" Yup. Then why have the YAML? I said shell script, not bash. The first "CI/CD" (as the kids now call it) I ever did was on Windows. Worked great.

> Multi-stage? I dunno. Simplify your workflow? How would you simplify testing on multiple systems/oses? Or have one project written be tested for multiple versions of that language (because you need backwards compatibility)? It's nice if your build system is as simple as make build test publish and only need to have it work on a Linux distribution of your choice, but some many projects, that's just not enough. Your…

I can't comment directly, obviously. All I have is my faith (irrational belief) that we can reengineer our workflows to ease our own suffering.

I used to create prepress (print manufacturing) software for Mac (old and new) & Windows. Multi platform, multi executables, multi language, multi target builds. It'd pull all the resource bundles (L10N/I18N), recreate the the screen shots, rebuild the PDFs (manuals, marcom). The QA box farm would rerun all the regressions (combo of VirtualPC and VMware boxes) on multiple versions of multiple OSes (eg Japanese Windows) with all the necessary drivers (eg security dongles, which totally sucked). We'd end up with CD images and downloadable zips on our private website for VARs and high end customers.

Seemed to work pretty good.

I used to do a lot of electronic medical records stuff. My team (of 4 core devs) supported five regional exchanges (the first to market), 80 hospitals plus all their partners, pharma scripts, labs (internal and external), feeds to the govt (eg CDC, SSI). Basically 100s of data feeds of every mutant format and protocol imaginable. At the time, all of the data had to be stored on each customer's servers. Meaning we had to deploy and support in situ. Meaning firewalls, reverse SSH, forklifting files into place, whatever was permitted. We did multiple builds per week. Most deploys were push. Some we had to setup as pulls. We implemented auto updates, but never had the QA/Test resources to achieve the necessary confidence, which was a shame.

Seemed to work pretty good.

Sure, today's cloud deploys are complicated in other ways. But the more stuff changes, the more it all looks the same.

PS- Rereading your comment... Maybe consider changing some of the steps from push to pull. I was super inspired by the architecture of postfix (email server). Trying to mimick it simplified a lot of my own efforts.

Post reply on HN