This change updates the build code to support in-tree builds. This is easier to manage for CI builds and reduces the amount of IO operations necessary for the build process.
This change adds a Github Actions workflow to build pull requests from the same repository to test whether they can be merged and released.