Skip to content

Commit 5fff126

Browse files
committed
Parallelize builds, single stream publish.
1 parent 7dfc2d9 commit 5fff126

File tree

1 file changed

+57
-3
lines changed

1 file changed

+57
-3
lines changed

.github/workflows/release.yaml

Lines changed: 57 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,33 @@ jobs:
3333
env:
3434
BUILD_NUMBER: ${{ env.BUILD_NUMBER }}
3535
run: make -e ${{ matrix.target }}
36+
- name: Upload build artefact
37+
uses: actions/upload-artifact@v1
38+
with:
39+
name: ${{ matrix.target }}
40+
path: ./dist/Python-${{ env.PY_VERSION }}-${{ matrix.target }}-support.${{ env.BUILD_NUMBER }}.tar.gz
41+
42+
release:
43+
runs-on: ubuntu-latest
44+
needs: build
45+
steps:
46+
- name: Set build variables
47+
env:
48+
TAG_NAME: ${{ github.ref }}
49+
run: |
50+
export TAG=$(basename $TAG_NAME)
51+
echo "TAG=${TAG}"
52+
export TAG_VERSION="${TAG%-*}"
53+
export TAG_BUILD="${TAG#*-}"
54+
echo "PY_VERSION=${TAG_VERSION}"
55+
echo "BUILD_NUMBER=${TAG_BUILD}"
56+
echo "::set-env name=TAG::${TAG}"
57+
echo "::set-env name=PY_VERSION::${TAG_VERSION}"
58+
echo "::set-env name=BUILD_NUMBER::${TAG_BUILD}"
59+
- name: Download build artefacts
60+
uses: actions/download-artifact@v2
61+
- name: Display structure of downloaded files
62+
run: ls -R
3663
- name: Create Release
3764
id: create_release
3865
uses: actions/create-release@v1
@@ -43,12 +70,39 @@ jobs:
4370
release_name: ${{ github.ref }}
4471
draft: true
4572
prerelease: false
46-
- name: Upload Release Asset to Github
73+
- name: Upload macOS Release Asset to Github
74+
uses: actions/upload-release-asset@v1
75+
env:
76+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
77+
with:
78+
upload_url: ${{ steps.create_release.outputs.upload_url }}
79+
asset_path: ./macOS/Python-${{ env.PY_VERSION }}-macOS-support.${{ env.BUILD_NUMBER }}.tar.gz
80+
asset_name: Python-${{ env.PY_VERSION }}-macOS-support.${{ env.BUILD_NUMBER }}.tar.gz
81+
asset_content_type: application/gzip
82+
- name: Upload iOS Release Asset to Github
83+
uses: actions/upload-release-asset@v1
84+
env:
85+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
86+
with:
87+
upload_url: ${{ steps.create_release.outputs.upload_url }}
88+
asset_path: ./iOS/Python-${{ env.PY_VERSION }}-iOS-support.${{ env.BUILD_NUMBER }}.tar.gz
89+
asset_name: Python-${{ env.PY_VERSION }}-iOS-support.${{ env.BUILD_NUMBER }}.tar.gz
90+
asset_content_type: application/gzip
91+
- name: Upload tvOS Release Asset to Github
92+
uses: actions/upload-release-asset@v1
93+
env:
94+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
95+
with:
96+
upload_url: ${{ steps.create_release.outputs.upload_url }}
97+
asset_path: ./tvOS/Python-${{ env.PY_VERSION }}-tvOS-support.${{ env.BUILD_NUMBER }}.tar.gz
98+
asset_name: Python-${{ env.PY_VERSION }}-tvOS-support.${{ env.BUILD_NUMBER }}.tar.gz
99+
asset_content_type: application/gzip
100+
- name: Upload watchOS Release Asset to Github
47101
uses: actions/upload-release-asset@v1
48102
env:
49103
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
50104
with:
51105
upload_url: ${{ steps.create_release.outputs.upload_url }}
52-
asset_path: ./dist/Python-${{ env.PY_VERSION }}-${{ matrix.target }}-support.${{ env.BUILD_NUMBER }}.tar.gz
53-
asset_name: Python-${{ env.PY_VERSION }}-${{ matrix.target }}-support.${{ env.BUILD_NUMBER }}.tar.gz
106+
asset_path: ./watchOS/Python-${{ env.PY_VERSION }}-watchOS-support.${{ env.BUILD_NUMBER }}.tar.gz
107+
asset_name: Python-${{ env.PY_VERSION }}-watchOS-support.${{ env.BUILD_NUMBER }}.tar.gz
54108
asset_content_type: application/gzip

0 commit comments

Comments
 (0)