ansible / mazer

Experimental Ansible Galaxy Content Manager
GNU General Public License v3.0
114 stars 18 forks source link

`galaxy publish` command #118

Closed chouseknecht closed 5 years ago

chouseknecht commented 6 years ago

We've been given the green light to move forward with Artifact Build and Import Proposal

In support of that, Mazer needs to have a galaxy publish command that does the following, as taken directly from the proposal:

Once the archive is available on GitHub, the user will run the command mazer galaxy publish. Optionally, the user can pass the URL to the archive hosted on GitHub. If no URL is passed, Mazer will construct a default URL.

Mazer will do the following:

  • Interact with the Galaxy API to start the import process, passing the URL of the archive
  • Optionally, wait for the import to complete
  • Display results of the import

Galaxy server will do the following:

  • Download the release archive from GitHub
  • Perform any verification checks (same checks that were done locally by mazer build)
  • Run the static analysis / scoring process
  • Respond with results from the import

Galaxy server will store the following information:

  • Release commit SHA
  • Release download URL
  • Checksum of the release artifact
  • Release version
  • Results of verification process
  • Results of the scoring process
chouseknecht commented 6 years ago

Based on changes to the Artifact Build and Import Proposal, the publish command will perform a multi-part upload of the artifact to the Galaxy server, and the server will in turn initiate an import.

Mazer will provide a way for the user to override the Galaxy server URL, so that Mazer can push to any service that accepts multi-part file uploads (e.g., Pulp).