Skip to content

exclude non-64-bit-modules from 64 bit builds #803

exclude non-64-bit-modules from 64 bit builds

exclude non-64-bit-modules from 64 bit builds #803

Workflow file for this run

name: Build
on:
push:
branches:
- main
paths-ignore: [ 'Doc/**', 'Flights/**', 'Html/**', 'Images/**', 'Localdoc/**', 'Scenarios/**', 'Textures/**', 'Textures2/**']
pull_request:
branches:
- main
paths-ignore: [ 'Doc/**', 'Flights/**', 'Html/**', 'Images/**', 'Localdoc/**', 'Scenarios/**', 'Textures/**', 'Textures2/**']
jobs:
build:
name: Build
env:
DXSDK_DIR: "${{ github.workspace }}\\DXSDK"
strategy:
fail-fast: false
matrix:
architecture: [x64, x86]
runs-on: windows-2019
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: true
- name: Setup Problem Matcher
uses: ammaraskar/msvc-problem-matcher@master
- name: Setup MSVC Console
uses: ilammy/msvc-dev-cmd@v1
with:
arch: ${{ matrix.architecture }}
- name: Create directories
run: |
mkdir out\build
mkdir out\install
- name: Cache irrKlang package
uses: actions/cache@v3
with:
path: ${{ github.workspace }}/Extern/irrKlang/${{ matrix.architecture }}
key: irrKlang-${{ matrix.architecture }}
- name: Cache DirectX SDK
id: cache
uses: actions/cache@v3
with:
path: "${{ github.workspace }}\\DXSDK"
key: dxsdk_jun10
- name: Download DirectX SDK
if: steps.cache.outputs.cache-hit != 'true'
shell: cmd
run: |
curl -L https://download.microsoft.com/download/a/e/7/ae743f1f-632b-4809-87a9-aa1bb3458e31/DXSDK_Jun10.exe -o DXSDK_Jun10.exe
7z x DXSDK_Jun10.exe DXSDK/Include
7z x DXSDK_Jun10.exe DXSDK/Lib
del DXSDK_Jun10.exe
dir /S /B DXSDK
- name: Configure
run: cmake . --preset windows-${{ matrix.architecture }}-release -DORBITER_MAKE_DOC=OFF -DDXSDK_DIR:PATH="${{ github.workspace }}\\DXSDK"
- name: Build
run: cmake --build --preset windows-${{ matrix.architecture }}-release --jobs 2
- name: Test
run: ctest --preset windows-${{ matrix.architecture }}-release --jobs 2
- name: Install
working-directory: ${{ github.workspace }}/out/build/windows-${{ matrix.architecture }}-release
run: cmake --install . --prefix ${{ github.workspace }}/out/install
- name: Pack
if: ${{ github.ref == 'refs/heads/main' }}
working-directory: ${{ github.workspace }}/out/install/Orbiter
shell: cmd
run: '7z a "${{ github.workspace }}/out/Orbiter.zip" .'
- name: Upload Build Artifact
if: ${{ github.ref == 'refs/heads/main' }}
uses: actions/[email protected]
with:
name: Orbiter-${{ matrix.architecture }}
# A file, directory or wildcard pattern that describes what to upload
path: ${{ github.workspace }}/out/Orbiter.zip
retention-days: 60
pre-release:
name: Publish pre-release
needs: build
runs-on: ubuntu-latest
if: ${{ github.ref == 'refs/heads/main' }}
steps:
- name: Create directories
run: mkdir out
- name: Checkout
uses: actions/checkout@v4
- name: Download artifacts
uses: actions/download-artifact@v3
with:
path: ./out
- name: Re-arrange artifacts
run: |
mv ./Orbiter-x64/Orbiter.zip ./Orbiter-x64.zip
mv ./Orbiter-x86/Orbiter.zip ./Orbiter-x86.zip
rmdir Orbiter-x64
rmdir Orbiter-x86
ls -R
working-directory: ./out
- name: "Push pre-release tag and upload packages"
uses: "marvinpinto/action-automatic-releases@latest"
with:
repo_token: "${{ secrets.GITHUB_TOKEN }}"
automatic_release_tag: "latest"
prerelease: true
title: "Orbiter development build"
files: |
./out/Orbiter-x86.zip
./out/Orbiter-x64.zip