From 0d4a9d6b8740035346d098f5bc28ebca64f6cd4d Mon Sep 17 00:00:00 2001 From: Robert Honz Date: Tue, 19 Dec 2023 23:58:57 +0100 Subject: 🌟 Re-add all project files. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/master.yml | 70 +++++++++++++++++++++++++++++++++ .github/workflows/on-release-master.yml | 56 ++++++++++++++++++++++++++ 2 files changed, 126 insertions(+) create mode 100644 .github/workflows/master.yml create mode 100644 .github/workflows/on-release-master.yml (limited to '.github/workflows') 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. -- cgit v1.3.1