我想使用GitHub actions自动化构建过程,该过程包括以下步骤:
- 结帐
- 构建
- 包装
- 标签
- 增量版本
- 提交更改
- 推送标签和新提交
- 将软件包推送到仓库
我为GitHub actions创建了这个main.yml:
name: Build
on:
repository_dispatch:
types: build
jobs:
build:
name: Run build
runs-on: windows-latest
steps:
- uses: actions/checkout@v1
with:
ref: 'master'
token: ${{ secrets.GITHUB_TOKEN }}
# checkout master,'cause of detached head
- name: Checkout master
run: git checkout master
# run the build script
- name: Build
if: success()
run: .\build\build.ps1
# pack everything
- name: Pack
if: success()
run: .\build\pack.ps1
# tag this version
- name: Tag
if: success()
run: .\build\tag.ps1
# increment version
- name: Increment Version
if: success()
run: .\build\increment-version.ps1
# Commit changes
- name: Add & Commit
if: success()
run: |
git config user.email actions@github.com
git config user.name "GitHub actions"
git commit -a -m "Automated build" --author="GitHub actions<actions@github.com>"
# todo: push changes to remote/origin
- name: Git Push
if: success()
run: git push
# Push package to a repo
- name: Push Package
if: success()
run: .\build\push-package.ps1
我尝试使用市场提供的操作,但是很遗憾,我必须在Windows计算机上构建此应用程序。
大多数acions退出并显示以下错误消息:##[error]Container action is only supported on Linux
。
另一个也不行,这就是为什么我尝试使用run
选项的原因。
不幸的是,使用这种方式进行推送并没有起作用。我得到以下输出:
Logon failed,use ctrl+c to cancel basic credential prompt.
bash: /dev/tty: No such device or address
error: failed to execute prompt script (exit code 1)
(我必须手动完成任务。)
我认为我必须向push命令提供{{ secrets.GITHUB_TOKEN }}
,但是我只找到一种使用基本身份验证的方法,但是我发现所有使用该令牌作为承载令牌的指南(通用指南)。
如何在Windows上的GitHub actions中将更改推回源/远程?