Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ruby gem overmind #176

Merged
merged 4 commits into from
Mar 25, 2024
Merged

Ruby gem overmind #176

merged 4 commits into from
Mar 25, 2024

Conversation

prog-supdex
Copy link
Collaborator

This PR adds the ability to generate gem files that pack the overmind library with dependencies tmux into a gem file for various architectures of the Linux and macos platforms by running a rake task overmind:build:all.

It also prepares the gem file for FreeBSD, but without tmux in the box

The rake task will download the overmind and tmux binaries and package them into a platform-specific gem.

To build the gem files, you need to have Ruby >= 3.0.

This PR also adds a NOTICE file and additional information to the README.md.

NOTICE Outdated
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is the purpose of this notice file? Why we need it?

# frozen_string_literal: true

module Overmind
VERSION = "0.1.2"
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's keep it in sync with overmind itself!

Suggested change
VERSION = "0.1.2"
VERSION = "2.4.0"

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done!

# Class for downloading Overmind binaries.
class OvermindDownloader < BaseDownloader
NAME = "overmind"
DEFAULT_VERSION = "2.4.0"
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's use here gem version also (if we keep it in sync with overmind one)

Suggested change
DEFAULT_VERSION = "2.4.0"
DEFAULT_VERSION = ::Overmind::VERSION

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done!

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Missing steps to build tmux and what are pre-requisites (having Overmind itself already released on GitHub, right?)

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks, I added to RELEASING.md

Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we need a separate changelog?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I removed it

args = args.map { |x| x.include?(" ") ? "'#{x}'" : x }

# Use prebuild tmux if found
path_with_tmux = File.exist?(TMUX_PATH) ? "#{ENV["PATH"]}:#{TMUX_FOLDER_PATH}" : ENV["PATH"]
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If we want to always use bundled tmux, its path should be prepended, not appended

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks, fixed!

NOTICE Outdated
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe this should be located in packaging/rubygems and should be included in the gem. Also, it should contain licenses of tmux deps

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done!

@Envek Envek merged commit 6b30a8e into DarthSim:master Mar 25, 2024
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants