TGViewer
DEV: Рубиновые тона DEV: Рубиновые тона @dev_in_ruby_colors · 3.28K subscribers
Post #1154 2.22K
Немного расскажу о том, чем продолжилась эпопея с моими github actions и как go всем помог 😄 На паре стримов я рассказывал о том, как сделать свои действия для gh и опубликовать их на маркетплейсе.

Однако проблема была, в том, что я планировал их дальше усложнять и добавлять некую дополнительную логику. К сожалению, это привело к тому, что исходники (там используются сейчас файлы sh) стали напоминать сборники чёрной магии. Вероятно, для специалистов shell это не было бы проблемой, но я не особенно хорошо этот язык знаю.

Хотелось иметь возможность писать на привычном языке, где можно делать удобную обработку ошибок, проверку параметров и тому подобное. В результате, я решил переписать всю сложную логику на go, затем скомпилировать эти файлы для линукса, положить их в bin и вызывать оттуда во время исполнения действия.

Получилось нечто вот такое https://github.com/lokalise/lokalise-pull-action/pull/3/files Сделал простую программу для компиляции (тоже на го), чтобы выходной размер файлов был как можно меньше (они дополнительно ужимаются через upx). Дальше просто дело техники - поправить шаги, чтобы запускали эти бинарники. В целом, после первых тестов полёт нормальный, работает довольно шустро.

Так что вот ещё один пример, когда го может быть чрезвычайно полезен. К примеру, какой-нибудь ruby или elixir тут были бы, видимо, не слишком оптимальны. Да, Ruby в теории можно скомпилировать, но почти наверняка размер выходного файла окажется (не)приличным. Для Elixir пришлось бы делать контейнер docker, там разворачивать виртуальную машину erlang, это бы медленнее работало (хотя если вам известно другое решение - поделитесь!).
GitHub Use precompiled binaries (Go) by bodrovis · Pull Request #3 · lokalise/lokalise-pull-action GitHub action to download translation files from Lokalise TMS to your GitHub repository in the form of a pull request. - Use precompiled binaries (Go) by bodrovis · Pull Request #3 · lokalise/lokalise-pull-action
  • 🔥 17
  • 👍 3
  • 🤯 2
More from @dev_in_ruby_colors
  1. Sep 28, 2026Github буйствует
  2. Sep 26, 2026В этом уроке по абстрактной алгебре говорим про области целостности, делители нуля, характ…
  3. Sep 22, 2026А тем временем сказ о ведьмаке, потерявшем память, уже доступен в виде аудиокниги. Целых 1…
  4. Sep 20, 2026В этом уроке по абстрактной алгебре продолжаем говорить о кольцах: в частности о subrings…
  5. Sep 17, 2026Сделал обзор актуальных библиотек JS для сбора данных, 10 штук бодрых решений на все случа…
  6. Sep 13, 2026В общем, мне тут особо было нечего делать и я подумал создать небольшой скрипт для решения…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →