on: push: # Sequence of patterns matched against refs/tags branches: [ master ] tags: - 'v*' # Push events to matching v*, i.e. v1.0, v20.15.10 name: Upload Release Asset jobs: build: name: Upload Release Asset runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v2 with: python-version: ${{ matrix.python-version }} - name: Install dependencies run: | python -m pip install --upgrade pip python -m pip install flake8 pytest if [ -f requirements.txt ]; then pip install -r requirements.txt; fi - name: Lint with flake8 run: | # stop the build if there are Python syntax errors or undefined names flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics - name: Test with pytest run: | pytest PyCTBN/tests/ - name: Install pypa/build run: | python -m pip install build - name: Checkout code uses: actions/checkout@v2 - name: Build project # This would actually build your project, using zip for an example artifact run: | python -m build --sdist --wheel --outdir dist/. - name: Create Release id: create_release uses: actions/create-release@v1 env: GITHUB_TOKEN: ${{ secrets.PYCTBN_TOK }} with: tag_name: ${{ github.ref }} release_name: Release ${{ github.ref }} draft: false prerelease: false - name: Upload Release Asset id: upload-release-asset uses: actions/upload-release-asset@v1 env: GITHUB_TOKEN: ${{ secrets.PYCTBN_TOK }} with: upload_url: ${{ steps.create_release.outputs.upload_url }} # This pulls from the CREATE RELEASE step above, referencing it's ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps asset_path: ./dist/Py asset_name: PyCTBN-1.0.tar.gz asset_content_type: application/tar+gzip