| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- name: 'Setup DJGPP toolchain'
- description: 'Download DJGPP and setup CMake toolchain'
- runs:
- using: 'composite'
- steps:
- - name: 'Calculate variables'
- id: calc
- shell: sh
- run: |
- version="12.2.0"
- case "${{ runner.os }}-${{ runner.arch }}" in
- "Linux-X86")
- archive="djgpp-linux32-gcc1220.tar.bz2"
- ;;
- "Linux-X64")
- archive="djgpp-linux64-gcc1220.tar.bz2"
- ;;
- "macOS-X86" | "macOS-X64" | "macOS-ARM64")
- archive="djgpp-osx-gcc1220.tar.bz2"
- ;;
- "Windows-X86" | "Windows-X64")
- archive="djgpp-mingw-gcc1220.zip"
- ;;
- *)
- echo "Unsupported ${{ runner.os }}-${{ runner.arch }}"
- exit 1;
- ;;
- esac
- echo "url=https://github.com/andrewwutw/build-djgpp/releases/download/v3.4/${archive}" >> ${GITHUB_OUTPUT}
- echo "archive=${archive}" >> ${GITHUB_OUTPUT}
- echo "version=${version}" >> ${GITHUB_OUTPUT}
- echo "cache-key=${archive}-${{ inputs.version }}-${{ runner.os }}-${{ runner.arch }}" >> ${GITHUB_OUTPUT}
- - name: 'Restore cached ${{ steps.calc.outputs.archive }}'
- id: cache-restore
- uses: actions/cache/restore@v4
- with:
- path: '${{ runner.temp }}/${{ steps.calc.outputs.archive }}'
- key: ${{ steps.calc.outputs.cache-key }}
- - name: 'Download DJGPP ${{ steps.calc.outputs.version }} for ${{ runner.os }} (${{ runner.arch }})'
- if: ${{ !steps.cache-restore.outputs.cache-hit || steps.cache-restore.outputs.cache-hit == 'false' }}
- shell: pwsh
- run: |
- Invoke-WebRequest "${{ steps.calc.outputs.url }}" -OutFile "${{ runner.temp }}/${{ steps.calc.outputs.archive }}"
- - name: 'Cache ${{ steps.calc.outputs.archive }}'
- if: ${{ !steps.cache-restore.outputs.cache-hit || steps.cache-restore.outputs.cache-hit == 'false' }}
- uses: actions/cache/save@v4
- with:
- path: '${{ runner.temp }}/${{ steps.calc.outputs.archive }}'
- key: ${{ steps.calc.outputs.cache-key }}
- - name: 'Extract DJGP archive'
- shell: pwsh
- run: |
- $archive = "${{ steps.calc.outputs.archive }}";
- if ($archive.EndsWith(".bz2")) {
- # Remove ".bz2" suffix
- $tar_archive = $archive.Substring(0, $archive.Length - 4)
- 7z "-o${{ runner.temp }}" x "${{ runner.temp }}/${{ steps.calc.outputs.archive }}"
- 7z "-o${{ runner.temp }}" x "${{ runner.temp }}/$tar_archive"
- } else {
- 7z "-o${{ runner.temp }}" x "${{ runner.temp }}/${{ steps.calc.outputs.archive }}"
- }
- - name: 'Set output variables'
- id: final
- shell: pwsh
- run: |
- echo "${{ runner.temp }}/djgpp/bin" >> $env:GITHUB_PATH
|