diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index a38a5ef..a52b72d 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -8,99 +8,43 @@ on: - "v*" jobs: - test: - name: Run tests + publish: runs-on: ubuntu-latest - steps: - - name: Checkout source - uses: actions/checkout@v2 - - - name: Set up Python - uses: actions/setup-python@v2 - with: - python-version: "3.x" - - - name: Install system dependencies - run: sudo apt update && sudo apt install -y gettext - - - name: Install test dependencies - run: | - python -m pip install --upgrade pip wheel setuptools pytest pytest-django - python -m pip install --upgrade "git+https://github.com/pretix/pretix.git@master#egg=pretix" - python setup.py develop - make - style: - name: Check code style - runs-on: ubuntu-latest steps: - name: Checkout source - uses: actions/checkout@v2 + uses: actions/checkout@v3 - name: Set up Python uses: actions/setup-python@v2 with: python-version: "3.x" - - - name: Install system dependencies - run: sudo apt update && sudo apt install -y gettext - - - name: Install style check dependencies - run: | - python -m pip install --upgrade pip wheel setuptools isort black flake8 check-manifest - python -m pip install --upgrade "git+https://github.com/pretix/pretix.git@master#egg=pretix" - python setup.py develop - black --check . - isort -c . - flake8 . - check-manifest . - - build: - name: Build distribution - runs-on: ubuntu-latest - needs: [test, style] - steps: - - name: Checkout source - uses: actions/checkout@v2 - - - name: Set up Python - uses: actions/setup-python@v2 + + - uses: actions/cache@v1 with: - python-version: "3.x" - + path: ~/.cache/pip + key: ${{ runner.os }}-pip-${{ hashFiles('**/setup.py') }} + restore-keys: | + ${{ runner.os }}-pip- + - name: Install system dependencies run: sudo apt update && sudo apt install -y gettext - + + - name: Install pretix + run: pip3 install pretix + - name: Install build dependencies - run: | - python -m pip install --upgrade pip wheel setuptools twine check-manifest build - - - name: Build source and wheel distributions - run: | - python -m build - check-manifest . - - publish-pypi: - name: Publish to PyPI - runs-on: ubuntu-latest - needs: [build] - steps: - - name: Checkout source - uses: actions/checkout@v2 - - - name: Set up Python - uses: actions/setup-python@v2 - with: - python-version: "3.x" - - - name: Install system dependencies - run: sudo apt update && sudo apt install -y gettext - - - name: Install twine (needed for pypa/gh-action-pypi-publish) - run: python -m pip install --upgrade twine - - - name: Publish distribution to PyPI - uses: pypa/gh-action-pypi-publish@ae63f3323ae7b31c08f2805b18056cbf132ce478 + run: pip3 install pretix-plugin-build twine check-manifest pip setuptools wheel -Ue . + + - name: Run check-manifest + run: check-manifest . + working-directory: . + + - name: Build package + run: python setup.py sdist + + - name: Publish package to PyPi + uses: pypa/gh-action-pypi-publish@27b31702a0e7fc50959f5ad993c78deac1bdfc29 with: user: __token__ password: ${{ secrets.PYPI_API_TOKEN }}