How to install an old version of the Direct X Api in GitHub actions

Viewed 312

I'm working on an implementation of continuous integration in this project, which requires an old version of the DirectX SDK from June 2010. Is it possible to install this as a part of a GitHub Actions workflow at all? It may build with any version of the SDK as long as it's compatible with Windows 7.

Here's the workflow I've written so far, and here's the general building for Windows guide I'm following...

1 Answers

I have a working setup for project using DX2010, however i am not running installer (which always failed for me during beta, maybe it's fixed nowadays) but extracting only parts required for build. Looking at link you provided, this is exactly what guide recommends :)

First, DXSDK_DIR variable is set using ::set-env "command". Variable most likely should point to directory outside default location, which can be overwritten if repository is checked out after preparing DX files.

- name:  Config
  run:   echo ::set-env name=DXSDK_DIR::$HOME/cache/
  shell: bash

I didn't want to include DX files in repository, so they had to be downloaded when workflow is running. To avoid doing that over and over again cache action is used to keep files between builds.

- name: Cache
  id:   cache
  uses: actions/cache@v1
  with:
   path: ~/cache
   key:  cache

And finally, downloading and extracting DX2010. This step will run only if cache wasn't created previously or current workflow cannot create/restore caches (like on: schedule or on: repository_dispatch).

- name:  Cache create
  if:    steps.cache.outputs.cache-hit != 'true'
  run:   |
         curl -L https://download.microsoft.com/download/a/e/7/ae743f1f-632b-4809-87a9-aa1bb3458e31/DXSDK_Jun10.exe -o _DX2010_.exe
         7z x _DX2010_.exe DXSDK/Include -o_DX2010_
         7z x _DX2010_.exe DXSDK/Lib/x86 -o_DX2010_
         mv _DX2010_/DXSDK $HOME/cache
         rm -fR _DX*_ _DX*_.exe
  shell: bash

Aaand that's it, project is ready for compilation.

Related