With single branch code management, Release/Tag management while promoting code from DEV --> Test --> QA --> PROD environments

In my environment we are using only feature branches for active development and main branch to push code to DEV. Later we planned to push code to higher environments depends on the stable release/Tag .

I’ve Tag V0.01, V0.02, V0.03, V0.04 on the repo.

I have V0.01 in PROD, V0.02 in UAT, V0.03 in TEST and V0.04 in DEV.

How can I mark what is the latest tag in a specific environment using GitHub actions YAML.
How can I manage the rollback to old tag i.e. if I rollback how can I move the environment tagging from higher tag to old tag.

Example: I rolled back V0.03 from TEST i.e I redeployed V0.01 in TEST then how automatically GitHub actions YAML will update the ENV information to proper tag.

Any help?

Now the question I’ve is