release.yml (poetry-1.1.15) | : | release.yml (poetry-1.2.0) | ||
---|---|---|---|---|
name: Release | name: Release | |||
on: | on: | |||
push: | push: | |||
tags: | tags: | |||
- '*.*.*' | - '*.*.*' | |||
pull_request: | ||||
paths: | ||||
- '!**' | ||||
- '.github/workflows/release.yml' | ||||
- 'pyproject.toml' | ||||
- 'poetry.lock' | ||||
- 'sonnet' | ||||
- 'make-nix-release.sh' | ||||
jobs: | jobs: | |||
release: | ||||
Linux: | name: Release | |||
runs-on: ubuntu-latest | runs-on: ubuntu-latest | |||
steps: | steps: | |||
- uses: actions/checkout@v2 | - name: Checkout code | |||
- name: Get tag | uses: actions/checkout@v2 | |||
id: tag | ||||
run: | | ||||
if [[ ${GITHUB_REF} == refs/tags/* ]]; then | ||||
echo ::set-output name=tag::${GITHUB_REF#refs/tags/} | ||||
else | ||||
echo ::set-output name=tag::${GITHUB_SHA::7} | ||||
fi | ||||
- name: Building release | ||||
run: | | ||||
make linux_release | ||||
- name: Upload release file | ||||
uses: actions/upload-artifact@v2 | ||||
with: | ||||
name: poetry-${{ steps.tag.outputs.tag }}-linux.tar.gz | ||||
path: releases/poetry-*-linux.tar.gz | ||||
- name: Upload checksum file | ||||
uses: actions/upload-artifact@v2 | ||||
with: | ||||
name: poetry-${{ steps.tag.outputs.tag }}-linux.sha256sum | ||||
path: releases/poetry-*-linux.sha256sum | ||||
MacOS: | ||||
runs-on: macos-latest | ||||
steps: | - name: Set up Python 3.9 | |||
- uses: actions/checkout@v2 | uses: actions/setup-python@v2 | |||
- name: Get tag | with: | |||
id: tag | python-version: "3.9" | |||
run: | | ||||
if [[ ${GITHUB_REF} == refs/tags/* ]]; then | ||||
echo ::set-output name=tag::${GITHUB_REF#refs/tags/} | ||||
else | ||||
echo ::set-output name=tag::${GITHUB_SHA::7} | ||||
fi | ||||
- name: Set up Python 3.8 | ||||
uses: actions/setup-python@v2 | ||||
with: | ||||
python-version: "3.8" | ||||
- name: Install Poetry | ||||
run: | | ||||
python get-poetry.py -y | ||||
source $HOME/.poetry/env | ||||
- name: Install dependencies | ||||
run: | | ||||
source $HOME/.poetry/env | ||||
poetry install --no-dev | ||||
- name: Preparing Python executables | ||||
run: | | ||||
curl -L https://github.com/sdispater/python-binaries/releases/download/2 | ||||
.7.18/python-2.7.18.macos.tar.xz -o python-2.7.18.tar.xz | ||||
curl -L https://github.com/sdispater/python-binaries/releases/download/3 | ||||
.5.9/python-3.5.9.macos.tar.xz -o python-3.5.9.tar.xz | ||||
curl -L https://github.com/sdispater/python-binaries/releases/download/3 | ||||
.6.8/python-3.6.8.macos.tar.xz -o python-3.6.8.tar.xz | ||||
curl -L https://github.com/sdispater/python-binaries/releases/download/3 | ||||
.7.6/python-3.7.6.macos.tar.xz -o python-3.7.6.tar.xz | ||||
curl -L https://github.com/sdispater/python-binaries/releases/download/3 | ||||
.8.3/python-3.8.3.macos.tar.xz -o python-3.8.3.tar.xz | ||||
curl -L https://github.com/sdispater/python-binaries/releases/download/3 | ||||
.9.5/python-3.9.5.macos.tar.xz -o python-3.9.5.tar.xz | ||||
curl -L https://github.com/sdispater/python-binaries/releases/download/3 | ||||
.10.2/python-3.10.2.macos.tar.xz -o python-3.10.2.tar.xz | ||||
tar -zxf python-2.7.18.tar.xz | ||||
tar -zxf python-3.5.9.tar.xz | ||||
tar -zxf python-3.6.8.tar.xz | ||||
tar -zxf python-3.7.6.tar.xz | ||||
tar -zxf python-3.8.3.tar.xz | ||||
tar -zxf python-3.9.5.tar.xz | ||||
tar -zxf python-3.10.2.tar.xz | ||||
- name: Build specific release | ||||
run: | | ||||
source $HOME/.poetry/env | ||||
poetry run python sonnet make release --ansi -P "2.7:python-2.7.18/bin/p | ||||
ython" -P "3.5:python-3.5.9/bin/python" -P "3.6:python-3.6.8/bin/python" -P "3.7 | ||||
:python-3.7.6/bin/python" -P "3.8:python-3.8.3/bin/python" -P "3.9:python-3.9.5/ | ||||
bin/python" -P "3.10:python-3.10.2/bin/python" | ||||
- name: Upload release file | ||||
uses: actions/upload-artifact@v2 | ||||
with: | ||||
name: poetry-${{ steps.tag.outputs.tag }}-darwin.tar.gz | ||||
path: releases/poetry-*-darwin.tar.gz | ||||
- name: Upload checksum file | ||||
uses: actions/upload-artifact@v2 | ||||
with: | ||||
name: poetry-${{ steps.tag.outputs.tag }}-darwin.sha256sum | ||||
path: releases/poetry-*-darwin.sha256sum | ||||
Windows: | - name: Install Poetry | |||
runs-on: windows-latest | run: python install-poetry.py -y | |||
steps: | - name: Update PATH | |||
- uses: actions/checkout@v2 | run: echo "$HOME/.local/bin" >> $GITHUB_PATH | |||
- name: Get tag | ||||
id: tag | ||||
shell: bash | ||||
run: | | ||||
if [[ ${GITHUB_REF} == refs/tags/* ]]; then | ||||
echo ::set-output name=tag::${GITHUB_REF#refs/tags/} | ||||
else | ||||
echo ::set-output name=tag::${GITHUB_SHA::7} | ||||
fi | ||||
- name: Set up Python 3.8 | ||||
uses: actions/setup-python@v2 | ||||
with: | ||||
python-version: "3.8" | ||||
- name: Install Poetry | ||||
run: | | ||||
python get-poetry.py -y | ||||
$env:Path += ";$env:Userprofile\.poetry\bin" | ||||
- name: Install dependencies | ||||
run: | | ||||
$env:Path += ";$env:Userprofile\.poetry\bin" | ||||
poetry install --no-dev | ||||
- name: Preparing Python executables | ||||
run: | | ||||
Invoke-WebRequest https://github.com/sdispater/python-binaries/releases/ | ||||
download/2.7.17/python-2.7.17.windows.tar.xz -O python-2.7.17.tar.xz | ||||
Invoke-WebRequest https://github.com/sdispater/python-binaries/releases/ | ||||
download/3.5.4/python-3.5.4.windows.tar.xz -O python-3.5.4.tar.xz | ||||
Invoke-WebRequest https://github.com/sdispater/python-binaries/releases/ | ||||
download/3.6.8/python-3.6.8.windows.tar.xz -O python-3.6.8.tar.xz | ||||
Invoke-WebRequest https://github.com/sdispater/python-binaries/releases/ | ||||
download/3.7.6/python-3.7.6.windows.tar.xz -O python-3.7.6.tar.xz | ||||
Invoke-WebRequest https://github.com/sdispater/python-binaries/releases/ | ||||
download/3.8.3/python-3.8.3.windows.tar.xz -O python-3.8.3.tar.xz | ||||
Invoke-WebRequest https://github.com/sdispater/python-binaries/releases/ | ||||
download/3.9.5/python-3.9.5.windows.tar.xz -O python-3.9.5.tar.xz | ||||
Invoke-WebRequest https://github.com/sdispater/python-binaries/releases/ | ||||
download/3.10.2/python-3.10.2.windows.tar.xz -O python-3.10.2.tar.xz | ||||
7z x python-2.7.17.tar.xz | ||||
7z x python-3.5.4.tar.xz | ||||
7z x python-3.6.8.tar.xz | ||||
7z x python-3.7.6.tar.xz | ||||
7z x python-3.8.3.tar.xz | ||||
7z x python-3.9.5.tar.xz | ||||
7z x python-3.10.2.tar.xz | ||||
7z x python-2.7.17.tar | ||||
7z x python-3.4.4.tar | ||||
7z x python-3.5.4.tar | ||||
7z x python-3.6.8.tar | ||||
7z x python-3.7.6.tar | ||||
7z x python-3.8.3.tar | ||||
7z x python-3.9.5.tar | ||||
7z x python-3.10.2.tar | ||||
- name: Build specific release | ||||
run: | | ||||
$env:Path += ";$env:Userprofile\.poetry\bin" | ||||
poetry run python sonnet make release --ansi -P "2.7:python-2.7.17\pytho | ||||
n.exe" -P "3.5:python-3.5.4\python.exe" -P "3.6:python-3.6.8\python.exe" -P "3.7 | ||||
:python-3.7.6\python.exe" -P "3.8:python-3.8.3\python.exe" -P "3.9:python-3.9.5\ | ||||
python.exe" -P "3.10:python-3.10.2\python.exe" | ||||
- name: Upload release file | ||||
uses: actions/upload-artifact@v2 | ||||
with: | ||||
name: poetry-${{ steps.tag.outputs.tag }}-win32.tar.gz | ||||
path: releases/poetry-*-win32.tar.gz | ||||
- name: Upload checksum file | ||||
uses: actions/upload-artifact@v2 | ||||
with: | ||||
name: poetry-${{ steps.tag.outputs.tag }}-win32.sha256sum | ||||
path: releases/poetry-*-win32.sha256sum | ||||
Release: | - name: Build project for distribution | |||
needs: [Linux, MacOS, Windows] | run: poetry build | |||
runs-on: ubuntu-latest | ||||
if: startsWith(github.ref, 'refs/tags/') | ||||
steps: | - name: Check Version | |||
- name: Checkout code | id: check-version | |||
uses: actions/checkout@v2 | ||||
- name: Get tag | ||||
id: tag | ||||
run: | | run: | | |||
echo ::set-output name=tag::${GITHUB_REF#refs/tags/} | [[ "$(poetry version --short)" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]] \ | |||
- name: Download Linux release file | || echo ::set-output name=prerelease::true | |||
uses: actions/download-artifact@master | ||||
with: | ||||
name: poetry-${{ steps.tag.outputs.tag }}-linux.tar.gz | ||||
path: releases/ | ||||
- name: Download Linux checksum file | ||||
uses: actions/download-artifact@master | ||||
with: | ||||
name: poetry-${{ steps.tag.outputs.tag }}-linux.sha256sum | ||||
path: releases/ | ||||
- name: Download MacOS release file | ||||
uses: actions/download-artifact@master | ||||
with: | ||||
name: poetry-${{ steps.tag.outputs.tag }}-darwin.tar.gz | ||||
path: releases/ | ||||
- name: Download MacOS checksum file | ||||
uses: actions/download-artifact@master | ||||
with: | ||||
name: poetry-${{ steps.tag.outputs.tag }}-darwin.sha256sum | ||||
path: releases/ | ||||
- name: Download Windows release file | ||||
uses: actions/download-artifact@master | ||||
with: | ||||
name: poetry-${{ steps.tag.outputs.tag }}-win32.tar.gz | ||||
path: releases/ | ||||
- name: Download Windows checksum file | ||||
uses: actions/download-artifact@master | ||||
with: | ||||
name: poetry-${{ steps.tag.outputs.tag }}-win32.sha256sum | ||||
path: releases/ | ||||
- name: Create Release | - name: Create Release | |||
id: create_release | uses: ncipollo/release-action@v1 | |||
uses: actions/create-release@v1 | ||||
env: | ||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||||
with: | with: | |||
tag_name: ${{ steps.tag.outputs.tag }} | artifacts: "dist/*" | |||
release_name: ${{ steps.tag.outputs.tag }} | token: ${{ secrets.GITHUB_TOKEN }} | |||
draft: false | draft: false | |||
prerelease: false | prerelease: steps.check-version.outputs.prerelease == 'true' | |||
- name: Upload Linux release file asset | ||||
uses: actions/upload-release-asset@v1.0.1 | ||||
env: | ||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||||
with: | ||||
upload_url: ${{ steps.create_release.outputs.upload_url }} | ||||
asset_path: releases/poetry-${{ steps.tag.outputs.tag }}-linux.tar.gz | ||||
asset_name: poetry-${{ steps.tag.outputs.tag }}-linux.tar.gz | ||||
asset_content_type: application/gzip | ||||
- name: Upload Linux checksum file asset | ||||
uses: actions/upload-release-asset@v1.0.1 | ||||
env: | ||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||||
with: | ||||
upload_url: ${{ steps.create_release.outputs.upload_url }} | ||||
asset_path: releases/poetry-${{ steps.tag.outputs.tag }}-linux.sha256s | ||||
um | ||||
asset_name: poetry-${{ steps.tag.outputs.tag }}-linux.sha256sum | ||||
asset_content_type: text/plain | ||||
- name: Upload MacOS release file asset | ||||
uses: actions/upload-release-asset@v1.0.1 | ||||
env: | ||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||||
with: | ||||
upload_url: ${{ steps.create_release.outputs.upload_url }} | ||||
asset_path: releases/poetry-${{ steps.tag.outputs.tag }}-darwin.tar.gz | ||||
asset_name: poetry-${{ steps.tag.outputs.tag }}-darwin.tar.gz | ||||
asset_content_type: application/gzip | ||||
- name: Upload MacOS checksum file asset | ||||
uses: actions/upload-release-asset@v1.0.1 | ||||
env: | ||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||||
with: | ||||
upload_url: ${{ steps.create_release.outputs.upload_url }} | ||||
asset_path: releases/poetry-${{ steps.tag.outputs.tag }}-darwin.sha256 | ||||
sum | ||||
asset_name: poetry-${{ steps.tag.outputs.tag }}-darwin.sha256sum | ||||
asset_content_type: text/plain | ||||
- name: Upload Windows release file asset | ||||
uses: actions/upload-release-asset@v1.0.1 | ||||
env: | ||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||||
with: | ||||
upload_url: ${{ steps.create_release.outputs.upload_url }} | ||||
asset_path: releases/poetry-${{ steps.tag.outputs.tag }}-win32.tar.gz | ||||
asset_name: poetry-${{ steps.tag.outputs.tag }}-win32.tar.gz | ||||
asset_content_type: application/gzip | ||||
- name: Upload Windows checksum file asset | ||||
uses: actions/upload-release-asset@v1.0.1 | ||||
env: | ||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||||
with: | ||||
upload_url: ${{ steps.create_release.outputs.upload_url }} | ||||
asset_path: releases/poetry-${{ steps.tag.outputs.tag }}-win32.sha256s | ||||
um | ||||
asset_name: poetry-${{ steps.tag.outputs.tag }}-win32.sha256sum | ||||
asset_content_type: text/plain | ||||
- name: Set up Python 3.8 | ||||
uses: actions/setup-python@v2 | ||||
with: | ||||
python-version: "3.8" | ||||
- name: Install Poetry | ||||
run: | | ||||
python get-poetry.py -y | ||||
- name: Install dependencies | ||||
run: | | ||||
source $HOME/.poetry/env | ||||
poetry install --no-dev | ||||
- name: Build project for distribution | ||||
run: | | ||||
source $HOME/.poetry/env | ||||
poetry run poetry build | ||||
- name: Publish to PyPI | - name: Publish to PyPI | |||
env: | env: | |||
POETRY_PYPI_TOKEN_PYPI: ${{ secrets.PYPI_TOKEN }} | POETRY_PYPI_TOKEN_PYPI: ${{ secrets.PYPI_TOKEN }} | |||
run: | | run: poetry publish | |||
source $HOME/.poetry/env | ||||
poetry run poetry publish | ||||
End of changes. 14 change blocks. | ||||
290 lines changed or deleted | 24 lines changed or added |