| name: 'Setup Nonka N-Gage SDK' |
| description: 'Download and setup Nokia N-Gage SDK' |
| inputs: |
| path: |
| description: 'Installation path' |
| default: 'default' |
| runs: |
| using: 'composite' |
| steps: |
| - uses: actions/setup-python@v6 |
| with: |
| python-version: '3.x' |
| - name: 'Verify platform' |
| id: calc |
| shell: sh |
| run: | |
| case "${{ runner.os }}-${{ runner.arch }}" in |
| "Windows-X86" | "Windows-X64") |
| echo "ok!" |
| echo "cache-key=ngage-sdk-windows" >> ${GITHUB_OUTPUT} |
| default_install_path="C:/ngagesdk" |
| ;; |
| *) |
| echo "Unsupported ${{ runner.os }}-${{ runner.arch }}" |
| exit 1; |
| ;; |
| esac |
| install_path="${{ inputs.path }}" |
| if [ "x$install_path" = "xdefault" ]; then |
| install_path="$default_install_path" |
| fi |
| echo "install-path=$install_path" >> ${GITHUB_OUTPUT} |
| |
| toolchain_repo="https://github.com/ngagesdk/ngage-toolchain" |
| toolchain_branch="main" |
| echo "toolchain-repo=${toolchain_repo}" >> ${GITHUB_OUTPUT} |
| echo "toolchain-branch=${toolchain_branch}" >> ${GITHUB_OUTPUT} |
| |
| sdk_repo="https://github.com/ngagesdk/sdk" |
| sdk_branch="main" |
| echo "sdk-repo=${sdk_repo}" >> ${GITHUB_OUTPUT} |
| echo "sdk-branch=${sdk_branch}" >> ${GITHUB_OUTPUT} |
| |
| tools_repo="https://github.com/ngagesdk/tools" |
| tools_branch="main" |
| echo "tools-repo=${tools_repo}" >> ${GITHUB_OUTPUT} |
| echo "tools-branch=${tools_branch}" >> ${GITHUB_OUTPUT} |
| |
| extras_repo="https://github.com/ngagesdk/extras" |
| extras_branch="main" |
| echo "extras-repo=${extras_repo}" >> ${GITHUB_OUTPUT} |
| echo "extras-branch=${extras_branch}" >> ${GITHUB_OUTPUT} |
| # - name: 'Restore cached ${{ steps.calc.outputs.archive }}' |
| # id: cache-restore |
| # uses: actions/cache/restore@v5 |
| # with: |
| # path: '${{ runner.temp }}' |
| # key: ${{ steps.calc.outputs.cache-key }} |
| - name: 'Download N-Gage SDK' |
| # if: ${{ !steps.cache-restore.outputs.cache-hit || steps.cache-restore.outputs.cache-hit == 'false' }} |
| shell: pwsh |
| run: | |
| |
| Invoke-WebRequest "${{ steps.calc.outputs.toolchain-repo }}/archive/refs/heads/${{ steps.calc.outputs.toolchain-branch }}.zip" -OutFile "${{ runner.temp }}/ngage-toolchain.zip" |
| Invoke-WebRequest "${{ steps.calc.outputs.sdk-repo }}/archive/refs/heads/${{ steps.calc.outputs.sdk-branch }}.zip" -OutFile "${{ runner.temp }}/sdk.zip" |
| Invoke-WebRequest "${{ steps.calc.outputs.tools-repo }}/archive/refs/heads/${{ steps.calc.outputs.tools-branch }}.zip" -OutFile "${{ runner.temp }}/tools.zip" |
| Invoke-WebRequest "${{ steps.calc.outputs.extras-repo }}/archive/refs/heads/${{ steps.calc.outputs.extras-branch }}.zip" -OutFile "${{ runner.temp }}/extras.zip" |
| |
| # - name: 'Cache ${{ steps.calc.outputs.archive }}' |
| # if: ${{ !steps.cache-restore.outputs.cache-hit || steps.cache-restore.outputs.cache-hit == 'false' }} |
| # uses: actions/cache/save@v5 |
| # with: |
| # path: | |
| # ${{ runner.temp }}/apps.zip |
| # ${{ runner.temp }}/sdk.zip |
| # ${{ runner.temp }}/tools.zip |
| # key: ${{ steps.calc.outputs.cache-key }} |
| - name: 'Extract N-Gage SDK' |
| shell: pwsh |
| run: | |
| New-Item -ItemType Directory -Path "${{ steps.calc.outputs.install-path }}" -Force |
| |
| New-Item -ItemType Directory -Path "${{ runner.temp }}/ngage-toolchain-temp" -Force |
| 7z "-o${{ runner.temp }}/ngage-toolchain-temp" x "${{ runner.temp }}/ngage-toolchain.zip" |
| Move-Item -Path "${{ runner.temp }}/ngage-toolchain-temp/ngage-toolchain-${{ steps.calc.outputs.toolchain-branch }}/*" -Destination "${{ steps.calc.outputs.install-path }}" |
| |
| 7z "-o${{ steps.calc.outputs.install-path }}/sdk" x "${{ runner.temp }}/sdk.zip" |
| Move-Item -Path "${{ steps.calc.outputs.install-path }}/sdk/sdk-${{ steps.calc.outputs.sdk-branch }}" -Destination "${{ steps.calc.outputs.install-path }}/sdk/sdk" |
| |
| 7z "-o${{ steps.calc.outputs.install-path }}/sdk" x "${{ runner.temp }}/tools.zip" |
| Move-Item -Path "${{ steps.calc.outputs.install-path }}/sdk/tools-${{ steps.calc.outputs.tools-branch }}" -Destination "${{ steps.calc.outputs.install-path }}/sdk/tools" |
| |
| 7z "-o${{ steps.calc.outputs.install-path }}/sdk" x "${{ runner.temp }}/extras.zip" |
| Move-Item -Path "${{ steps.calc.outputs.install-path }}/sdk/extras-${{ steps.calc.outputs.extras-branch }}" -Destination "${{ steps.calc.outputs.install-path }}/sdk/extras" |
| - name: 'Set output variables' |
| id: final |
| shell: sh |
| run: | |
| echo "${{ steps.calc.outputs.install-path }}/sdk/sdk/6.1/Shared/EPOC32/gcc/bin" >> $GITHUB_PATH |
| echo "${{ steps.calc.outputs.install-path }}/sdk/sdk/6.1/Shared/EPOC32/ngagesdk/bin" >> $GITHUB_PATH |
| echo "NGAGESDK=${{ steps.calc.outputs.install-path }}" >> $GITHUB_ENV |
| echo "CMAKE_TOOLCHAIN_FILE=${{ steps.calc.outputs.install-path }}/cmake/ngage-toolchain.cmake" >> $GITHUB_ENV |