From 6fc38cce24689920e6c745c2ccd29b2bec0d392f Mon Sep 17 00:00:00 2001 From: lmoretti96 <51789626+lmoretti96@users.noreply.github.com> Date: Sun, 14 Mar 2021 17:44:47 +0100 Subject: [PATCH] Create Build_Release.yml --- .github/workflows/Build_Release.yml | 61 +++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 .github/workflows/Build_Release.yml diff --git a/.github/workflows/Build_Release.yml b/.github/workflows/Build_Release.yml new file mode 100644 index 0000000..1947734 --- /dev/null +++ b/.github/workflows/Build_Release.yml @@ -0,0 +1,61 @@ +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