diff --git a/.github/workflows/nightly-build.yml b/.github/workflows/nightly-build.yml new file mode 100644 index 000000000000..44d699d90f40 --- /dev/null +++ b/.github/workflows/nightly-build.yml @@ -0,0 +1,95 @@ +name: Nightly Build + +env: + OPENBB_ENABLE_QUICK_EXIT: true + OPENBB_LOG_COLLECT: false + OPENBB_USE_ION: false + OPENBB_USE_PROMPT_TOOLKIT: false + PIP_DEFAULT_TIMEOUT: 100 + PYTHONNOUSERSITE: 1 + +on: + schedule: + - cron: "0 0 * * *" + push: + branches: + - develop + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + Windows-Build: + name: Windows10 Build + runs-on: [self-hosted, Windows, x64] + # Configuring ------------- + steps: + - name: Setup Windows Git Configuration # This is under the assumption that git is already installed on the system + run: | + Set-ItemProperty 'HKLM:\System\CurrentControlSet\Control\FileSystem' -Name 'LongPathsEnabled' -value 1 + git config --system core.longpaths true + - name: Checkout + uses: actions/checkout@v2.4.2 + - name: Activate Base & Create OpenBB Environment + run: | + conda activate base + conda env create -n obb --file build/conda/conda-3-9-env-full.yaml + conda init + conda activate obb + conda env list + - name: Poetry Install + # Conda activate needs to be run every time because of the way that the workflow steps work + # on powershell where it creates a new shell every time for every step + run: | + conda activate obb + poetry install + - name: Poetry Install Portfolio Optimization and Forecasting Toolkits + run: | + conda activate obb + poetry install -E all + - name: Poetry Install Installer + run: | + conda activate obb + poetry install -E installer + - name: Install Specific Papermill + run: | + conda activate obb + pip uninstall papermill -y + pip install git+https://github.com/nteract/papermill.git@main + # Building ------------ + - name: Build Terminal.spec file + run: | + conda activate obb + pyinstaller build/pyinstaller/terminal.spec --clean + - name: Move Files into App Folder + run: cp -r .\dist\OpenBBTerminal\ .\build\nsis\app\ + # don't need this because log collection is turned off + # - name: Remove Log Data + # run: Remove-Item .\build\nsis\app\openbb_terminal\logs\ -Recurse + - name: Build Exe File + run: | + conda activate obb + C:\'.\Program Files (x86)\'\nsis\makensis.exe .\build\nsis\setup.nsi + - name: Save Build Artifact + uses: actions/upload-artifact@v3 + with: + name: Windows EXE Artifact + path: '.\build\nsis\OpenBB Terminal Setup.exe' + - name: Run Integration Tests + run: | + dist\OpenBBTerminal\OpenBBTerminal.exe C:\Users\Administrator\actions-runner\_work\OpenBBTerminal\OpenBBTerminal\openbb_terminal\miscellaneous\scripts -t + # Cleaning ------------------------ + # Make sure to add Remove-Item C:\Users\Administrator\Desktop\OPENBB-exports -Recurse whenever integration tests get fixed + - name: Remove Previous Build + run: | + Remove-Item '.\build\nsis\OpenBB Terminal Setup.exe' -Recurse + Remove-Item .\build\nsis\app\ -Recurse + Remove-Item .\dist\ -Recurse + Remove-Item .\build\terminal\ -Recurse + - name: Deactivate & Remove Conda Environment + run: | + conda deactivate obb + conda deactivate base + conda env remove -n obb + Remove-Item C:\Users\Administrator\miniconda3\envs\obb\ -Recurse diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index d6b387d10f85..13db6ba0dabd 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -5,6 +5,7 @@ env: OPENBB_USE_ION: false OPENBB_USE_PROMPT_TOOLKIT: false PIP_DEFAULT_TIMEOUT: 100 + on: [workflow_dispatch] jobs: diff --git a/.github/workflows/unit-test.yml b/.github/workflows/unit-test.yml index 5e3e04193554..48514e180122 100644 --- a/.github/workflows/unit-test.yml +++ b/.github/workflows/unit-test.yml @@ -13,6 +13,10 @@ on: - develop - main types: [opened, synchronize] + push: + branches: + - develop + - main concurrency: group: ${{ github.workflow }}-${{ github.ref }} @@ -97,7 +101,7 @@ jobs: name: Vanilla Python Tests - ${{ matrix.python-version }} needs: [python-changes, base-test] runs-on: ${{ matrix.os }} - if: needs.python-changes.outputs.python-changes == 'true' && github.event.pull_request.base.ref == 'develop' + if: needs.python-changes.outputs.python-changes == 'true' && github.event.pull_request.base.ref == 'develop' && github.event.pull_request.merged != true strategy: fail-fast: true matrix: diff --git a/gitflow.py b/gitflow.py new file mode 100644 index 000000000000..7df869a15e76 --- /dev/null +++ b/gitflow.py @@ -0,0 +1 @@ +print("Hello, World!") diff --git a/tests/test_helpers.py b/tests/test_helpers.py index dbfc099b9344..5ceecf9070e0 100644 --- a/tests/test_helpers.py +++ b/tests/test_helpers.py @@ -8,4 +8,4 @@ def no_dfs(args: list, kwargs: dict) -> bool: for item in kwargs.values(): if isinstance(item, pd.DataFrame): return False - return True + return True \ No newline at end of file