For this week lab we were tasked with set up of CI Workflow in our own GitHub project that we created earlier this semester. I've already set it up, but would like to describe this process later on this blog. Also we were supposed to write at least one unit test for our group mate's project, which in my case written in different language -- Rust.
For me it was a magic to see how my pull request is getting tested in other projects. This time it's my turn to deploy it in my own project. I opened Actions tab, and searched for Java CI with Maven. I pressed Configure and .yml file appeared.
Here's how it looked like:
Afterwards, I pushed my changes, opened pull-request and witnessed my own magic.
Here's result:
Linter, Code Formatter and Test
Sometime later I added to my project linter, code formatter and test, found a way how to integrate them to my workflow.
Result:
As always I picked project by Theo. His project written in Rust.
Differences
In Rust testing looks different. In Java you have to create a different folder called test and implement each test in separate file inside of earlier created folder. Unlike Java, you must implement all the tests inside of the file, where function that you want to test is implemented.
I had to implement function located inside of chat_completions.rs.
Result:
If you take a closer look, my test implementation is inside of chat_completions.rs.
Dev Container is a remote environment that allows all contributors to work in the same environment. It is cool feature that I didn't know about before.
To set it up in Intellij Idea I had to create a folder .devcontainer and create a config file devcontainer.json.
GitHub CI Action Workflow is amazing thing that was a magic for me before! I really enjoyed this lab. I learned new things, pretty much everything was new to me!
The above is the detailed content of CI GitHub Action Workflow. For more information, please follow other related articles on the PHP Chinese website!