diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml new file mode 100644 index 0000000..90ad076 --- /dev/null +++ b/.github/workflows/publish.yml @@ -0,0 +1,91 @@ +name: Publish + +on: + push: + tags: + - v* + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-python@v5 + with: + python-version: "3.x" + + - name: Install pypa/build + run: python -m pip install build --user + + - name: Build wheels + run: python -m build + + - name: Store dists + uses: actions/upload-artifact@v4 + with: + name: python-package-distributions + path: dist/ + + pypi: + name: Publish to PyPI + needs: + - build + runs-on: ubuntu-latest + environment: + name: pypi + url: https://pypi.org/p/flask-modular-login + permissions: + id-token: write + + steps: + - name: Download dists + uses: actions/download-artifact@v4 + with: + name: python-package-distributions + path: dist/ + + - name: Publish + uses: pypa/gh-action-pypi-publish@release/v1 + + github-release: + name: Sign with Sigstore and publish GitHub release + needs: + - pypi + runs-on: ubuntu-latest + + permissions: + contents: write + id-token: write + + steps: + - name: Download dists + uses: actions/download-artifact@v4 + with: + name: python-package-distributions + path: dist/ + + - name: Sign the dists with Sigstore + uses: sigstore/gh-action-sigstore-python@v2.1.1 + with: + inputs: >- + ./dist/*.tar.gz + ./dist/*.whl + + - name: Create GitHub Release + env: + GITHUB_TOKEN: ${{ github.token }} + run: >- + gh release create + '${{ github.ref_name }}' + --repo '${{ github.repository }}' + --notes "" + + - name: Upload artifact signatures to GitHub Release + env: + GITHUB_TOKEN: ${{ github.token }} + + run: >- + gh release upload + '${{ github.ref_name }}' dist/** + --repo '${{ github.repository }}' diff --git a/.gitignore b/.gitignore index 20067bb..dd94503 100644 --- a/.gitignore +++ b/.gitignore @@ -8,4 +8,5 @@ secret_key /build /run *.vim +/dist diff --git a/pyproject.toml b/pyproject.toml index 009f19c..b2fe8c1 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,8 @@ build-backend = "setuptools.build_meta" [project] name = "flask-modular-login" -version = "0.1.0" +description = "A modular login framework for Flask" +version = "0.1.1" readme = "README.md" dependencies = [ "wheel", @@ -13,7 +14,7 @@ dependencies = [ "blinker", "flask-caching", "uwsgi", - "libmc @ git+https://github.com/kentslaney/libmc", + "libmc", "cryptography", "requests", "websockets",