GitHub Actions C++ CUDA 自动化编译踩坑

背景

最近想尝试一下通过GitHub Actions的自动化编译测试来给Github上项目加上一个“Windows passing”的小图标,如下图所示,这是最终得到的结果。
在这里插入图片描述
但是在尝试的过程中有不少坑浪费了很多不必要的时间,所以本文稍微记录一下当时遇到的问题以及解决的方法。

项目构建背景

  • 通过cmake来自动化构建C++项目
  • 使用CUDA框架
  • 使用了子项目(submodules)
  • 使用SSH来克隆远程项目

踩坑记录

  • 最先产生的问题是主要是由于使用了CUDA,那么直接用官方的一些cmake实例很难完成环境配置,因此我通过查资料发现了这个Github的开源项目(CUDA + Cmake example using Github Actions),其中提供了在Windows平台和Ubuntu平台上的CUDA自动化编译案例,由于我现在的项目只是在Windows平台上进行开发和使用所以本文只简单分析一下Windows平台上的案例(cuda-cmake-github-actions/.github/workflows/Windows.yml),如下所示:
# Windows builds.
name: Windows

on:
  push:
    paths:
      - "**"
      - "!.github/**"
      - ".github/workflows/Windows.yml"
  # pull_request:
  #   paths:
  #     - "**"
  #     - "!.github"
  #     - ".github/workflows/Windows.yml"

此处脚本定义的是监测到某事件发生时,就会调用这个脚本中所写的job。此处表示的是当开发者push本地的commit到远端时会调用Windows.yml这个脚本。

jobs:
  build:
    runs-on: ${
   
   { matrix.os }}
    strategy:
      fail-fast: false
      # explicit include-based build matrix, of known valid options
      matrix:
        include:
          # Windows2019 & VS 2019 supports 10.1+
          - os: windows-2019
            cuda: "11.0.167"
            visual_studio: "Visual Studio 16 2019"
          - os: windows-2019
            cuda: "10.2.89"
            visual_studio: "
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值