LabSid-USP/RUBEM

Implement GitHub Actions Workflow for Building and Releasing Application

Closed this issue · 0 comments

Describe the solution you'd like

  • I would like to replace the existing manual building and releasing the application with a GitHub Actions workflow. This workflow should be triggered whenever a new tag is pushed to the repository. The tag name should be used as the version for the software. The workflow should perform the following steps:

    1. Checkout the repository.
    2. Set up Python.
    3. Install the necessary dependencies.
    4. Create the version file using pyinstaller_versionfile.
    5. Create the software package with PyInstaller.
    6. Compress the package into a zip file.
    7. Test the zip file.
    8. Compute the SHA512 hash of the zip file.
    9. Upload the zip file and the hash file as artifacts.
    10. Create a GitHub release with the version name and upload the zip file as a release asset.

Describe alternatives you've considered

  • An alternative solution would be to create a Python script and manually trigger it whenever a new release needs to be built. However, this solution is not as automated and may lead to errors if the script is not run correctly.

Additional context

  • This new workflow will make the release process more automated and less error-prone. It will also allow us to track the history of our releases and their corresponding artifacts directly on GitHub.