Bump actions/download-artifact from 1 to 4.1.7 in /.github/workflows #36
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: C/C++ CI | |
on: | |
push: | |
branches: [ master ] | |
pull_request: | |
branches: [ master ] | |
permissions: | |
contents: write # to fetch code (actions/checkout),and release | |
jobs: | |
job: | |
name: ${{ matrix.name }}-build-and-test | |
runs-on: ${{ matrix.os }} | |
environment: production | |
strategy: | |
fail-fast: false | |
matrix: | |
name: [ubuntu-latest-g++, macos-latest-clang++, windows-latest-cl.exe, ubuntu-latest-clang++, ubuntu-gcc-hunter, macos-clang-hunter, windows-msvc-hunter] | |
# For Windows msvc, for Linux and macOS let's use the clang compiler, use gcc for Linux. | |
include: | |
- name: windows-latest-cl.exe | |
os: windows-latest | |
cxx: cl.exe | |
cc: cl.exe | |
- name: ubuntu-latest-clang++ | |
os: ubuntu-latest | |
cxx: clang++ | |
cc: clang | |
- name: macos-latest-clang++ | |
os: macos-latest | |
cxx: clang++ | |
cc: clang | |
- name: ubuntu-latest-g++ | |
os: ubuntu-latest | |
cxx: g++ | |
cc: gcc | |
- name: ubuntu-gcc-hunter | |
os: ubuntu-latest | |
toolchain: ninja-gcc-cxx17-fpic | |
- name: macos-clang-hunter | |
os: macos-latest | |
toolchain: ninja-clang-cxx17-fpic | |
- name: windows-msvc-hunter | |
os: windows-latest | |
toolchain: ninja-vs-win64-cxx17 | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: true | |
- uses: lukka/get-cmake@latest | |
- uses: ilammy/msvc-dev-cmd@v1 | |
- name: Set Compiler Environment | |
if: endsWith(matrix.name, 'hunter') != true | |
run: | | |
echo "CXX=${{ matrix.cxx }}" >> $GITHUB_ENV | |
echo "CC=${{ matrix.cc }}" >> $GITHUB_ENV | |
- name: Set Compiler Environment for Hunter on Windows | |
if: startsWith(matrix.name, 'windows') && endsWith(matrix.name, 'hunter') | |
run: | | |
echo "VS160COMNTOOLS=C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\Tools" >> $GITHUB_ENV | |
- name: Checkout Hunter toolchains | |
if: endsWith(matrix.name, 'hunter') | |
uses: actions/checkout@v3 | |
with: | |
repository: cpp-pm/polly | |
path: cmake/polly | |
#- name: Remove contrib directory for Hunter builds | |
# if: contains(matrix.name, 'hunter') | |
# uses: JesseTG/[email protected] | |
# with: | |
# path: contrib | |
- name: Cache DX SDK | |
id: dxcache | |
if: contains(matrix.name, 'windows') | |
uses: actions/cache@v3 | |
with: | |
path: '${{ github.workspace }}/DX_SDK' | |
key: ${{ runner.os }}-DX_SDK | |
restore-keys: | | |
${{ runner.os }}-DX_SDK | |
- name: Download DXSetup | |
if: contains(matrix.name, 'windows') && steps.dxcache.outputs.cache-hit != 'true' | |
run: | | |
curl -s -o DXSDK_Jun10.exe --location https://download.microsoft.com/download/A/E/7/AE743F1F-632B-4809-87A9-AA1BB3458E31/DXSDK_Jun10.exe | |
cmd.exe /c start /wait .\DXSDK_Jun10.exe /U /O /F /S /P "${{ github.workspace }}\DX_SDK" | |
- name: Set Windows specific CMake arguments | |
if: contains(matrix.name, 'windows') | |
id: windows_extra_cmake_args | |
run: echo "args=-DASSIMP_BUILD_ASSIMP_TOOLS=1 -DASSIMP_BUILD_ASSIMP_VIEW=1" >> $GITHUB_OUTPUT | |
- name: Set Hunter specific CMake arguments | |
if: contains(matrix.name, 'hunter') | |
id: hunter_extra_cmake_args | |
run: echo "args=-DBUILD_SHARED_LIBS=OFF -DASSIMP_HUNTER_ENABLED=ON -DCMAKE_TOOLCHAIN_FILE=${{ github.workspace }}/cmake/polly/${{ matrix.toolchain }}.cmake" >> $GITHUB_OUTPUT | |
- name: configure and build | |
uses: lukka/run-cmake@v3 | |
env: | |
DXSDK_DIR: '${{ github.workspace }}/DX_SDK' | |
with: | |
cmakeListsOrSettingsJson: CMakeListsTxtAdvanced | |
cmakeListsTxtPath: '${{ github.workspace }}/CMakeLists.txt' | |
cmakeAppendedArgs: '-GNinja -DCMAKE_BUILD_TYPE=Release ${{ steps.windows_extra_cmake_args.outputs.args }} ${{ steps.hunter_extra_cmake_args.outputs.args }}' | |
buildWithCMakeArgs: '--parallel 24 -v' | |
buildDirectory: '${{ github.workspace }}/build/' | |
- name: Exclude certain tests in Hunter specific builds | |
if: contains(matrix.name, 'hunter') | |
id: hunter_extra_test_args | |
run: echo "args=--gtest_filter=-utOpenGEXImportExport.Importissue1340_EmptyCameraObject:utColladaZaeImportExport.importBlenFromFileTest" >> $GITHUB_OUTPUT | |
- name: test | |
run: cd build/bin && ./unit ${{ steps.hunter_extra_test_args.outputs.args }} | |
shell: bash | |
- uses: actions/upload-artifact@v3 | |
name: upload-artifact-for-windows | |
if: contains(matrix.name,'windows') | |
with: | |
name: 'assimp-bins-${{ matrix.name }}' | |
path: build/bin/* | |
- uses: softprops/action-gh-release@v1 | |
name: Release | |
if: contains(matrix.name, 'windows-msvc-hunter') | |
with: | |
prerelease: true | |
name: 'assimp-bins-${{ matrix.name }}-${{ github.sha }}' | |
files: build/bin/* | |
tag_name: master | |
create-release: | |
needs: [job] | |
runs-on: ubuntu-latest | |
if: startsWith(github.ref, 'refs/tags/') | |
steps: | |
- id: create-release | |
uses: actions/create-release@v1 | |
env: | |
GITHUB_TOKEN: '${{secrets.GITHUB_TOKEN}}' | |
with: | |
tag_name: '${{github.ref}}' | |
release_name: 'Release ${{github.ref}}' | |
draft: false | |
prerelease: true | |
- run: | | |
echo '${{steps.create-release.outputs.upload_url}}' > release_upload_url.txt | |
- uses: actions/upload-artifact@v1 | |
with: | |
name: create-release | |
path: release_upload_url.txt | |
upload-release: | |
strategy: | |
matrix: | |
name: [ubuntu-latest-g++, macos-latest-clang++, windows-latest-cl.exe, ubuntu-latest-clang++, ubuntu-gcc-hunter, macos-clang-hunter, windows-msvc-hunter] | |
# For Windows msvc, for Linux and macOS let's use the clang compiler, use gcc for Linux. | |
include: | |
- name: windows-latest-cl.exe | |
os: windows-latest | |
cxx: cl.exe | |
cc: cl.exe | |
- name: ubuntu-latest-clang++ | |
os: ubuntu-latest | |
cxx: clang++ | |
cc: clang | |
- name: macos-latest-clang++ | |
os: macos-latest | |
cxx: clang++ | |
cc: clang | |
- name: ubuntu-latest-g++ | |
os: ubuntu-latest | |
cxx: g++ | |
cc: gcc | |
- name: ubuntu-gcc-hunter | |
os: ubuntu-latest | |
toolchain: ninja-gcc-cxx17-fpic | |
- name: macos-clang-hunter | |
os: macos-latest | |
toolchain: ninja-clang-cxx17-fpic | |
- name: windows-msvc-hunter | |
os: windows-latest | |
toolchain: ninja-vs-win64-cxx17 | |
needs: [create-release] | |
runs-on: ubuntu-latest | |
if: startsWith(github.ref, 'refs/tags/') | |
steps: | |
- uses: actions/[email protected] | |
with: | |
name: 'assimp-bins-${{ matrix.name }}-${{ github.sha }}' | |
- uses: softprops/action-gh-release@v1 | |
with: | |
name: create-release | |
files: 'assimp-bins-${{ matrix.name }}-${{ github.sha }}' | |
tag_name: master | |