From fb06c078900112c168a373ebf33af629560ccf08 Mon Sep 17 00:00:00 2001 From: Lukas Tenbrink Date: Wed, 27 Nov 2024 00:24:02 +0100 Subject: [PATCH] Add a separate setup-godot-cpp github action. --- .github/actions/setup-godot-cpp/action.yml | 59 ++++++++++++++++++++++ .github/workflows/ci.yml | 31 ++---------- 2 files changed, 63 insertions(+), 27 deletions(-) create mode 100644 .github/actions/setup-godot-cpp/action.yml diff --git a/.github/actions/setup-godot-cpp/action.yml b/.github/actions/setup-godot-cpp/action.yml new file mode 100644 index 000000000..a08fb1b07 --- /dev/null +++ b/.github/actions/setup-godot-cpp/action.yml @@ -0,0 +1,59 @@ +name: Setup godot-cpp +description: Setup build dependencies for godot-cpp. + +inputs: + platform: + required: true + description: Target platform. + em-version: + default: 3.1.62 + description: Emscripten version. + windows-use-mingw: + description: 'Set to true to use MinGW, false otherwise' + required: true + default: 'false' + type: boolean + mingw-version: + default: 12.2.0 + description: MinGW version. + ndk-version: + default: r23c + description: Android NDK version. + scons-version: + default: 4.4.0 + description: SCons version. + +runs: + using: composite + steps: + - name: Setup Python (for SCons) + uses: actions/setup-python@v5 + with: + python-version: 3.x + + - name: Setup Android dependencies + if: inputs.platform == 'android' + uses: nttld/setup-ndk@v1 + with: + ndk-version: ${{ inputs.ndk-version }} + link-to-sdk: true + + - name: Setup Web dependencies + if: inputs.platform == 'web' + uses: mymindstorm/setup-emsdk@v14 + with: + version: ${{ inputs.em-version }} + no-cache: true + + - name: Setup MinGW for Windows/MinGW build + if: inputs.platform == 'windows' && inputs.windows-use-mingw + uses: egor-tensin/setup-mingw@v2 + with: + version: ${{ inputs.mingw-version }} + + - name: Setup SCons + shell: bash + run: | + python -c "import sys; print(sys.version)" + python -m pip install scons==${{ inputs.scons-version }} + scons --version diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 33b2450d8..a033ece76 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -108,34 +108,11 @@ jobs: cache-name: ${{ matrix.cache-name }} continue-on-error: true - - name: Set up Python (for SCons) - uses: actions/setup-python@v5 + - name: Setup godot-cpp + uses: ./.github/actions/setup-godot-cpp with: - python-version: 3.x - - - name: Android dependencies - if: matrix.platform == 'android' - uses: nttld/setup-ndk@v1 - with: - ndk-version: r23c - link-to-sdk: true - - - name: Web dependencies - if: matrix.platform == 'web' - uses: mymindstorm/setup-emsdk@v14 - with: - version: ${{ env.EM_VERSION }} - no-cache: true - - - name: Setup MinGW for Windows/MinGW build - if: matrix.platform == 'windows' && matrix.flags == 'use_mingw=yes' - uses: egor-tensin/setup-mingw@v2 - with: - version: 12.2.0 - - - name: Install scons - run: | - python -m pip install scons==4.0.0 + platform: ${{ matrix.platform }} + windows-use-mingw: ${{ matrix.flags == 'use_mingw=yes' }} - name: Generate godot-cpp sources only run: |