acearchive / artifact-submit-action

A GitHub Action for submitting artifacts to Ace Archive

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

artifact-submit-action

This is a GitHub Action used to validate artifacts submitted to Ace Archive and upload submitted artifact files to the site.

Artifact submissions are JSON files in acearchive/artifact-submissions which are generated by a form on the Ace Archive site. This action does the following:

  • Validates the syntax of artifact submission against a schema.
  • Downloads files which do not have a file hash or a media type in their submission and updates the job's local clone of the repo to add them. A later step in the job can then commit these changes back to the repo.
  • Uploads files to Ace Archive.

Artifact files are stored in Cloudflare R2. Before a file is uploaded to R2, its hash is validated against the hash included in the JSON submission file to ensure it has not changed since it was manually reviewed.

Artifact metadata is stored in Cloudflare D1. This happens by POSTing a JSON document to submission-worker, which then adds the metadata to the database.

See the action.yaml for documentation of the input parameters. See acearchive/artifact-submissions for an example of this action in use.

Because this is a GitHub Action written in TypeScript, you need to compile it to JS and commit that generated code to the repo. You can do that like this:

npm run all
commit -am 'Commit generated code'

About

A GitHub Action for submitting artifacts to Ace Archive

License:MIT License


Languages

Language:TypeScript 99.6%Language:JavaScript 0.4%