Commit b664d04
Changed files (4)
bin/package
@@ -0,0 +1,8 @@
+#!/bin/sh
+
+export RAILS_ENV=production
+export SECRET_KEY_BASE='package'
+
+rm -fr pkg
+bundle package --all
+bin/rake package:tarball
lib/tasks/package.rake
@@ -0,0 +1,9 @@
+# frozen_string_literal: true
+
+namespace :package do
+ desc "create a tarball"
+ task tarball: ['assets:clobber', 'assets:precompile'] do
+ require 'package'
+ Package.execute
+ end
+end
lib/package.rb
@@ -0,0 +1,39 @@
+# frozen_string_literal: true
+
+class Package
+ INCLUDED_FILES = [
+ ".ruby-version",
+ "BUILD",
+ "Gemfile*",
+ "Rakefile",
+ "app/**/*",
+ "bin/*",
+ "config.ru",
+ "config/**/*",
+ "db/**/*",
+ "lib/**/*",
+ "public/**/*",
+ "public/assets/.sprockets*",
+ "vendor/cache/**/*"
+ ].freeze
+
+ EXCLUDED_FILES = [
+ "config/database.yml",
+ "db/*.sqlite3",
+ /public\/packs-test/,
+ ].freeze
+
+ def self.execute
+ require 'rake/packagetask'
+
+ build = `git rev-parse --short HEAD`.strip
+ IO.write("./BUILD", build)
+ Rake::PackageTask.new("proof", build) do |package|
+ package.need_tar_gz = true
+ package.package_files.add INCLUDED_FILES
+ package.package_files.exclude EXCLUDED_FILES
+ #package.package_files.exclude { |path| path.start_with?(*EXCLUDED_FILES) }
+ end
+ Rake::Task['repackage'].invoke
+ end
+end
.gitignore
@@ -36,3 +36,6 @@
yarn-debug.log*
yarn-error.log*
package-lock.json
+vendor/cache
+pkg
+BUILD