Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
60 changes: 0 additions & 60 deletions .github/workflows/cd.backup

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
---
name: Semantic Release
name: CD

on:
push:
branches:
- main
- remove_docker
- alpha

jobs:
semantic-release:
Expand Down Expand Up @@ -39,7 +39,7 @@ jobs:

- name: Prepare prerelease semantic
if: github.ref != 'refs/heads/main'
run: mv .releaserc.prerelease.yaml .releaserc.yaml
run: mv .releaserc.prerelease.json .releaserc.json

- name: Semantic Release
uses: cycjimmy/semantic-release-action@v4
Expand Down
17 changes: 17 additions & 0 deletions .releaserc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{
"plugins": [
"@semantic-release/commit-analyzer",
"@semantic-release/release-notes-generator",
"@semantic-release/changelog",
[
"@semantic-release/github",
{
"assets": ["build/release/flowVC.out"]
}
],
"@semantic-release/git"
],
"branches": [
"main"
]
}
18 changes: 18 additions & 0 deletions .releaserc.prerelease.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"plugins": [
"@semantic-release/commit-analyzer",
"@semantic-release/release-notes-generator",
"@semantic-release/changelog",
[
"@semantic-release/github",
{
"assets": ["build/release/flowVC.out"]
}
],
"@semantic-release/git"
],
"branches": [
"main",
"alpha"
]
}
17 changes: 0 additions & 17 deletions .releaserc.prerelease.yaml

This file was deleted.

14 changes: 0 additions & 14 deletions .releaserc.yaml

This file was deleted.

7 changes: 7 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,10 @@
## [0.0.4](https://github.com/bkm82/flowVC/compare/v0.0.3...v0.0.4) (2025-02-08)


### Bug Fixes

* remove token and use default ([#18](https://github.com/bkm82/flowVC/issues/18)) ([21b8c7f](https://github.com/bkm82/flowVC/commit/21b8c7fc8386f10d3a87d1f93acc3c16d1d025df))

## [0.0.3](https://github.com/bkm82/flowVC/compare/v0.0.2...v0.0.3) (2025-02-07)


Expand Down
65 changes: 47 additions & 18 deletions README.org
Original file line number Diff line number Diff line change
Expand Up @@ -18,28 +18,27 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

** Installation
*** Binaries
This project has a pre-compiled binary for linux in the releases.

*** Development
**** Dependencies
[[https://www.ruby-lang.org/en/][Ruby]] > v 3.0: A programing language used for Ceedling
*** Automated Release
If you are on ubuntu, the code here can be ran directly using the compiled binary in the latest release. Otherwise follow the instructions below for building the source code from the source code .

*** Build From Source
To build the code from source the there are two options. The first option involved installing Ceedling and its dependencies. Alternativly, if you have docker, you can download the docker image with the dependencies all bundeled together.

[[https://github.com/ThrowTheSwitch/Ceedling][Ceedling]] : A collection of tools for C project including Unity and CMock for testing
**** Ceedling
***** Dependencies
[[https://www.ruby-lang.org/en/][Ruby]] > v 3.0: A programing language used for Ceedling

gcovr: a code coverage reporter
[[https://github.com/ThrowTheSwitch/Ceedling][Ceedling]] : Ceedling is a Test-Centered Build System for C. It utilizes a collection of tools for testing (Unity) and mocking (CMock)

**** Instalation
1. Install [[https://www.ruby-lang.org/en/][Ruby]]
***** Instalation
1. Install [[https://www.ruby-lang.org/en/][Ruby]] by refering to the ruby documentation for your operating system.

2. Install Ceedling gem from the RubyGems repository
#+begin_src shell
gem install ceedling
#+end_src
3. Install gcovr
#+begin_src shell
sudo apt install gcovr
#+end_src

4. Clone the repository
#+begin_src shell
https://github.com/bkm82/flowVC.git
Expand All @@ -54,14 +53,43 @@ gcovr: a code coverage reporter
#+begin_src shell
ceedling release
#+end_src
this will create the ./build/release/flowVC.out executable



this will create the ./build/release/flowVC.out executable that you can run.

**** Guidlines
**** Docker
Alternatly, if you dont want to install the tooling and would prefer to use a docker container you can do that

***** Semantic Versioning:
1. Install docker (outside the scope of this documentation)
2. Clone the repository
#+begin_src shell
https://github.com/bkm82/flowVC.git
cd flowVC
#+end_src

3. Pull the docker image from docker hub [[https://hub.docker.com/r/throwtheswitch/madsciencelab][madsciencelab]]
#+begin_src shell
docker pull throwtheswitch/madsciencelab:latest
#+end_src
4. Run the tests: if you are in the flowVC directory you can replace the <local project path> with a "." (without the quotes)
#+begin_src shell
docker run -it --rm -v <local project path>:/home/dev/project throwtheswitch/madsciencelab:latest
ceedling test:all
#+end_src
5. Build the executable
#+begin_src shell
docker run -it --rm -v <local project path>:/home/dev/project throwtheswitch/madsciencelab:latest
ceedling release
#+end_src
6. This will create the ./build/release/flowVC.out executable. NOTE: as this was compiled using a linux (Ubuntu) docker container, this might not work if you are on another operating system. In that case you can run the command through the docker container (i.e.)
#+begin_src shell
docker run -it --rm -v .:/home/dev/project throwtheswitch/madsciencelab:latest
.build/release/flowVC.out <input file>
#+end_src

**** Make
The third option is to compile the source code using the provided Make file, however this file is not currently part of the CI/CD pipeline so there may be compilation bugs. Issue reports and/or contributions are welcome
** Development Guidlines
*** Semantic Versioning:
This project intends to use a Trunk-Based Release with semantic versioning. Commit messages should follow [[https://www.conventionalcommits.org/en/v1.0.0/][conventional commits]]
#+begin_src shell
<type>[optional scope]: <description>
Expand All @@ -71,3 +99,4 @@ Where the type determines the version updates.

Valid types are fix, feat, BREAKING CHANGE, build, chore, ci, docs, style, refactor, perf, test