利用Github Actions实现Dart多平台编译

Dart 用起来是挺舒服的,但是不支持交叉编译。导致我在macOS上编译的二进制工具,在路由器上是无法使用的,因此我们利用Github Actions 实现多个平台编译,无需自己安装虚拟机配置各个平台环境了

仓库设置Actions

选择set up a workflow yourself ,设置一个工作流配置文件

# 测试Github Action 多平台编译 Dart命令行项目
name: Dart

# 打Tag触发
# on:
#   create

# push触发
on:
  push:
    branches: [ main ]
  pull_request:
    branches: [ main ]

jobs:
  build:
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        os: [macos-latest, windows-latest, ubuntu-latest]

    steps:
      - uses: actions/checkout@v2
      - uses: dart-lang/[email protected]

      # 安装依赖,测试环境
      - name: Install dependencies
        run: dart pub global activate stagehand

      # 查看Dart版本
      - name: Report version
        run: dart --version

      # 导入依赖
      - name: Install dependencies
        run: dart pub get

      # 代码格式化
      - name: Check formatting (using dev dartfmt release)
        run: dart format --output=none --set-exit-if-changed .

      # 编译二进制
      - name: Compile
        run: |
            mkdir ${{ github.workspace }}/package
            dart compile exe  bin/flowcli.dart -o ${{ github.workspace }}/package/flowcli

      # 上传成果物
      - uses: actions/upload-artifact@v1
        with:
          name: ${{ runner.os }}_flowcli
          path: ${{ github.workspace }}/package
        name: 'Upload File'

 

修改main.yml配置文件

这里根据实际项目,修改图中1,2两处标识,我这里的编译成果物就叫flowcli

编辑完了,点击右侧start commit提交

示例项目的Workflows
https://github.com/Amberler/iOSDevTool/actions

版权声明:
作者:Amber
链接:http://late.run/archives/119
来源:LATE-努力努力再努力
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>
文章目录
关闭
目 录