Keeping artifacts on Tags

I am wondering if it is possible to prevent deletion of artifacts (e.g. expire_in: 1 week) only on tags.

What you could do is create a copy for the task that creates artifacts. Then set that to only run for tags and set the original to exclude tags. Then you can have different expire dates depending on if it’s a tag.

That’s correct. But If I want to re-deploy to an environment, that wouldn’t work as the job expects the artifacts to be available from the previous depends: jobs…

That’s an issue.
You might want to see if there’s a feature request already. And if not create one.