Class: Moonshot::ArtifactRepository::S3BucketViaGithubReleases
- Includes:
- BuildMechanism, Shell
- Defined in:
- lib/moonshot/artifact_repository/s3_bucket_via_github_releases.rb
Overview
S3 Bucket repository backed by GitHub releases. If a SemVer package isn’t found in S3, it is copied from GitHub releases.
Instance Attribute Summary
Attributes inherited from S3Bucket
Attributes included from ResourcesHelper
Instance Method Summary collapse
-
#filename_for_version(version) ⇒ Object
If release version, transfer from GitHub to S3.
-
#store_hook(build_mechanism, version) ⇒ Object
If release version, transfer from GitHub to S3.
Methods included from Shell
Methods inherited from S3Bucket
Methods included from DoctorHelper
Methods included from CredsHelper
#as_client, #cd_client, #cf_client, #ec2_client, #iam_client, #s3_client
Constructor Details
This class inherits a constructor from Moonshot::ArtifactRepository::S3Bucket
Instance Method Details
#filename_for_version(version) ⇒ Object
TODO:
This is a super hacky place to handle the transfer, give
If release version, transfer from GitHub to S3. artifact repositories a hook before deploy.
36 37 38 39 40 41 42 |
# File 'lib/moonshot/artifact_repository/s3_bucket_via_github_releases.rb', line 36 def filename_for_version(version) s3_name = super if !@output_file && release?(version) && !in_s3?(s3_name) github_to_s3(version, s3_name) end s3_name end |
#store_hook(build_mechanism, version) ⇒ Object
If release version, transfer from GitHub to S3.
17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/moonshot/artifact_repository/s3_bucket_via_github_releases.rb', line 17 def store_hook(build_mechanism, version) if release?(version) if (@output_file = build_mechanism.output_file) attach_release_asset(version, @output_file) # Upload to s3. super else # If there is no output file, assume it's on GitHub already. transfer_release_asset_to_s3(version) end else super end end |