diff --git a/.github/workflows/release_created.yml b/.github/workflows/release_created.yml index 13ccdc2..b9949b8 100644 --- a/.github/workflows/release_created.yml +++ b/.github/workflows/release_created.yml @@ -27,3 +27,61 @@ jobs: with: push: true tags: runbooksolutions/agent:latest, runbooksolutions/agent:${{ github.event.release.tag_name }} + pyinstaller-build: + runs-on: ${{ matrix.os }} + strategy: + matrix: + include: + - os: windows-latest + output: RBSAgent.exe + - os: ubuntu-latest + output: RBSAgent + - os: macos-latest + output: RBSAgent.app + steps: + - name: Checkout code + uses: actions/checkout@v2 + - name: Build and Publish Executable + uses: sayyid5416/pyinstaller@v1 + with: + python_ver: '3.9' # Adjust the Python version as needed + spec: 'app.py' # Adjust the path to your .spec or .py file + requirements: 'requirements.txt' # Adjust the path to your requirements.txt file + upload_exe_with_name: ${{matrix.output}} # Adjust the desired artifact name + options: --onefile, --name "RBSAgent", --windowed + upload-release-assets: + runs-on: ubuntu-latest + needs: [pyinstaller-build] + steps: + - name: Checkout code + uses: actions/checkout@v2 + - uses: actions/download-artifact@v3 + with: + path: ./dist + - name: Upload Release Asset Windows + uses: actions/upload-release-asset@v1.0.1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + upload_url: ${{ github.event.release.upload_url }} # This pulls from the CREATE RELEASE step above, referencing it's ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps + asset_path: ./dist + asset_name: RBSAgent.exe + asset_content_type: application/x-executable + - name: Upload Release Asset Linux + uses: actions/upload-release-asset@v1.0.1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + upload_url: ${{ github.event.release.upload_url }} # This pulls from the CREATE RELEASE step above, referencing it's ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps + asset_path: ./dist + asset_name: RBSAgent + asset_content_type: application/x-executable + - name: Upload Release Asset Linux + uses: actions/upload-release-asset@v1.0.1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + upload_url: ${{ github.event.release.upload_url }} # This pulls from the CREATE RELEASE step above, referencing it's ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps + asset_path: ./dist + asset_name: RBSAgent + asset_content_type: application/x-executable \ No newline at end of file diff --git a/.gitignore b/.gitignore index 92d77a0..46f483e 100644 --- a/.gitignore +++ b/.gitignore @@ -3,4 +3,7 @@ run OLD hosts test.py -__pycache__ \ No newline at end of file +__pycache__ +app.spec +build +dist \ No newline at end of file diff --git a/README.md b/README.md index aab0731..38a9abd 100644 --- a/README.md +++ b/README.md @@ -176,6 +176,10 @@ For those implementing a custom backend for the Agent, it's crucial to provide t Understanding these API requests empowers users to integrate the RunbookSolution Agent seamlessly into their infrastructure or develop custom functionalities, enhancing the overall capabilities of the system. +For additional information about the expected responses refer to the [Expected Server Responses](docs/Responses.md) page. + +> Note: A Proof-of-Concept backend is available in the [agent_backend](https://github.com/RunbookSolutions/agent_backend) repository. + ## Additional Notes ### Creating a Keytab File