Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

build: update to create a standalone executable #66

Merged
merged 25 commits into from
Oct 23, 2024

Conversation

dbhart
Copy link
Collaborator

@dbhart dbhart commented Oct 22, 2024

Issue

There have been several individuals who have let the developers know that their employers will not permit them to install Python on their systems at a system or user level. However, they are authorized to install a standalone program that would run sansmic.

Solution

The pyinstaller package provides the ability to create a standalone executable from python and compiled code. This PR pulls in the build instructions to create a standalone package and updates the CI architecture to create such a package when a release is created. The executable and libraries are zipped into a file that is signed and uploaded to the release as an artifact.

@dbhart dbhart added enhancement New feature or request github_actions Pull requests that update GitHub Actions code labels Oct 22, 2024
@dbhart dbhart requested review from tzeitle and hgmaure October 22, 2024 15:49
Copy link

codecov bot commented Oct 22, 2024

Codecov Report

Attention: Patch coverage is 50.00000% with 1 line in your changes missing coverage. Please review.

Please upload report for BASE (staging@2c5b730). Learn more about missing BASE report.

Additional details and impacted files
@@            Coverage Diff             @@
##             staging      #66   +/-   ##
==========================================
  Coverage           ?   88.01%           
==========================================
  Files              ?        8           
  Lines              ?     2002           
  Branches           ?        0           
==========================================
  Hits               ?     1762           
  Misses             ?      240           
  Partials           ?        0           
Components Coverage Δ
python code 85.07% <0.00%> (?)
C++ code ∅ <0.00%> (?)
tests 99.75% <0.00%> (?)

@dbhart dbhart merged commit 36701e8 into sandialabs:staging Oct 23, 2024
6 checks passed
@dbhart dbhart deleted the executable branch October 23, 2024 15:36
dbhart added a commit that referenced this pull request Oct 23, 2024
build: update to create a standalone executable (#66)

* ci: add executable to release workflow

* ci: modify semantic-release pr requests to choose between release and chore

* docs: update readme to show standalone version is available

* ci: create reusable testing workflow

---------

Signed-off-by: David Hart <[email protected]>
Co-authored-by: David Hart <[email protected]>
dbhart added a commit that referenced this pull request Oct 23, 2024
* build: update to create a standalone executable (#66)

* ci: add executable to release workflow

* ci: modify semantic-release pr requests to choose between release and chore

* docs: update readme to show standalone version is available

Signed-off-by: David Hart <[email protected]>

* ci: create reusable testing workflow

Signed-off-by: David Hart <[email protected]>

---------

Signed-off-by: David Hart <[email protected]>

* refactor(cpp): abstract out a BaseModel class for API clarity (#71)

* refactor: change the way logging is done, make output directories more explicit (not enforced yet)

* refactor: modify logging output formats

* refactor: move certain elements out of Model into a BaseModel

* ci: Check output of a continuous release process

* ci: modify semantic-release pr requests to choose between release and chore

* refactor(version): move location of version number to avoid circular imports

* refactor(test): fix test to match refactor of license and copyright text names

* ci(test): Test using re-usable workflow for testing

* ci(test): update test workflows to use same reusable workflow underneath

* ci(test): create separate tests for each of the OSes

* ci(testsuite): change titles of os-specific workflows for brevity

* release: 1.0.3

Automatically generated by python-semantic-release

---------

Signed-off-by: David Hart <[email protected]>
Co-authored-by: David Hart <[email protected]>
Co-authored-by: github-actions <[email protected]>
dbhart added a commit that referenced this pull request Oct 23, 2024
* chore: Merge non-code changes into main (#69)

build: update to create a standalone executable (#66)

* ci: add executable to release workflow

* ci: modify semantic-release pr requests to choose between release and chore

* docs: update readme to show standalone version is available

* ci: create reusable testing workflow

---------

Signed-off-by: David Hart <[email protected]>
Co-authored-by: David Hart <[email protected]>

* release: Merge into main and create tag as v1.0.3 (#72)

* build: update to create a standalone executable (#66)

* ci: add executable to release workflow

* ci: modify semantic-release pr requests to choose between release and chore

* docs: update readme to show standalone version is available

Signed-off-by: David Hart <[email protected]>

* ci: create reusable testing workflow

Signed-off-by: David Hart <[email protected]>

---------

Signed-off-by: David Hart <[email protected]>

* refactor(cpp): abstract out a BaseModel class for API clarity (#71)

* refactor: change the way logging is done, make output directories more explicit (not enforced yet)

* refactor: modify logging output formats

* refactor: move certain elements out of Model into a BaseModel

* ci: Check output of a continuous release process

* ci: modify semantic-release pr requests to choose between release and chore

* refactor(version): move location of version number to avoid circular imports

* refactor(test): fix test to match refactor of license and copyright text names

* ci(test): Test using re-usable workflow for testing

* ci(test): update test workflows to use same reusable workflow underneath

* ci(test): create separate tests for each of the OSes

* ci(testsuite): change titles of os-specific workflows for brevity

* release: 1.0.3

Automatically generated by python-semantic-release

---------

Signed-off-by: David Hart <[email protected]>
Co-authored-by: David Hart <[email protected]>
Co-authored-by: github-actions <[email protected]>

---------

Signed-off-by: David Hart <[email protected]>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions <[email protected]>
dbhart added a commit to dbhart/sansmic that referenced this pull request Oct 29, 2024
* release: Merge into main and create tag as v1.0.3 (sandialabs#72)

* build: update to create a standalone executable (sandialabs#66)

* ci: add executable to release workflow

* ci: modify semantic-release pr requests to choose between release and chore

* docs: update readme to show standalone version is available

Signed-off-by: David Hart <[email protected]>

* ci: create reusable testing workflow

Signed-off-by: David Hart <[email protected]>

---------

Signed-off-by: David Hart <[email protected]>

* refactor(cpp): abstract out a BaseModel class for API clarity (sandialabs#71)

* refactor: change the way logging is done, make output directories more explicit (not enforced yet)

* refactor: modify logging output formats

* refactor: move certain elements out of Model into a BaseModel

* ci: Check output of a continuous release process

* ci: modify semantic-release pr requests to choose between release and chore

* refactor(version): move location of version number to avoid circular imports

* refactor(test): fix test to match refactor of license and copyright text names

* ci(test): Test using re-usable workflow for testing

* ci(test): update test workflows to use same reusable workflow underneath

* ci(test): create separate tests for each of the OSes

* ci(testsuite): change titles of os-specific workflows for brevity

* release: 1.0.3

Automatically generated by python-semantic-release

---------

Signed-off-by: David Hart <[email protected]>
Co-authored-by: David Hart <[email protected]>
Co-authored-by: github-actions <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request github_actions Pull requests that update GitHub Actions code
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant