build: split pypi and linux binary build.
@@ -10,6 +10,60 @@ jobs:
name: release-pypi
runs-on: ubuntu-16.04
+ # FIXME
+ # help test shouldn't depends on this to run
+ services:
+ redis:
+ image: redis
+ ports:
+ - 6379:6379
+ options: --entrypoint redis-server
+
+ steps:
+ - uses: actions/checkout@v2
+ - uses: actions/setup-python@v1
+ with:
+ python-version: 3.7
+ architecture: 'x64'
+ - name: Cache venv
+ uses: actions/cache@v1
+ with:
+ path: venv
+ # Look to see if there is a cache hit for the corresponding requirements file
+ key: ${{ matrix.os }}-poetryenv-${{ hashFiles('poetry.lock') }}
+ - name: Install Dependencies
+ run: |
+ python3 -m venv venv
+ . venv/bin/activate
+ pip install -U pip
+ pip install poetry
+ poetry install
+ python -c "import sys; print(sys.version)"
+ pip list
+ - name: Poetry Build
+ run: |
+ . venv/bin/activate
+ poetry build
+ - name: Test Build
+ run: |
+ python3 -m venv fresh_env
+ . fresh_env/bin/activate
+ pip install dist/*.whl
+
+ iredis -h
+ iredis help GET
+
+ - name: Upload to Pypi
+ env:
+ PASSWORD: ${{ secrets.PYPI_TOKEN }}
+ run: |
+ . venv/bin/activate
+ poetry publish --username __token__ --password ${PASSWORD}
+
+ release-binary:
+ name: Release Executable Binary.
+ runs-on: ubuntu-16.04
+
# FIXME
# help test shouldn't depends on this to run
services:
@@ -75,13 +129,6 @@ jobs:
./build/x86*/release/install/iredis -h
./build/x86*/release/install/iredis help GET
- - name: Upload to Pypi
- env:
- PASSWORD: ${{ secrets.PYPI_TOKEN }}
- run: |
- . venv/bin/activate
- poetry publish --username __token__ --password ${PASSWORD}
-
- name: Create Release
id: create_release
uses: actions/create-release@v1
@@ -92,6 +139,7 @@ jobs:
release_name: Release ${{ github.ref }}
draft: false
prerelease: false
+
- name: Upload Release Asset
id: upload-release-asset
uses: actions/upload-release-asset@v1
