From 78545719b1744265a92c620cc3bbe0a3b45d504b Mon Sep 17 00:00:00 2001 From: kenorb Date: Thu, 22 Aug 2024 17:15:48 +0100 Subject: [PATCH] GHA: Compile: Fixes Compile workflow --- .github/workflows/compile.yml | 118 +++++++++++++++++----------------- 1 file changed, 58 insertions(+), 60 deletions(-) diff --git a/.github/workflows/compile.yml b/.github/workflows/compile.yml index 5385959..8c64a41 100644 --- a/.github/workflows/compile.yml +++ b/.github/workflows/compile.yml @@ -19,86 +19,84 @@ on: - '.git*' jobs: - Compile-EA: - defaults: - run: - shell: powershell - runs-on: windows-latest + checkout-classes: + name: Checkout Classes repo + runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 with: - submodules: 'recursive' - - uses: actions/checkout@v2 - with: - path: Include/EA31337-classes ref: v3.000.1 repository: EA31337/EA31337-classes - - name: Enables input mode - run: echo '#define __input__' > config/define.h - - name: Compile strategy for MQL4 - uses: fx31337/mql-compile-action@master - with: - include: . - init-platform: true - mt-version: 5.0.0.2361 - path: Stg_TMAT_SVEBB.mq4 - verbose: true - - name: Compile strategy for MQL5 - uses: fx31337/mql-compile-action@master - with: - include: . - mt-version: 5.0.0.2515 - path: Stg_TMAT_SVEBB.mq5 - verbose: true - - name: List compiled files - run: '(Get-ChildItem -Recurse -Path . -Include *.ex[45]).fullname' - - run: Get-Location - - name: Upload strategy artifacts - uses: actions/upload-artifact@v2 + - name: Uploads source code + uses: actions/upload-artifact@v4 with: - name: EA - path: '*.ex[45]' - Compile-Indicators: + name: src-classes + path: . + + mt4: + name: Installs platform (4) + uses: EA31337/EA-Tester/.github/workflows/platform-linux.yml@dev + with: + artifact_name: .mt4 + artifact_overwrite: true + skip_cleanup: true + version: 4 + mt5: + name: Installs platform (5) + uses: EA31337/EA-Tester/.github/workflows/platform-linux.yml@dev + with: + artifact_name: .mt5 + artifact_overwrite: true + skip_cleanup: true + version: 5 + + compile: defaults: run: shell: powershell - working-directory: indicators-other + name: Compile + needs: [checkout-classes, mt4, mt5] runs-on: windows-latest - strategy: - matrix: - file: - - indicators-other/Oscillator/SVE_Bollinger_Bands - - indicators-other/PriceBands/TMA_True steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 with: - submodules: 'recursive' - - uses: actions/checkout@v2 + submodules: recursive + - uses: actions/download-artifact@v4 with: + name: src-classes path: Include/EA31337-classes - ref: v3.000.1 - repository: EA31337/EA31337-classes - - name: Compile required indicator for MQL4 - uses: fx31337/mql-compile-action@master + - uses: actions/download-artifact@v4 with: - include: . - init-platform: true - mt-version: 5.0.0.2361 - path: ${{ matrix.file }}.mq4 - verbose: true - - name: Compile required indicator for MQL5 + pattern: .mt? + - name: Compile uses: fx31337/mql-compile-action@master with: include: . - init-platform: true - mt-version: 5.0.0.2515 - path: ${{ matrix.file }}.mq5 + mt-path: .mt${{ matrix.version }} + path: "**/Stg_*.mq${{ matrix.version }}" verbose: true - name: List compiled files run: '(Get-ChildItem -Recurse -Path . -Include *.ex[45]).fullname' - run: Get-Location - - name: Upload indicator artifacts + - name: Upload artifacts uses: actions/upload-artifact@v2 with: - name: Indicators - path: '**/*.ex[45]' + name: Strategy + path: '**/Stg_*.ex[45]' + strategy: + matrix: + version: + - 4 + - 5 + max-parallel: 2 + timeout-minutes: 10 + + cleanup: + if: inputs.skip_cleanup != true + name: Clean-up + needs: [compile] + runs-on: ubuntu-latest + steps: + - uses: geekyeggo/delete-artifact@v5 + with: + name: .mt?