summaryrefslogtreecommitdiff
path: root/src/contrib/SDL-3.2.20/.github/actions/setup-gdk-desktop/action.yml
blob: 10427ace3c9e54e5bd7ad2914bebb462812f7277 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
name: 'Setup GDK (Game Development Kit) for Windows Desktop'
description: 'Download GDK and install into MSBuild'
inputs:
  # Keep edition and ref in sync!
  edition:
    description: 'GDK edition'
    default: '240601'  # YYMMUU (Year Month Update)
  ref:
    description: 'Git reference'
    default: 'June_2024_Update_1'
  folder:
    description: 'Folder where to create Directory.Build.props'
    required: true
    default: '${{ github.workspace }}'
runs:
  using: 'composite'
  steps:
    - uses: actions/setup-python@main
      with:
        python-version: 3.x
    - name: 'Calculate variables'
      id: calc
      shell: pwsh
      run: |
        $vs_folder=@(vswhere -latest -property installationPath)
        echo "vs-folder=${vs_folder}" >> $Env:GITHUB_OUTPUT
        
        echo "gdk-path=${{ runner.temp }}\GDK-${{ inputs.edition }}" >> $Env:GITHUB_OUTPUT

        echo "cache-key=gdk-${{ inputs.ref }}-${{ inputs.edition }}" >> $Env:GITHUB_OUTPUT
    - name: 'Restore cached GDK'
      id: cache-restore
      uses: actions/cache/restore@v4
      with:
        path: '${{ steps.calc.outputs.gdk-path }}'
        key: ${{ steps.calc.outputs.cache-key }}
    - name: 'Download GDK'
      if: ${{ !steps.cache-restore.outputs.cache-hit }}
      shell: pwsh
      run: |
        python build-scripts/setup-gdk-desktop.py                 `
          --download                                              `
          --temp-folder "${{ runner.temp }}"                      `
          --gdk-path="${{ steps.calc.outputs.gdk-path }}"         `
          --ref-edition "${{ inputs.ref }},${{ inputs.edition }}" `
          --vs-folder="${{ steps.calc.outputs.vs-folder }}"       `
          --no-user-props
    - name: 'Extract GDK'
      if: ${{ !steps.cache-restore.outputs.cache-hit }}
      shell: pwsh
      run: |
        python build-scripts/setup-gdk-desktop.py                 `
          --extract                                               `
          --ref-edition "${{ inputs.ref }},${{ inputs.edition }}" `
          --temp-folder "${{ runner.temp }}"                      `
          --gdk-path="${{ steps.calc.outputs.gdk-path }}"         `
          --vs-folder="${{ steps.calc.outputs.vs-folder }}"       `
          --no-user-props
    - name: 'Cache GDK'
      if: ${{ !steps.cache-restore.outputs.cache-hit }}
      uses: actions/cache/save@v4
      with:
        path: '${{ steps.calc.outputs.gdk-path }}'
        key: ${{ steps.calc.outputs.cache-key }}
    - name: 'Copy MSBuild files into GDK'
      shell: pwsh
      run: |
        python build-scripts/setup-gdk-desktop.py                 `
          --ref-edition "${{ inputs.ref }},${{ inputs.edition }}" `
          --gdk-path="${{ steps.calc.outputs.gdk-path }}"         `
          --vs-folder="${{ steps.calc.outputs.vs-folder }}"       `
          --copy-msbuild                                          `
          --no-user-props
    - name: 'Write user props'
      shell: pwsh
      run: |
        python build-scripts/setup-gdk-desktop.py                 `
          --ref-edition "${{ inputs.ref }},${{ inputs.edition }}" `
          --temp-folder "${{ runner.temp }}"                      `
          --vs-folder="${{ steps.calc.outputs.vs-folder }}"       `
          --gdk-path="${{ steps.calc.outputs.gdk-path }}"         `
          "--props-folder=${{ inputs.folder }}"