Skip to content

Commit 10c6b29

Browse files
authored
Release V4 Release Candidate 1
Release V4 Release Candidate 1
2 parents 6b6dfcd + 7844ed9 commit 10c6b29

File tree

185 files changed

+233099
-65923
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

185 files changed

+233099
-65923
lines changed

.bettercodehub.yml

-9
This file was deleted.

.dockerignore

-4
This file was deleted.

.editorconfig

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ charset = utf-8
1414
max_line_length = 100
1515

1616
[*.json]
17-
indent_size = 2
17+
indent_size = 4
1818

1919
[{*.yml, *.yaml}]
2020
indent_size = 2

.gitattributes

+20-20
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,36 @@
11
# Set the default behavior, in case people don't have core.autocrlf set.
2-
* text=auto eol=lf
2+
* text=auto eol=lf
33

44
# Explicitly declare text files you want to always be normalized and converted
55
# to native line endings on checkout.
6-
*.py text diff=python
6+
*.py text diff=python
77

88
# Documents
9-
*.md text diff=markdown
9+
*.md text diff=markdown
1010

1111
# Graphics
12-
*.png binary
13-
*.jpg binary
14-
*.jpeg binary
15-
*.gif binary
16-
*.svg text
12+
*.png binary
13+
*.jpg binary
14+
*.jpeg binary
15+
*.gif binary
16+
*.svg text
1717

1818
# Scripts
19-
*.bash text eol=lf
20-
*.fish text eol=lf
21-
*.sh text eol=lf
19+
*.bash text eol=lf
20+
*.fish text eol=lf
21+
*.sh text eol=lf
2222
# These are explicitly windows files and should use crlf
23-
*.bat text eol=crlf
24-
*.cmd text eol=crlf
23+
*.bat text eol=crlf
24+
*.cmd text eol=crlf
2525

2626
# Serialisation
27-
*.json text
28-
*.toml text
29-
*.xml text
30-
*.yaml text
31-
*.yml text
27+
*.json text
28+
*.toml text
29+
*.xml text
30+
*.yaml text
31+
*.yml text
3232

3333
# Exclude files from exporting
3434
.gitattributes export-ignore
35-
.gitignore export-ignore
36-
.gitkeep export-ignore
35+
.gitignore export-ignore
36+
.gitkeep export-ignore

.github/ISSUE_TEMPLATE/bug_report.yml

+9-10
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: Bug Report
1+
name: Bug Report
22

33
title: Change this title, poorly formatted issues will not be handled
44

@@ -10,14 +10,15 @@ body:
1010

1111
- type: dropdown
1212
attributes:
13-
label: System Operating System (OS)
13+
label: System OS
1414
description: OS not listed here? Please let us know below
1515
options:
1616
- Windows
1717
- MacOS
1818
- Linux
1919
- Docker
2020
- Termux (Android)
21+
- Other
2122
validations:
2223
required: true
2324

@@ -53,7 +54,7 @@ body:
5354
description: |
5455
Supply version if installed from pip, found via `pip show spotdl`
5556
or supply commit hash if installed from GitHub
56-
placeholder: v3.x.x or hash-value
57+
placeholder: v4.x.x or hash-value
5758
validations:
5859
required: true
5960

@@ -64,10 +65,7 @@ body:
6465

6566
- type: textarea
6667
attributes:
67-
label: Steps to reproduce
68-
description: |
69-
Please ensure to include Spotify links and the actual command
70-
you used.
68+
label: Steps to reproduce - Ensure to include actual links!
7169
placeholder: |
7270
1.
7371
2.
@@ -79,11 +77,12 @@ body:
7977
- type: textarea
8078
attributes:
8179
label: Traceback
82-
description: Copy and paste the complete error message outputted by spotDL
80+
description: Copy and paste the complete output from spotDL
8381
render: text
82+
placeholder: Do this even if there is no error!
8483
validations:
8584
required: true
86-
85+
8786

8887
- type: textarea
8988
attributes:
@@ -92,4 +91,4 @@ body:
9291
Note anything else you can provide regarding the issue you're running into.
9392
9493
If you didn't include your Python version, OS or installation source in the dropdowns
95-
earlier, note said details here.
94+
earlier, note said details here.

.github/ISSUE_TEMPLATE/config.yml

-1
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,3 @@ contact_links:
44
- name: spotDL Discord Server!
55
url: https://discord.gg/xCa23pwJWY
66
about: Join the spotDL Discord Server
7-

.github/ISSUE_TEMPLATE/feature_request.md

-16
This file was deleted.
+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
name: Feature Request
2+
3+
title: Change this title, poorly formatted issues will not be handled
4+
5+
description: Request a new feature
6+
7+
labels: feature-request
8+
9+
body:
10+
11+
- type: textarea
12+
attributes:
13+
label: Requested Feature
14+
placeholder: Describe the feature you would like to see implemented!
15+
validations:
16+
required: true
17+
18+
- type: textarea
19+
attributes:
20+
label: Possible implementation
21+
placeholder: Describe a potential method of implementing this feature
File renamed without changes.

.github/release-drafter.yml

-13
This file was deleted.

.github/workflows/build-docs.yml

+37
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
name: Deploy docs to GitHub pages
2+
3+
on:
4+
push:
5+
# branches to consider in the event; optional, defaults to all
6+
branches:
7+
- master
8+
- dev
9+
10+
jobs:
11+
deploy:
12+
if: "!contains(github.event.commits[0].message, '[skip ci]')"
13+
runs-on: ubuntu-latest
14+
15+
steps:
16+
- uses: actions/checkout@v3
17+
with:
18+
fetch-depth: 0
19+
submodules: recursive
20+
21+
- name: Install poetry
22+
run: pipx install poetry
23+
24+
- name: Set up Python 3.10
25+
uses: actions/setup-python@v4
26+
with:
27+
python-version: "3.10"
28+
cache: 'poetry'
29+
30+
- name: Install dependencies
31+
run: |
32+
poetry env use "3.10"
33+
poetry install
34+
35+
- name: Build and deploy
36+
run: |
37+
poetry run mkdocs gh-deploy --force
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
name: Publish Docker image
2+
3+
on:
4+
release:
5+
types:
6+
- published
7+
8+
jobs:
9+
publish:
10+
runs-on: ubuntu-latest
11+
steps:
12+
- name: Checkout code
13+
uses: actions/checkout@v2
14+
- name: Set up Docker Buildx
15+
uses: docker/setup-buildx-action@v1
16+
- name: Login to DockerHub
17+
uses: docker/login-action@v1
18+
with:
19+
username: ${{ secrets.DOCKER_HUB_USERNAME }}
20+
password: ${{ secrets.DOCKER_HUB_PASSWORD }}
21+
- name: Build and push
22+
uses: docker/build-push-action@v2
23+
with:
24+
context: .
25+
push: true
26+
tags: spotdl/spotify-downloader:latest

.github/workflows/python-publish.yml

+98-19
Original file line numberDiff line numberDiff line change
@@ -5,28 +5,107 @@ name: Upload Python Package
55

66
on:
77
release:
8-
types:
8+
types:
99
- published
10-
10+
1111
jobs:
1212
deploy:
13-
1413
runs-on: ubuntu-latest
1514

1615
steps:
17-
- uses: actions/checkout@v2
18-
- name: Set up Python
19-
uses: actions/setup-python@v2
20-
with:
21-
python-version: '3.x'
22-
- name: Install dependencies
23-
run: |
24-
python -m pip install --upgrade pip
25-
pip install setuptools wheel twine
26-
- name: Build and publish
27-
env:
28-
TWINE_USERNAME: ${{ secrets.PYPI_USERNAME }}
29-
TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }}
30-
run: |
31-
python setup.py sdist bdist_wheel
32-
twine upload dist/*
16+
- uses: actions/checkout@v2
17+
with:
18+
fetch-depth: 0
19+
submodules: recursive
20+
21+
- name: Install poetry
22+
run: pipx install poetry
23+
24+
- name: Set up Python 3.10
25+
uses: actions/setup-python@v4
26+
with:
27+
python-version: "3.10"
28+
cache: 'poetry'
29+
30+
- name: Install dependencies
31+
run: |
32+
poetry env use "3.10"
33+
poetry install
34+
35+
- name: Install twine
36+
run: pip install twine
37+
38+
- name: Build
39+
run: |
40+
poetry build
41+
42+
- name: Publish on Pip
43+
env:
44+
TWINE_USERNAME: ${{ secrets.PYPI_USERNAME }}
45+
TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }}
46+
run: twine upload dist/*
47+
48+
build:
49+
strategy:
50+
matrix:
51+
platform: [ubuntu-latest, macos-latest, windows-latest]
52+
runs-on: ${{ matrix.platform }}
53+
steps:
54+
- uses: actions/checkout@v3
55+
56+
- name: Install poetry
57+
run: pipx install poetry
58+
59+
- name: Set up Python 3.10
60+
uses: actions/setup-python@v4
61+
with:
62+
python-version: "3.10"
63+
cache: 'poetry'
64+
65+
- name: Install dependencies
66+
run: |
67+
poetry env use "3.10"
68+
poetry install
69+
70+
- name: Build executable
71+
run: poetry run python ./scripts/build.py
72+
73+
- name: Release
74+
uses: softprops/action-gh-release@v1
75+
with:
76+
files: |
77+
dist/*
78+
79+
build-arm:
80+
runs-on: ubuntu-latest
81+
name: Build on ubuntu-latest aarch64
82+
steps:
83+
- uses: actions/checkout@v2
84+
- uses: uraimo/run-on-arch-action@v2
85+
name: Run commands
86+
id: runcmd
87+
with:
88+
arch: aarch64
89+
distro: ubuntu_latest
90+
91+
# Mount the artifacts directory as /artifacts in the container
92+
dockerRunArgs: |
93+
--volume "${PWD}/:/spotdl"
94+
95+
# The shell to run commands with in the container
96+
shell: /bin/sh
97+
98+
run: |
99+
cd /spotdl
100+
apt update
101+
apt install python3 python3-pip -y
102+
pip install poetry
103+
poetry install
104+
poetry run python ./scripts/build.py
105+
for file in dist/spotdl*; do cp "$file" "${file}-aarch64"; done
106+
107+
- name: Release
108+
uses: softprops/action-gh-release@v1
109+
with:
110+
files: |
111+
dist/spotdl*

0 commit comments

Comments
 (0)