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 POST
ing 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'