Utopia? ABAP preview deployments without infrastructure

In open source ABAP, we manage the ABAP code in git, creating branches for each change. Each branch/pull request is reviewed and testing before being merged.

As part of the pull request, static analysis is automatically performed, and unit tests are automatically run.

However, if the reviewer wants to try the application, the code must be manually pulled into a system. This is manual work, what if this could be avoided?

Preview deployments

With preview deployments, each commit to a pull request is automatically deployed so it can be run by the developer and/or reviewer, making it easy to test, and easy to figure out when/if something broke.

The blog post Writing multitarget ABAP applications introduced a open source single page application(SPA), with backend state, which is a good example for testing preview deployments.

Using webpack, the transpiled ABAP code, along with a SQLite database, is transformed to static pages, which can be served via GitHub pages.

Note that the ABAP application code stays the same, just where it is run and how it receives the REST calls is changed. Instead of fetch() to a backend server, the fetch is monkey patched to redirect the request to JavaScript code running in the browser.

Check it out

All relevant code can be found on github, and an example in

https://github.com/open-abap/open-table-maintenance/pull/42

Click the link and it will open the application, be patient, loading still has to be optimized 🤠

Questions/comments welcome