Java makes it surprisingly easy to manage and package complex projects using Apache Maven. One question I'm frequently asked -- how does this integrate with GitHub Actions? Turns out that the answer is "surprisingly well!"
If you can code it, someone will find a way to exploit it ( accidentally or intentionally). Anytime development efforts are involved, it's important to minimize security risks and bugs. This is also true with GitHub Actions, which allows you to script advanced automation solutions. Because of this, it's important to understand where injection can occur and how to avoid it.
Git has some interesting behaviors built into it. For example, it makes it easy to squash a set of commits into a single commit. This creates a very simple history. But what happens if that history that you're eliminating has a tag applied to it? Does that tag get eliminated? Does it point to the newly squashed commit? Today's article explores what to expect in that situation … and why.