【发布时间】:2019-11-29 22:03:10
【问题描述】:
我正在尝试设置 Azure Pipelines 以在此处为各种平台生成 Idris 1 二进制文件:https://github.com/zenntenn/Idris-dev from head 并使用它从此处为各种平台构建 Idris 2 head:https://github.com/zenntenn/Idris2。
我的问题是我不知道如何正确配置这两个管道以使其正常工作。
我一直在尝试遵循此处的文档:
我不知道如何获得使其适用于 Idris 2 所需的确切 YAML。
Idris 1 管道在这里:https://dev.azure.com/zentenca/Idris/_build?definitionId=2
Idris 2 管道在这里:https://dev.azure.com/zentenca/Idris/_build?definitionId=1
这是我当前 Idris 1 azure-pipelines.yml 的相关部分:
# Test on Linux
- job: Linux
pool:
vmImage: 'ubuntu-16.04'
steps:
- script: |
echo Collection ID is $(System.CollectionId)
sudo add-apt-repository ppa:hvr/ghc
sudo apt-get update
sudo apt-get install ghc-8.2.2 cabal-install-2.2
sudo update-alternatives --config opt-ghc
sudo update-alternatives --config opt-cabal
displayName: 'Prepare system'
- script: |
export PATH=/opt/ghc/bin:$HOME/.cabal/bin:$PATH
cabal update
CABALFLAGS="-fffi -fci" make
displayName: 'Build Idris'
- script: |
export PATH=/opt/ghc/bin:$HOME/.cabal/bin:$PATH
make test_c
displayName: 'Run tests'
- publish: $(System.DefaultWorkingDirectory)/
artifact: LinuxHead
这是我目前为 Idris 2 的 azure-pipelines.yml 所拥有的:
# Build Idris 2 from Idris 1. Idris 1 located here: https://github.com/idris-lang/Idris-dev
jobs:
# Linux build using the latest Idris 1
- job: Linux_Latest
pool:
vmImage: 'ubuntu-16.04'
steps:
- task: DownloadPipelineArtifact@2
inputs:
source: 'specific'
artifact: LinuxHead
project: e3cceb10-4a17-48c7-a9b8-72264bd71a81
pipelineid: 2
runVersion: 'latest'
- script: |
echo Works so far
displayName: 'Linux build using the latest Idris 1'
我正在尝试以一种我可以在 Idris 2 管道中访问它们的方式显示 Idris 1 的构建结果。
当前错误是:“输入字符串的格式不正确。”
如果在 Idris 2 azure-pipelines.yml 中我将 pipelineid: 更改为 pipeline: 我收到错误:
“TF50309:以下帐户没有足够的权限完成操作:Idris Build Service (zentenca)。执行此操作需要以下权限:查看项目级信息。”
使用管道的示例构建结果:在这里:https://dev.azure.com/zentenca/Idris/_build/results?buildId=35&view=results
【问题讨论】:
标签: azure azure-devops continuous-integration azure-pipelines