diff --git a/.github/workflows/cd.backup b/.github/workflows/cd.backup deleted file mode 100644 index f2bddfd..0000000 --- a/.github/workflows/cd.backup +++ /dev/null @@ -1,60 +0,0 @@ -name: CD - -on: - # Publish on every approved PR - pull_request: - types: - - closed - branches: - - main - -permissions: - id-token: write - contents: write - packages: write - -jobs: - check: - name: check pr status - runs-on: ubuntu-latest - steps: - - name: check if PR is merged - uses: zmynx/github-actions/.github/actions/git/check-merge@feature/gha - - cd: - name: build - needs: [check] - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - - name: Generate Release using Docker - run: | - docker run \ - --interactive \ - --rm \ - -u $(id -u):$(id -g) \ - --volume .:/home/dev/project \ - throwtheswitch/madsciencelab-plugins:1.0.0 \ - ceedling release - - name: Upload Artifact - uses: actions/upload-artifact@v4 - with: - name: flowVC.out - path: ./build/artifacts/release/flowVC.out - - - name: Determine Release Info - id: release - uses: Fresa/trunk-based-release-versioning@main - - - name: Create Release - uses: softprops/action-gh-release@v2 - with: - tag_name: ${{ steps.release.outputs.version }} - files: ./build/release/flowVC.out - draft: true - prerelease: true - generate_release_notes: true diff --git a/.github/workflows/semantic-release.yml b/.github/workflows/cd.yml similarity index 94% rename from .github/workflows/semantic-release.yml rename to .github/workflows/cd.yml index f3c6570..0a670c8 100644 --- a/.github/workflows/semantic-release.yml +++ b/.github/workflows/cd.yml @@ -1,11 +1,11 @@ --- -name: Semantic Release +name: CD on: push: branches: - main - - remove_docker + - alpha jobs: semantic-release: @@ -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 diff --git a/.releaserc.json b/.releaserc.json new file mode 100644 index 0000000..551f8a9 --- /dev/null +++ b/.releaserc.json @@ -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" + ] +} diff --git a/.releaserc.prerelease.json b/.releaserc.prerelease.json new file mode 100644 index 0000000..f4c43ac --- /dev/null +++ b/.releaserc.prerelease.json @@ -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" + ] +} diff --git a/.releaserc.prerelease.yaml b/.releaserc.prerelease.yaml deleted file mode 100644 index d837b94..0000000 --- a/.releaserc.prerelease.yaml +++ /dev/null @@ -1,17 +0,0 @@ -plugins: - - "@semantic-release/commit-analyzer" - - "@semantic-release/release-notes-generator" - - "@semantic-release/changelog" - - "@semantic-release/github" - -branches: - - "+([0-9])?(.{+([0-9]),x}).x" - - main - - name: dev/* - prerelease: '${name.replace(/^dev\//g, "dev-")}' - - name: remove_docker/* - prerelease: '${name.replace(/^remove_docker\//g, "remove_docker-")}' - - name: feature/* - prerelease: '${name.replace(/^feature\//g, "feature-")}' - - name: hotfix/* - prerelease: '${name.replace(/^hotfix\//g, "hotfix-")}' \ No newline at end of file diff --git a/.releaserc.yaml b/.releaserc.yaml deleted file mode 100644 index 5531b87..0000000 --- a/.releaserc.yaml +++ /dev/null @@ -1,14 +0,0 @@ -plugins: - - "@semantic-release/commit-analyzer" - - "@semantic-release/release-notes-generator" - - "@semantic-release/changelog" - - "@semantic-release/git" - - "@semantic-release/github" - - assets: - -path: ./build/release/flowVC.out - -label: flowVC.out - -branches: - - "+([0-9])?(.{+([0-9]),x}).x" - - main - - remove_docker \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index a1031b8..982b522 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -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) diff --git a/README.org b/README.org index aba4c35..53724e6 100644 --- a/README.org +++ b/README.org @@ -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 @@ -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 with a "." (without the quotes) + #+begin_src shell + docker run -it --rm -v :/home/dev/project throwtheswitch/madsciencelab:latest + ceedling test:all + #+end_src +5. Build the executable + #+begin_src shell + docker run -it --rm -v :/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 + #+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 [optional scope]: @@ -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 +