Ci::Build#erase_artifacts! doesn't update `erased_at`

Summary

Ci::Build model has the following public interfaces.

    def erase_old_trace!
    def erase_artifacts!
    def erase(opts = {})
    def erased?

    private

    def erase_trace!
    def update_erased!(user = nil)

The problem is erase_artifacts! and erase_old_trace! will not mark the job as erased?. I feel this is semantically wrong. If it's erased, it should be marked as erased?.

Probably we should move erase_artifacts! and erase_old_trace! to private, and have a single interface erase.

/cc @ayufan @grzesiek

Assignee Loading
Time tracking Loading