我想使用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 [email protected]
git config user.name "GitHub Actions"
git commit -a -m "Automated build" --author="GitHub Actions<[email protected]>"
# 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中将更改推回源/远程?
使用GitHub Push by ad-m解决了我的问题。我很确定我已经测试了此操作。