move cmake cxx standard definition up in hierarchy #798
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: Build | |
on: [push, pull_request] | |
jobs: | |
build-linux-hip-rocm: | |
strategy: | |
# max-parallel: 1 # Sets the limit of jobs to run concurrently | |
fail-fast: true | |
matrix: | |
os: [ubuntu-22.04] | |
compiler: [g++-9, g++-10, g++-11, g++-12, clang++-11, clang++-12, clang++-13, clang++-14, clang++-15] | |
HIP: ['6.2'] | |
runs-on: ${{ matrix.os }} | |
env: | |
HIP_ROOT: '/opt/rocm' | |
steps: | |
- name: Try to clean up some things | |
run: | | |
sudo rm -rf /usr/local/lib/android | |
sudo rm -rf /usr/share/dotnet | |
sudo rm -rf /opt/ghc | |
sudo rm -rf /usr/local/.ghcup | |
- name: Install g++-9 (if needed) | |
if: matrix.compiler == 'g++-9' | |
run: | | |
sudo apt install g++-9 | |
- name: Install g++-10 (if needed) | |
if: matrix.compiler == 'g++-10' | |
run: | | |
sudo apt install g++-10 | |
- name: Install g++-11 (if needed) | |
if: matrix.compiler == 'g++-11' | |
run: | | |
sudo apt install g++-11 | |
- name: Install g++-12 (if needed) | |
if: matrix.compiler == 'g++-12' | |
run: | | |
sudo apt install g++-12 | |
- name: Install clang++-11 (if needed) | |
if: matrix.compiler == 'clang++-11' | |
run: | | |
sudo apt install clang-11 | |
- name: Install clang++-12 (if needed) | |
if: matrix.compiler == 'clang++-12' | |
run: | | |
sudo apt install clang-12 | |
- name: Install clang++-13 (if needed) | |
if: matrix.compiler == 'clang++-13' | |
run: | | |
sudo apt install clang-13 | |
- name: Install clang++-14 (if needed) | |
if: matrix.compiler == 'clang++-14' | |
run: | | |
sudo apt install clang-14 | |
- name: Install clang++-15 (if needed) | |
if: matrix.compiler == 'clang++-15' | |
run: | | |
sudo apt install clang-15 | |
- name: Setup Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version: '20' | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: '0' | |
- name: Install HIP runtime (if needed) | |
if: matrix.HIP != '0' && matrix.ONEAPI == 0 && matrix.CUDA == 0 | |
run: | | |
case ${{ matrix.HIP }} in | |
6.2) | |
wget https://repo.radeon.com/amdgpu-install/6.2/ubuntu/jammy/amdgpu-install_6.2.60200-1_all.deb | |
sudo apt install ./amdgpu-install_6.2.60200-1_all.deb | |
sudo amdgpu-install -y --usecase=hiplibsdk,rocm --no-dkms | |
;; | |
esac | |
- name: Create build directory | |
run: | | |
mkdir build | |
- name: Run CMake configure (HIP) | |
if: matrix.HIP != '0' && matrix.CUDA == '0' && matrix.ONEAPI == '0' | |
env: | |
CXX: ${{ matrix.compiler }} | |
run: | | |
export CPATH=${HIP_ROOT}/include:${HIP_ROOT} | |
export LD_LIBRARY_PATH=${HIP_ROOT}/lib64:${HIP_ROOT}/lib64/stubs:${LD_LIBRARY_PATH} | |
export LIBRARY_PATH=${HIP_ROOT}/lib64:${HIP_ROOT}/lib64/stubs:${LIBRARY_PATH} | |
export HIP_LIB_PATH=${HIP_ROOT}/lib64:${HIP_ROOT}/lib64/stubs | |
export PATH=${HIP_ROOT}:${PATH} | |
export HIP_HOME=${HIP_ROOT} | |
export HIP_PATH=${HIP_ROOT} | |
export HIPToolkit_ROOT=${HIP_ROOT} | |
cd build | |
cmake -DFIRESTARTER_BUILD_TYPE="FIRESTARTER_HIP" -DCMAKE_EXE_LINKER_FLAGS="-L${HIP_ROOT}/lib64/stubs/" .. | |
- name: Build (default, CUDA, HIP) | |
if: matrix.ONEAPI =='0' | |
run: | | |
cd build | |
make -j2 | |
- name: Strip binary (HIP) | |
if: matrix.CUDA == '0' && matrix.HIP != '0' && matrix.ONEAPI == '0' | |
run: | | |
cd build | |
strip src/FIRESTARTER_HIP | |
- uses: actions/upload-artifact@v4 | |
if: matrix.compiler == 'g++-9' && matrix.HIP != '0' && matrix.CUDA == '0' && matrix.ONEAPI == '0' && ( github.event_name == 'push' && startsWith(github.ref, 'refs/tags/') || github.event_name == 'pull_request' ) | |
with: | |
name: FIRESTARTER_HIP_${{ matrix.HIP }}-linux | |
retention-days: 1 | |
path: build/src/FIRESTARTER_HIP | |
build-linux: | |
strategy: | |
# max-parallel: 1 # Sets the limit of jobs to run concurrently | |
fail-fast: true | |
matrix: | |
os: [ubuntu-20.04] | |
compiler: [g++-7, g++-8, g++-9, g++-10, clang++-8, clang++-9, clang++-10] | |
CUDA: ['0', '8.0', '11.0', 'NVHPC-22.5'] | |
ONEAPI: ['0', '2023.2.0', '2024.0'] | |
runs-on: ${{ matrix.os }} | |
env: | |
CUDA_ROOT: '/usr/local/cuda' | |
#kudos to https://github.com/easimon/maximize-build-space/blob/master/action.yml | |
steps: | |
- name: Try to clean up some things | |
run: | | |
sudo rm -rf /usr/local/lib/android | |
sudo rm -rf /usr/share/dotnet | |
- name: Install g++-7 (if needed) | |
if: matrix.compiler == 'g++-7' | |
run: | | |
sudo apt install g++-7 | |
- name: Install g++-8 (if needed) | |
if: matrix.compiler == 'g++-8' | |
run: | | |
sudo apt install g++-8 | |
- name: Install clang++-8 (if needed) | |
if: matrix.compiler == 'clang++-8' | |
run: | | |
sudo apt install clang-8 | |
- name: Install clang++-9 (if needed) | |
if: matrix.compiler == 'clang++-9' | |
run: | | |
sudo apt install clang-9 | |
- name: Install clang++-10 (if needed) | |
if: matrix.compiler == 'clang++-10' | |
run: | | |
sudo apt install clang-10 | |
- name: Setup Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version: '20' | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: '0' | |
- name: Install CUDA runtime (if needed) | |
if: matrix.CUDA != '0' && matrix.ONEAPI == 0 | |
run: | | |
case ${{ matrix.CUDA }} in | |
8.0) | |
wget https://developer.nvidia.com/compute/cuda/8.0/Prod2/local_installers/cuda_8.0.61_375.26_linux-run | |
wget https://developer.nvidia.com/compute/cuda/8.0/Prod2/patches/2/cuda_8.0.61.2_linux-run | |
sudo sh cuda_8.0.61_375.26_linux-run --extract=${CUDA_ROOT} | |
sudo sh ${CUDA_ROOT}/cuda-linux64-rel-8.0.61-21551265.run --tar mxvf -C ${CUDA_ROOT} | |
sudo sh cuda_8.0.61.2_linux-run --accept-eula --silent --installdir=${CUDA_ROOT} | |
rm cuda_8.0.61_375.26_linux-run | |
rm cuda_8.0.61.2_linux-run | |
;; | |
11.0) | |
wget https://developer.download.nvidia.com/compute/cuda/11.0.3/local_installers/cuda_11.0.3_450.51.06_linux.run | |
sudo sh cuda_11.0.3_450.51.06_linux.run --toolkit --toolkitpath=${CUDA_ROOT} --override --silent | |
rm cuda_11.0.3_450.51.06_linux.run | |
;; | |
NVHPC-22.5) | |
wget https://developer.download.nvidia.com/hpc-sdk/22.5/nvhpc_2022_225_Linux_x86_64_cuda_11.7.tar.gz | |
tar xpzf nvhpc_2022_225_Linux_x86_64_cuda_11.7.tar.gz | |
rm nvhpc_2022_225_Linux_x86_64_cuda_11.7.tar.gz | |
sudo NVHPC_SILENT="true" NVHPC_INSTALL_DIR="$CUDA_ROOT" NVHPC_INSTALL_TYPE="single" ./nvhpc_2022_225_Linux_x86_64_cuda_11.7/install | |
rm -rf nvhpc_2022_225_Linux_x86_64_cuda_11.7 | |
esac | |
- name: Install OneAPI Base-Toolkit (if needed) | |
if: matrix.ONEAPI != '0' && matrix.CUDA == '0' | |
run: | | |
wget -O- https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB | gpg --dearmor | sudo tee /usr/share/keyrings/oneapi-archive-keyring.gpg > /dev/null | |
echo "deb [signed-by=/usr/share/keyrings/oneapi-archive-keyring.gpg] https://apt.repos.intel.com/oneapi all main" | sudo tee /etc/apt/sources.list.d/oneAPI.list | |
sudo apt update | |
sudo apt install intel-basekit-${{ matrix.ONEAPI }} | |
- name: Create build directory | |
run: | | |
mkdir build | |
- name: Run CMake configure (default) | |
if: matrix.CUDA == '0' && matrix.ONEAPI == '0' | |
env: | |
CXX: ${{ matrix.compiler }} | |
run: | | |
cd build | |
cmake .. | |
- name: Run CMake configure (CUDA) | |
if: matrix.CUDA != '0' && matrix.CUDA != 'NVHPC-22.5' && matrix.ONEAPI == '0' | |
env: | |
CXX: ${{ matrix.compiler }} | |
run: | | |
export CPATH=${CUDA_ROOT}/include:${CPATH} | |
export LD_LIBRARY_PATH=${CUDA_ROOT}/lib64:${CUDA_ROOT}/lib64/stubs:${LD_LIBRARY_PATH} | |
export LIBRARY_PATH=${CUDA_ROOT}/lib64:${CUDA_ROOT}/lib64/stubs:${LIBRARY_PATH} | |
export CUDA_LIB_PATH=${CUDA_ROOT}/lib64:${CUDA_ROOT}/lib64/stubs | |
export PATH=${CUDA_ROOT}:${PATH} | |
export CUDA_HOME=${CUDA_ROOT} | |
export CUDA_PATH=${CUDA_ROOT} | |
export CUDAToolkit_ROOT=${CUDA_ROOT} | |
cd build | |
cmake -DFIRESTARTER_BUILD_TYPE="FIRESTARTER_CUDA" -DCMAKE_EXE_LINKER_FLAGS="-L${CUDA_ROOT}/lib64/stubs/" .. | |
- name: Run CMake configure (CUDA with NVHPC) | |
if: matrix.CUDA == 'NVHPC-22.5' && matrix.ONEAPI == '0' | |
env: | |
CXX: ${{ matrix.compiler }} | |
run: | | |
NVARCH=`uname -s`_`uname -m`; export NVARCH | |
PATH=$CUDA_ROOT/$NVARCH/22.5/compilers/bin:$PATH; export PATH | |
LD_LIBRARY_PATH=$CUDA_ROOT/$NVARCH/22.5/compilers/lib:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH | |
LD_LIBRARY_PATH=$CUDA_ROOT/$NVARCH/22.5/cuda/11.7/lib64:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH | |
LD_LIBRARY_PATH=$CUDA_ROOT/$NVARCH/22.5/cuda/11.7/lib64/stubs:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH | |
cd build | |
cmake -DFIRESTARTER_BUILD_TYPE="FIRESTARTER_CUDA" -DCMAKE_EXE_LINKER_FLAGS=-L"$CUDA_ROOT/$NVARCH/22.5/cuda/11.7/lib64/stubs" -LA .. | |
- name: Run CMake configure (OneAPI 2023.2.0) | |
if: matrix.CUDA == '0' && matrix.ONEAPI =='2023.2.0' | |
run: | | |
. /opt/intel/oneapi/setvars.sh | |
cd build | |
cmake -DFIRESTARTER_BUILD_TYPE="FIRESTARTER_ONEAPI" .. | |
- name: Run CMake configure (OneAPI 2024.0) | |
if: matrix.CUDA == '0' && matrix.ONEAPI =='2024.0' | |
run: | | |
. /opt/intel/oneapi/${{ matrix.ONEAPI }}/oneapi-vars.sh | |
cd build | |
cmake -DFIRESTARTER_BUILD_TYPE="FIRESTARTER_ONEAPI" .. | |
- name: Build (default, CUDA) | |
if: matrix.ONEAPI =='0' | |
run: | | |
cd build | |
make -j2 | |
- name: Build (OneAPI 2023.2.0) | |
if: matrix.CUDA == '0' && matrix.ONEAPI =='2023.2.0' | |
run: | | |
. /opt/intel/oneapi/setvars.sh | |
cd build | |
make -j2 | |
- name: Build (OneAPI 2024.0) | |
if: matrix.CUDA == '0' && matrix.ONEAPI =='2024.0' | |
run: | | |
. /opt/intel/oneapi/${{ matrix.ONEAPI }}/oneapi-vars.sh | |
cd build | |
make -j2 | |
- name: Strip binary (default) | |
if: matrix.CUDA == '0' && matrix.ONEAPI == '0' | |
run: | | |
cd build | |
strip src/FIRESTARTER | |
- name: Strip binary (CUDA) | |
if: matrix.CUDA != '0' && matrix.ONEAPI == '0' | |
run: | | |
cd build | |
strip src/FIRESTARTER_CUDA | |
- name: Strip binary (OneAPI) | |
if: matrix.ONEAPI != '0' && matrix.CUDA == '0' | |
run: | | |
cd build | |
strip src/FIRESTARTER_ONEAPI | |
- name: Test FIRESTARTER (default) | |
if: matrix.CUDA == '0' && matrix.ONEAPI == '0' | |
run: ./build/src/FIRESTARTER -t 1 | |
- uses: actions/upload-artifact@v4 | |
if: matrix.compiler == 'clang++-10' && matrix.CUDA == '0' && matrix.ONEAPI == '0' && ( github.event_name == 'push' && startsWith(github.ref, 'refs/tags/') || github.event_name == 'pull_request' ) | |
with: | |
name: FIRESTARTER-linux | |
retention-days: 1 | |
path: build/src/FIRESTARTER | |
- uses: actions/upload-artifact@v4 | |
if: matrix.compiler == 'clang++-10' && matrix.CUDA != '0' && matrix.ONEAPI == '0' && ( github.event_name == 'push' && startsWith(github.ref, 'refs/tags/') || github.event_name == 'pull_request' ) | |
with: | |
name: FIRESTARTER_CUDA_${{ matrix.CUDA }}-linux | |
retention-days: 1 | |
path: build/src/FIRESTARTER_CUDA | |
- uses: actions/upload-artifact@v4 | |
if: matrix.compiler == 'clang++-10' && matrix.CUDA == '0' && matrix.ONEAPI != '0' && ( github.event_name == 'push' && startsWith(github.ref, 'refs/tags/') || github.event_name == 'pull_request' ) | |
with: | |
name: FIRESTARTER_ONEAPI_${{ matrix.ONEAPI }}-linux | |
retention-days: 1 | |
path: build/src/FIRESTARTER_ONEAPI | |
- name: UnInstall g++-7 (if needed) | |
if: matrix.compiler == 'g++-7' | |
run: | | |
sudo apt remove g++-7 | |
sudo apt autoremove | |
- name: UnInstall g++-8 (if needed) | |
if: matrix.compiler == 'g++-8' | |
run: | | |
sudo apt remove g++-8 | |
sudo apt autoremove | |
- name: UnInstall clang++-8 (if needed) | |
if: matrix.compiler == 'clang++-8' | |
run: | | |
sudo apt remove clang-8 | |
sudo apt autoremove | |
- name: UnInstall clang++-9 (if needed) | |
if: matrix.compiler == 'clang++-9' | |
run: | | |
sudo apt remove clang-9 | |
sudo apt autoremove | |
- name: UnInstall clang++-10 (if needed) | |
if: matrix.compiler == 'clang++-10' | |
run: | | |
sudo apt remove clang-10 | |
sudo apt autoremove | |
- name: UnInstall CUDA runtime (if needed) | |
if: matrix.CUDA != '0' && matrix.ONEAPI == '0' | |
run: | | |
sudo rm -rf ${CUDA_ROOT} | |
- name: UnInstall OneAPI Base-Toolkit (if needed) | |
if: matrix.ONEAPI != '0' && matrix.CUDA == '0' | |
run: | | |
sudo apt remove intel-basekit-${{ matrix.ONEAPI }} | |
sudo apt autoremove | |
build-windows: | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [windows-2019] | |
cfg: | |
- { CUDA: '0', ONEAPI: '0', MSVC: true } | |
- { CUDA: '0', ONEAPI: '0', MSVC: false } | |
- { CUDA: '11.0', MSVC: true } | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: '0' | |
- name: Install CMake | |
uses: crazy-max/ghaction-chocolatey@v3 | |
with: | |
args: install cmake | |
- name: Install Mingw | |
uses: crazy-max/ghaction-chocolatey@v3 | |
if: matrix.cfg.MSVC == false | |
with: | |
args: install mingw | |
- name: Install CUDA Toolkit | |
if: matrix.cfg.CUDA == '11.0' | |
shell: pwsh | |
run: | | |
Set-ExecutionPolicy unrestricted | |
& '.github\\install-cuda.ps1' -Version '11.0' | |
- uses: ilammy/msvc-dev-cmd@v1 | |
if: matrix.cfg.MSVC == true | |
- name: Create build directory | |
shell: pwsh | |
run: | | |
mkdir build | |
- name: Run CMake configure | |
if: matrix.cfg.CUDA == '0' && matrix.cfg.MSVC == false | |
shell: pwsh | |
run: | | |
cd build | |
cmake -G "MinGW Makefiles" .. | |
- name: Run CMake configure | |
if: matrix.cfg.CUDA == '0' && matrix.cfg.MSVC == true | |
shell: pwsh | |
run: | | |
cd build | |
cmake -G "NMake Makefiles" .. | |
- name: Run CMake configure | |
if: matrix.cfg.CUDA != '0' | |
shell: pwsh | |
run: | | |
cd build | |
ls | |
dir "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0" | |
cmake -G "NMake Makefiles" -DFIRESTARTER_BUILD_TYPE="FIRESTARTER_CUDA" -DCUDAToolkit_ROOT="C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v11.0" .. | |
- name: Build | |
shell: pwsh | |
run: | | |
cd build | |
cmake --build . -j2 | |
- name: Copy Hwloc DLL | |
shell: pwsh | |
if: matrix.cfg.MSVC == true | |
run: | | |
cd build | |
cp ../lib/Hwloc/sources/contrib/windows/x64/Release/libhwloc-15.dll src | |
- name: Strip binary | |
if: matrix.cfg.CUDA == '0' && matrix.cfg.MSVC == false | |
run: | | |
cd build | |
strip src\FIRESTARTER.exe | |
- name: Test FIRESTARTER | |
if: matrix.cfg.CUDA == '0' | |
shell: pwsh | |
run: .\build\src\FIRESTARTER.exe -t 1 | |
- uses: actions/upload-artifact@v4 | |
if: matrix.cfg.CUDA == '0' && matrix.cfg.MSVC == true && ( github.event_name == 'push' && startsWith(github.ref, 'refs/tags/') || github.event_name == 'pull_request' ) | |
with: | |
name: FIRESTARTER-windows | |
retention-days: 1 | |
path: | | |
build\src\FIRESTARTER.exe | |
build\src\libhwloc-15.dll | |
- uses: actions/upload-artifact@v4 | |
if: matrix.cfg.CUDA != '0' && ( github.event_name == 'push' && startsWith(github.ref, 'refs/tags/') || github.event_name == 'pull_request' ) | |
with: | |
name: FIRESTARTER_CUDA_${{ matrix.cfg.CUDA }}-windows | |
retention-days: 1 | |
path: | | |
build\src\FIRESTARTER_CUDA.exe | |
build\src\libhwloc-15.dll | |
build-macos: | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [macos-12, macos-13] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: '0' | |
- name: Install Homebrew dependencies | |
run: | | |
brew upgrade cmake | |
- name: Create build directory | |
run: | | |
mkdir build | |
- name: Run CMake configure | |
run: | | |
cd build | |
cmake .. | |
- name: Build | |
run: | | |
cd build | |
make -j2 | |
- name: Strip binary | |
run: | | |
cd build | |
strip src/FIRESTARTER | |
- name: Test FIRESTARTER | |
run: | | |
cd build | |
./src/FIRESTARTER -t 1 | |
- uses: actions/upload-artifact@v4 | |
if: matrix.os == 'macos-12' && ( github.event_name == 'push' && startsWith(github.ref, 'refs/tags/') || github.event_name == 'pull_request' ) | |
with: | |
retention-days: 1 | |
name: FIRESTARTER-macOS_12 | |
path: build/src/FIRESTARTER | |
- uses: actions/upload-artifact@v4 | |
if: matrix.os == 'macos-13' && ( github.event_name == 'push' && startsWith(github.ref, 'refs/tags/') || github.event_name == 'pull_request' ) | |
with: | |
retention-days: 1 | |
name: FIRESTARTER-macOS_13 | |
path: build/src/FIRESTARTER | |
create-download: | |
name: Create download for Website | |
runs-on: ubuntu-latest | |
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/') || github.event_name == 'pull_request' | |
needs: [build-linux-hip-rocm, build-linux, build-macos, build-windows] | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: '0' | |
path: 'sources' | |
- name: Checkout submodules | |
run: | | |
cd sources | |
git submodule update --init --recursive | |
- name: Create Build directory | |
run: | | |
mkdir build | |
# Linux | |
- name: Retrieve FIRESTARTER-linux | |
uses: actions/download-artifact@v4 | |
with: | |
name: FIRESTARTER-linux | |
path: FIRESTARTER | |
- name: Move binary to right directory | |
run: | | |
mv FIRESTARTER/FIRESTARTER FIRESTARTER-linux | |
rm -rf FIRESTARTER | |
chmod +x FIRESTARTER-linux | |
# Linux CUDA 8.0 | |
- name: Retrieve FIRESTARTER_CUDA_8.0-linux | |
uses: actions/download-artifact@v4 | |
with: | |
name: FIRESTARTER_CUDA_8.0-linux | |
path: FIRESTARTER | |
- name: Move binary to right directory | |
run: | | |
mv FIRESTARTER/FIRESTARTER_CUDA FIRESTARTER_CUDA_8.0 | |
rm -rf FIRESTARTER | |
chmod +x FIRESTARTER_CUDA_8.0 | |
# Linux CUDA 11.0 | |
- name: Retrieve FIRESTARTER_CUDA_11.0-linux | |
uses: actions/download-artifact@v4 | |
with: | |
name: FIRESTARTER_CUDA_11.0-linux | |
path: FIRESTARTER | |
- name: Move binary to right directory | |
run: | | |
mv FIRESTARTER/FIRESTARTER_CUDA FIRESTARTER_CUDA_11.0 | |
rm -rf FIRESTARTER | |
chmod +x FIRESTARTER_CUDA_11.0 | |
# Linux CUDA HPC | |
- name: Retrieve FIRESTARTER_CUDA_NVHPC-22.5-linux | |
uses: actions/download-artifact@v4 | |
with: | |
name: FIRESTARTER_CUDA_NVHPC-22.5-linux | |
path: FIRESTARTER | |
- name: Move binary to right directory | |
run: | | |
mv FIRESTARTER/FIRESTARTER_CUDA FIRESTARTER_CUDA_NVHPC-22.5 | |
rm -rf FIRESTARTER | |
chmod +x FIRESTARTER_CUDA_NVHPC-22.5 | |
# Linux OneAPI | |
- name: Retrieve FIRESTARTER_ONEAPI_2024.0-linux | |
uses: actions/download-artifact@v4 | |
with: | |
name: FIRESTARTER_ONEAPI_2024.0-linux | |
path: FIRESTARTER | |
- name: Move binary to right directory | |
run: | | |
mv FIRESTARTER/FIRESTARTER_ONEAPI FIRESTARTER_ONEAPI_2024.0 | |
rm -rf FIRESTARTER | |
chmod +x FIRESTARTER_ONEAPI_2024.0 | |
- name: Retrieve FIRESTARTER_ONEAPI_2023.2.0-linux | |
uses: actions/download-artifact@v4 | |
with: | |
name: FIRESTARTER_ONEAPI_2023.2.0-linux | |
path: FIRESTARTER | |
- name: Move binary to right directory | |
run: | | |
mv FIRESTARTER/FIRESTARTER_ONEAPI FIRESTARTER_ONEAPI_2023.2.0 | |
rm -rf FIRESTARTER | |
chmod +x FIRESTARTER_ONEAPI_2023.2.0 | |
# Linux HIP 6.2 | |
- name: Retrieve FIRESTARTER_HIP_6.2-linux | |
uses: actions/download-artifact@v4 | |
with: | |
name: FIRESTARTER_HIP_6.2-linux | |
path: FIRESTARTER | |
- name: Move binary to right directory | |
run: | | |
mv FIRESTARTER/FIRESTARTER_HIP FIRESTARTER_HIP_6.2 | |
rm -rf FIRESTARTER | |
chmod +x FIRESTARTER_HIP_6.2 | |
- name: Retrieve FIRESTARTER-macOS_12 | |
uses: actions/download-artifact@v4 | |
with: | |
name: FIRESTARTER-macOS_12 | |
path: FIRESTARTER | |
- name: Move binary to right directory | |
run: | | |
mv FIRESTARTER/FIRESTARTER FIRESTARTER-macOS_12 | |
rm -rf FIRESTARTER | |
chmod +x FIRESTARTER-macOS_12 | |
- name: Retrieve FIRESTARTER-macOS_13 | |
uses: actions/download-artifact@v4 | |
with: | |
name: FIRESTARTER-macOS_13 | |
path: FIRESTARTER | |
- name: Move binary to right directory | |
run: | | |
mv FIRESTARTER/FIRESTARTER FIRESTARTER-macOS_13 | |
rm -rf FIRESTARTER | |
chmod +x FIRESTARTER-macOS_13 | |
# Windows | |
- name: Retrieve FIRESTARTER-windows | |
uses: actions/download-artifact@v4 | |
with: | |
name: FIRESTARTER-windows | |
path: FIRESTARTER | |
- name: Move binary to right directory | |
run: | | |
mv FIRESTARTER/FIRESTARTER.exe FIRESTARTER-windows.exe | |
mv FIRESTARTER/libhwloc-15.dll libhwloc-15.dll | |
rm -rf FIRESTARTER | |
# Windows CUDA | |
- name: Retrieve FIRESTARTER_CUDA_11.0-windows | |
uses: actions/download-artifact@v4 | |
with: | |
name: FIRESTARTER_CUDA_11.0-windows | |
path: FIRESTARTER | |
- name: Move binary to right directory | |
run: | | |
mv FIRESTARTER/FIRESTARTER_CUDA.exe FIRESTARTER_CUDA_11.0-windows.exe | |
mv FIRESTARTER/libhwloc-15.dll libhwloc-15.dll | |
rm -rf FIRESTARTER | |
# Create tar.gz | |
- name: Copy CHANGELOG, README and LICENSE | |
run: | | |
grep -v '\$\$' < sources/CHANGELOG > CHANGELOG | |
cat sources/README.md | tail -n +3 > README.md | |
cp sources/LICENSE LICENSE | |
cp sources/3rd-party-licenses . -r | |
cp sources/examples . -r | |
- name: Create tar.gz | |
run: | | |
mv FIRESTARTER-linux FIRESTARTER | |
rm -rf sources/.git* | |
tar -cvzf FIRESTARTER.tar.gz CHANGELOG README.md LICENSE libhwloc-15.dll 3rd-party-licenses examples sources FIRESTARTER* | |
- uses: actions/upload-artifact@v4 | |
with: | |
retention-days: 5 | |
name: FIRESTARTER.tar.gz | |
path: FIRESTARTER.tar.gz |