summaryrefslogtreecommitdiff
path: root/.github/workflows
diff options
context:
space:
mode:
authorRobert Honz <exislow+github@gmail.com>2023-12-19 23:58:57 +0100
committerRobert Honz <exislow+github@gmail.com>2023-12-19 23:58:57 +0100
commit0d4a9d6b8740035346d098f5bc28ebca64f6cd4d (patch)
treef52c9569509565e581b03b6e60fe32e611b79ad2 /.github/workflows
parent82a8fe96aa08903919a90a76030bacba9f93b8e0 (diff)
downloadtidal-dl-ng-0d4a9d6b8740035346d098f5bc28ebca64f6cd4d.tar.gz
🌟 Re-add all project files.
Diffstat (limited to '.github/workflows')
-rw-r--r--.github/workflows/master.yml70
-rw-r--r--.github/workflows/on-release-master.yml56
2 files changed, 126 insertions, 0 deletions
diff --git a/.github/workflows/master.yml b/.github/workflows/master.yml
new file mode 100644
index 0000000..866460b
--- /dev/null
+++ b/.github/workflows/master.yml
@@ -0,0 +1,70 @@
+name: master
+
+on:
+ push:
+ branches:
+ - master
+ pull_request:
+ types: [opened, synchronize, reopened]
+
+jobs:
+ quality:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Check out
+ uses: actions/checkout@v3
+
+ - uses: actions/cache@v3
+ with:
+ path: ~/.cache/pre-commit
+ key: pre-commit-${{ hashFiles('.pre-commit-config.yaml') }}
+
+ - name: Set up the environment
+ uses: ./.github/actions/setup-poetry-env
+
+ - name: Run checks
+ run: make check
+
+ tox:
+ runs-on: ubuntu-latest
+ strategy:
+ matrix:
+ python-version: ["3.10", "3.11", "3.12"]
+ fail-fast: false
+ steps:
+ - name: Check out
+ uses: actions/checkout@v3
+
+ - name: Set up python
+ uses: actions/setup-python@v4
+ with:
+ python-version: ${{ matrix.python-version }}
+
+ - name: Install Poetry
+ uses: snok/install-poetry@v1
+
+ - name: Load cached venv
+ uses: actions/cache@v3
+ with:
+ path: .tox
+ key: venv-${{ runner.os }}-${{ matrix.python-version }}-${{ hashFiles('poetry.lock') }}
+
+ - name: Install tox
+ run: |
+ python -m pip install --upgrade pip
+ python -m pip install tox tox-gh-actions
+
+ - name: Test with tox
+ run: tox
+
+ check-docs:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Check out
+ uses: actions/checkout@v3
+
+ - name: Set up the environment
+ uses: ./.github/actions/setup-poetry-env
+
+ - name: Check if documentation can be built
+ run: poetry run mkdocs build -s
diff --git a/.github/workflows/on-release-master.yml b/.github/workflows/on-release-master.yml
new file mode 100644
index 0000000..4ea640a
--- /dev/null
+++ b/.github/workflows/on-release-master.yml
@@ -0,0 +1,56 @@
+name: release-master
+
+permissions:
+ contents: write
+
+on:
+ # release:
+ # types: [published]
+ # branches: [master]
+ push:
+ tags:
+ - "v*.*.*"
+
+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
+ uses: softprops/action-gh-release@v1
+ with:
+ draft: false
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+
+ deploy-docs:
+ needs: 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: Deploy documentation
+ run: poetry run mkdocs gh-deploy --force
+# TODO: Build Qt GUI Standalone.