MySQL · 1247 bytes Raw Blame History
1 -- SPDX-License-Identifier: AGPL-3.0-or-later
2
3 -- name: InsertArtifact :one
4 INSERT INTO workflow_artifacts (run_id, name, object_key, byte_count, expires_at)
5 VALUES ($1, $2, $3, $4, $5)
6 RETURNING id, run_id, name, object_key, byte_count, expires_at, created_at;
7
8 -- name: ListArtifactsForRun :many
9 SELECT id, name, object_key, byte_count, expires_at, created_at
10 FROM workflow_artifacts
11 WHERE run_id = $1
12 ORDER BY name ASC;
13
14 -- name: GetArtifactByID :one
15 SELECT id, run_id, name, object_key, byte_count, expires_at, created_at
16 FROM workflow_artifacts
17 WHERE id = $1;
18
19 -- name: ListExpiredWorkflowArtifactsForCleanup :many
20 SELECT id, object_key
21 FROM workflow_artifacts
22 WHERE expires_at < $1
23 AND object_key LIKE 'actions/runs/%'
24 ORDER BY expires_at ASC, id ASC
25 LIMIT $2;
26
27 -- name: DeleteWorkflowArtifactsByIDs :execrows
28 DELETE FROM workflow_artifacts
29 WHERE id = ANY($1::bigint[]);
30
31 -- name: ListArtifactObjectKeysForRun :many
32 -- Used by the run-delete REST handler to drive a best-effort S3
33 -- cleanup after the workflow_runs row (and its cascaded
34 -- workflow_artifacts rows) have been removed.
35 SELECT object_key
36 FROM workflow_artifacts
37 WHERE run_id = $1;
38
39 -- name: DeleteWorkflowArtifactByID :execrows
40 DELETE FROM workflow_artifacts WHERE id = $1;
41