Skip to content

🛠️ Makefile typo fix. Release mkdocs dependency installation fix. #5

🛠️ Makefile typo fix. Release mkdocs dependency installation fix.

🛠️ Makefile typo fix. Release mkdocs dependency installation fix. #5

name: release-master
permissions:
contents: write
on:
# release:
# types: [published]
# branches: [master]
workflow_dispatch: # or workflow_call
inputs:
asset_mime:
description: "MIME Type"
required: false
default: "application/zip"
out_name_file:
description: "App file name"
required: false
default: "TIDAL-Downloader-NG"
push:
tags:
- "v*.*.*"
env:
RELEASE_UPLOAD_URL: "release_upload_url"
jobs:
publish:
runs-on: ubuntu-latest
steps:
- name: Check out
uses: actions/checkout@v3
- name: Set up the environment
uses: ./.github/actions/setup-poetry-env
- name: Export tag
id: vars
run: echo tag=${GITHUB_REF#refs/*/} >> $GITHUB_OUTPUT
- name: Build and publish
run: |
source .venv/bin/activate
poetry version $RELEASE_VERSION
make build-and-publish
env:
PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }}
RELEASE_VERSION: ${{ steps.vars.outputs.tag }}
- name: GitHub Release
id: release_create
uses: softprops/action-gh-release@v1
with:
draft: false
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Output Release URL File
run: echo "${{steps.release_create.outputs.upload_url}}" > ${{env.RELEASE_UPLOAD_URL}}.txt
- name: Save Upload URL File for publish
uses: actions/upload-artifact@v1
with:
name: ${{env.RELEASE_UPLOAD_URL}}
path: ${{env.RELEASE_UPLOAD_URL}}.txt
deploy-docs:
needs: publish
runs-on: ubuntu-latest
steps:
- name: Check out
uses: actions/checkout@v3
- name: Install Poetry
uses: snok/install-poetry@v1
with:
virtualenvs-create: true
virtualenvs-in-project: true
installer-parallel: true
- name: Load cached venv
id: cached-poetry-dependencies
uses: actions/cache@v3
with:
path: .venv
key: venv-${{ runner.os }}-${{ steps.setup-python.outputs.python-version }}-${{ hashFiles('**/poetry.lock') }}
- name: Install dependencies
run: poetry install --no-interaction --with docs
build-gui-and-upload-assets:
needs: publish
env:
ASSET_MIME: "application/zip"
strategy:
fail-fast: false
matrix:
#os: ["ubuntu-20.04", "windows-2019", "macos-11", "macos-13"]
include:
- os: "macos-11"
TARGET: "macos-11"
CMD_BUILD: >
brew install create-dmg &&
source .venv/bin/activate &&
poetry run make gui-macos &&
cd dist &&
zip -r ${{inputs.out_name_file}}${{inputs.asset_extension}} ${{inputs.out_name_file}}.dmg -x "*.DS_Store"
# - os: "windows-2019"
# TARGET: "windows-2019"
# CMD_BUILD: pyinstaller -F -w -n clipster -i resources/clipster.ico cli.py
runs-on: ${{ matrix.os }}
steps:
- name: Check out
uses: actions/checkout@v3
- name: Set up python
uses: actions/setup-python@v4
with:
python-version: "3.11"
# architecture: "x64"
- name: Install Poetry
uses: snok/install-poetry@v1
with:
virtualenvs-create: true
virtualenvs-in-project: true
installer-parallel: true
- name: Load cached venv
id: cached-poetry-dependencies
uses: actions/cache@v3
with:
path: .venv
key: venv-${{ runner.os }}-${{ steps.setup-python.outputs.python-version }}-${{ hashFiles('**/poetry.lock') }}
- name: Install dependencies
run: poetry install --no-interaction --all-extras --with dev
- name: Build with pyinstaller for ${{matrix.TARGET}}
run: ${{matrix.CMD_BUILD}}
- name: Load Release URL File from release job
uses: actions/download-artifact@v1
with:
name: ${{env.RELEASE_UPLOAD_URL}}
- name: Get Release File Name & Upload URL
id: get_release_info
shell: bash
run: |
value=`cat ${{env.RELEASE_UPLOAD_URL}}/${{env.RELEASE_UPLOAD_URL}}.txt`
echo ::set-output name=upload_url::$value
- name: Upload Release Asset
id: upload-release-asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
with:
upload_url: ${{steps.get_release_info.outputs.upload_url}}
asset_path: ./dist/${{inputs.out_name_file}}${{inputs.asset_extension}}
asset_name: ${{inputs.out_name_file}}${{inputs.asset_extension}}
asset_content_type: ${{env.ASSET_MIME}}