apsislabs / phi_attrs

HIPAA compliant PHI access logging for Ruby on Rails.
MIT License
27 stars 3 forks source link

Bundle from a manifest #69

Closed egreer closed 1 year ago

egreer commented 1 year ago

This removes the git ls-files -z dependancy in file listing for inclusion in the gem. This should remove the issues in the deployment action

fatal: detected dubious ownership in repository at '/github/workspace'
To add an exception for this directory, call:

    git config --global --add safe.directory /github/workspace

I chose to go with an explicit manifest set of patterns as it seemed the easiest to control. I tired reading the .gitignore file with something like:

  (Dir['**/**/*'] - Dir.glob(File.read('.gitignore').split("\n"))).reject do |f|
    f.match(%r{^(test|spec|features|coverage|docker|bin|.github)/})
  end

But Dir.glob doesn't process the same patterns as .gitignore so it included a bunch of extra files. (There were also a bunch of extra files with git ls-files -z like the docker files and bin files that were are including unnecessarily)

The best library to match the git results seemed to be https://github.com/robotdana/fast_ignore but getting it to install in bundler ahead of the other gems seemed more complicates.

-This also splits the bundle caches (doesn't resolve local issues but just in case the two versions are interfering with each other)