Geo*_*rge 6 python github pypi python-wheel github-actions
也许是一个有点宽泛的问题,但我认为这对于任何使用 github 的 python 包的维护者来说都是相关的,并且可以显着减少他们的工作量,所以希望权力能够让它成立。
本质上,在我看来:
所以我的问题是:
我可以想到涉及中间 s3 存储桶的各种解决方案,但对于 pypi 和/或 github 操作在这方面的工作方式,我可能犯了很大的错误,因此我正在浏览一个非常简单的问题。
正如我的评论中提到的,这是运行并行构建但单个上传的一种可能方法:
name: 'Aggregation'
on: [push]
env:
ARTIFACT: artifact.bin
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os:
- windows-latest
- ubuntu-latest
- macos-latest
steps:
- uses: actions/checkout@v2
- shell: bash
run: |
echo "Run your build command here"
echo "This is a fake ${{ matrix.os }} build artifact" >$ARTIFACT
- uses: actions/upload-artifact@v2
with:
name: build-${{ matrix.os }}-${{ github.sha }}
path: ${{ env.ARTIFACT }}
publish:
runs-on: ubuntu-latest
needs: build
steps:
- uses: actions/download-artifact@v2
with:
path: artifacts
- shell: bash
working-directory: artifacts
run: |
for i in $( ls ); do
cat $i/$ARTIFACT
done
Run Code Online (Sandbox Code Playgroud)
每个矩阵作业都会构建自己的工件并将其上传到 github。发布作业会等待所有先前作业完成,然后再下载所有工件并在本例中迭代它们。另一个好处是,如果任何矩阵作业失败,发布都会失败。当然,只有当所有操作系统上的构建步骤和命令都相同时,这才很简单。
| 归档时间: |
|
| 查看次数: |
2294 次 |
| 最近记录: |