Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
76 changes: 0 additions & 76 deletions .github/workflows/action.yml

This file was deleted.

89 changes: 89 additions & 0 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
name: Client Build, Publish, and Release
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This action follows our old process, publish to pypi first, then create a github release, but does it all manually for us

only users with write access to the repo will be able to call the action


on:
workflow_dispatch:
inputs:
tag:
description: "Release tag (for example: 1.1.1)"
required: true
type: string
release_name:
description: "Release name (defaults to tag if empty)"
required: false
default: ""
type: string
prerelease:
description: "Mark as prerelease"
required: true
default: false
type: boolean

jobs:
build:
name: Build package distributions
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: Install Poetry
run: |
make poetry
- name: Install dependencies
run: |
make install-build
- name: Build package
run: |
make build
- name: Upload dist artifacts
uses: actions/upload-artifact@v4
with:
name: python-dist
path: dist/*
if-no-files-found: error

pypi-publish:
name: Upload release to public PyPI
runs-on: ubuntu-latest
needs: build
environment:
name: pypi
url: https://pypi.org/p/django-livefield
permissions:
id-token: write
steps:
- name: Download dist artifacts
uses: actions/download-artifact@v4
with:
name: python-dist
path: dist
- name: Publish package distributions to PyPI
uses: pypa/gh-action-pypi-publish@release/v1

create-github-release:
name: Create GitHub release
runs-on: ubuntu-latest
needs:
- pypi-publish
permissions:
contents: write
steps:
- name: Download dist artifacts
uses: actions/download-artifact@v4
with:
name: python-dist
path: dist
- name: Create release
uses: softprops/action-gh-release@v2
with:
tag_name: ${{ inputs.tag }}
name: ${{ inputs.release_name || inputs.tag }}
target_commitish: ${{ github.sha }}
prerelease: ${{ inputs.prerelease }}
generate_release_notes: true
files: dist/*
85 changes: 85 additions & 0 deletions .github/workflows/python-version-tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
name: Python Version Tests

on:
push:
branches: ["master"]
pull_request:
branches: ["master"]
workflow_dispatch:

permissions:
contents: read

jobs:
build:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ['3.8', '3.9', '3.10', '3.11', '3.12']
django-version: ['3.2', '4.0', '4.1', '4.2', '5.0']
exclude:
- python-version: '3.8'
django-version: '5.0'
- python-version: '3.9'
django-version: '5.0'
- python-version: '3.11'
django-version: '3.2'
- python-version: '3.11'
django-version: '4.0'
- python-version: '3.12'
django-version: '3.2'
- python-version: '3.12'
django-version: '4.0'
- python-version: '3.12'
django-version: '4.1'
services:
postgres:
image: postgres:12
ports:
- 5432:5432
options: >-
--health-cmd=pg_isready
--health-interval=10s
--health-timeout=5s
--health-retries=5
env:
POSTGRES_DB: testdb
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
mysql:
image: mysql:8
ports:
- 3306:3306
options: >-
--health-cmd="mysqladmin ping"
--health-interval=10s
--health-timeout=5s
--health-retries=5
env:
MYSQL_USER: travis
MYSQL_PASSWORD: travis
MYSQL_ALLOW_EMPTY_PASSWORD: true
MYSQL_DATABASE: test_testdb
Comment on lines +18 to +63
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

runs the tests the same as the repo did before


steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install Poetry
run: |
make poetry
- name: Install dependencies
run: |
make install-dev
- name: Pin Django version
run: |
poetry run pip install "Django==${{ matrix.django-version }}"
- name: Lint with flake8 and pylint
run: |
make lint
- name: Test with custom bootstrap runner
run: |
make test
13 changes: 13 additions & 0 deletions AUTHORS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
Developed and maintained by [Hearsay Social, Inc.](http://hearsaysocial.com).

## Contributors

- [Adam DePue](http://github.com/adepue)
- [Akshay Shah](http://github.com/akshayjshah)
- [Cordelia Notbohm](http://github.com/cnotbohm)
- [John Lynn](http://github.com/jlynn)
- [Dylan Verheul](http://github.com/dyve)
- [Grant McConnaughey](http://github.com/grantmcconnaughey)
- [Luke Burden](http://github.com/lukeburden)
- [James Addison](http://github.com/jaddison)
- [Krisztian Csizmazia](http://github.com/csizmaziakiki)
13 changes: 0 additions & 13 deletions AUTHORS.rst

This file was deleted.

75 changes: 75 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
# Changelog

## 4.2.0
- Migrate to Poetry for building and publishing

## 4.1.0

- Add support for Python 3.12
- Add support for Django 5.0

## 4.0.0

- Add support for Python 3.8 - 3.11
- Add support for Django 4.1 and 4.2
- Remove support for old Django versions
- Remove support for old Python versions

## 3.3.0

- Django 3.x support
- switch to BooleanField as base (Django 4.x deprecation)

## 3.2.1

- Fix rST formatting in this file to pass PyPI rendering check

## 3.2.0 (Not released)

- Support Django 2.2
- Support Python 3.7
- Fix metadata to remove deprecated Django versions
- Expand travis tests for versions and database engines
- Remove obsolete pylint suppressions
- Thanks to [@shurph](https://github.com/shurph) for the above!

## 3.1.0

- Fix [deprecation of context param for Field.from_db_value](https://code.djangoproject.com/ticket/28370)
- Support for Django 2.1 (Thanks [@lukeburden](https://github.com/lukeburden)
- Switch tests suite to use pytest
- Remove pylint-django plugin, no longer needed

## 3.0.0

- Add support for Python 3.6
- Add support for Django 2.0
- Remove support for Python 3.4
- Remove support for old Django versions
- Remove GIS

## 2.5.0 (Not released)

- Added official Python 3 support.
- Re-added support for Django 1.8. Now supports Django 1.8 and 1.9.

## 2.4.0 (2016-02-11)

- Drop support for Django 1.8
- Add number of affected rows for delete methods (hard_delete, soft_delete, delete). Note: Django 1.9+ only.

## 2.1.0 (2014-09-04)

- Add support for Django 1.7.

## 2.0.0 (2014-07-13)

- Renamed top-level namespace to `livefield`.
- Restructured internally to match Django convention.
- Added GIS support.
- Added South support.

## 1.0.0 (2014-02-14)

- Initial release.
- Separated existing code from main application repository.
Loading