36 Commits

Author SHA1 Message Date
Mike Edmunds
a025ae9543 Mailjet: update integration tests
Mailjet deleted the Anymail testing account without notice.
Recreating the account changed the test template id. Move
the id to an environment variable to simplify changing it.
2024-11-21 18:02:46 -08:00
Mike Edmunds
1da9011f50 CI/CD: use Python 3.12 by default
For CI/CD tasks not testing a specific Python version, switch to Python 3.12.
(Had been using mixture of 3.10 and 3.11. GitHub's ubuntu-22.04 runner has
Python 3.10 installed by default, but 3.12 should be in the tool cache.)
2024-09-08 16:20:10 -07:00
Mike Edmunds
9c4cf001d0 Drop Django 3.0, 3.1, 3.2. Drop Python 3.7. 2024-08-07 12:59:47 -07:00
Mike Edmunds
24031710ec CI-CD: Fix gh release target
`gh release --target` no longer accepts a full ref
(and has never allowed a tag). It needs either
a branch or a sha.
2024-07-11 12:54:03 -07:00
Mike Edmunds
24b65e0f74 CI/CD: upgrade workflow dependencies 2024-03-12 13:52:57 -07:00
Mike Edmunds
1b78912b20 CD: fix release workflow permissions
(Note: v10.3 *was* released successfully,
but the workflow failed to update
the GitHub Releases page at the end
due to token permission problems.)
2024-03-12 12:22:43 -07:00
Mike Edmunds
c7ee59c3ca Brevo: Rename SendinBlue to Brevo
- Replace "SendinBlue" with "Brevo"
  throughout the code.
- Maintain deprecated compatibility
  versions on the old names/URLs.
  (Split into separate commit
  to make renamed files more
  obvious.)
- Update docs to reflect change,
  provide migration advice.
- Update integration workflow.
2024-03-11 18:46:52 -07:00
Arondit
a71a0d9af8 Unisender Go: new ESP
Add support for Unisender Go

---------

Co-authored-by: Mike Edmunds <medmunds@gmail.com>
2024-03-05 11:38:40 -08:00
Mike Edmunds
c147754c4c CI/CD: Fix release to GitHub
GitHub runner images dropped the "hub"
tool. Replace with "gh" cli, which now
supports editing releases.
2023-10-25 16:32:42 -07:00
Mike Edmunds
b5ef492466 Resend: new ESP (#341)
Add support for Resend.com backend and webhooks.

Closes #341
2023-10-25 12:23:57 -07:00
Mike Edmunds
a3ad0254cf CI: Simplify test PyPI release
Allow releasing to Test PyPI by setting GitHub
environment "release" variable `PYPI_REPOSITORY_URL`
to `https://test.pypi.org/legacy/`.

Also ensure twine-upload doesn't try to prompt
for credentials, and turn off upload progress bar.
2023-05-07 11:41:24 -07:00
Mike Edmunds
e8df0ec8e0 Modernize packaging
Switch to pyproject.toml packaging, using hatchling.

- Replace all uses of setup.py with updated equivalent
- BREAKING: Change extra name `amazon_ses` to
  `amazon-ses`, to comply with Python packaging
  name normalization
- Use hatch custom build hook to freeze version number
  in readme (previously custom setup.py code)
- Move separate requirements for dev, docs, tests
  into their own requirements.txt files
- Fix AnymailImproperlyInstalled to correctly refer
  to package extra name
- Update testing documentation
- Update docs readme rendering to match PyPI
  (and avoid setup.py)
- In tox tests, use isolated builds and update pip
- Remove AUTHORS.txt (it just referred to GitHub)
2023-05-03 16:55:08 -07:00
Mike Edmunds
9fba58237d Drop support for Python 3.6 and old urllib3 2023-05-02 13:59:01 -07:00
Mike Edmunds
8c31883c1a Tests: get tox py36 tests working again
tox dependency virtualenv dropped support for creating
Python 3.6 environments in a minor release. [1]

Announce deprecation of Anymail Python 3.6 support.
Until that can take effect, pin an older version of
virtualenv that still works for tox py36 testenv.

[1]: See https://github.com/pypa/virtualenv/pull/2548#issuecomment-1527278210 et seq
2023-05-02 10:23:55 -07:00
Mike Edmunds
62bd0669af MailerSend: add support (new ESP for Anymail)
Closes #298
2023-03-10 17:22:20 -08:00
medmunds
b84435d7f6 CI: update job output mechanism
GH workflow changed job outputs from `echo ::set-output`
to appending to `$GITHUB_OUTPUT` file.

tox-gh-matrix 0.2.0 supports new mechanism
2023-02-08 13:15:41 -08:00
medmunds
353e793323 Docs: update absolute links to anymail.dev
Canonical hosting for docs moved from anymail.readthedocs.io
to anymail.dev in May 2022.
2023-02-08 11:25:11 -08:00
medmunds
b4e22c63b3 Reformat code with automated tools
Apply standardized code style
2023-02-06 15:05:24 -08:00
medmunds
416d7d433c CI: remove workaround for broken PyPY sqlite release 2022-12-18 16:20:24 -08:00
medmunds
07f5d5f224 CI: update action dependencies
Fixes Node 12 deprecation warnings.

- actions/checkout@v2 --> v3
- actions/setup-python@v2 --> v4
- fkirc/skip-duplicate-actions@v3.4.1 --> v5.3.0
  [pinned to hash]

Also set continue-on-error true in skip_duplicate_runs job,
per recommendation in skip-duplicate-actions release notes.
2022-12-18 16:20:24 -08:00
medmunds
d37f4ef109 Fix test workflows (again)
Pin to tox v3 for now - in one more place.
2022-12-15 16:29:27 -08:00
medmunds
e9f3444daa Fix test workflows
Pin to tox v3 for now.
(tox plugins aren't ready for tox v4 yet.)
2022-12-15 09:54:44 -08:00
medmunds
448e8d9d95 Tests: move integration tests to Django 4.1 2022-08-29 13:25:47 -07:00
medmunds
c7288b9b72 CI: Work around outdated pypy-3.8-v7.3.8 sqlite
pypy-3.8-v7.3.8 accidentally shipped with sqlite v3.7.17,
which is a decade old, and causes the tests to fail with
`django.core.exceptions.ImproperlyConfigured:
SQLite 3.9.0 or later is required`.

Until pypy-3.8-v7.3.9 is available in actions/setup-python,
work around the problem by forcing unqualified "pypy-3.8"
to specific (older) version "pypy-3.8-v7.3.7".

See https://foss.heptapod.net/pypy/pypy/-/issues/3690
and https://github.com/actions/setup-python/issues/339.
2022-03-17 11:58:34 -07:00
medmunds
ddeb938a3c Mandrill: re-enable integration tests
Get Mandrill integration tests working again,
by using a test-mode API key and a trial account.
2022-02-02 16:36:11 -08:00
Mike Edmunds
5fdc285e82 CI/Docs: move to anymail.dev
Move all integration tests and contact emails to anymail.dev. 
(Stop using anymail.info.)
2022-02-02 13:59:09 -08:00
medmunds
4d93183e5e CI: get GitHub test matrix from tox envlist
Stop maintaining duplicate (and often not-quite-
in-sync) test matrices in tox.ini and test.yml.
2022-01-30 11:11:41 -08:00
medmunds
e8a802b7ad CI: Upgrade skip-duplicates in integration tests 2022-01-10 13:42:45 -08:00
medmunds
8b0425f784 CI: Refactor workflows, update test matrix
* Split test, integration-test, and release workflows,
  simplifying config and logic for each.
* Use environment to separate secrets for release workflow.
* Update test matrix with newer Django and Python versions.
2022-01-10 13:42:45 -08:00
Mike Edmunds
d79c3c2c05 Automate release process
Update GitHub workflow to automatically release
when tagged with v* (following successful tests).
2021-06-15 16:23:08 -07:00
Tilmann Becker
e90c10b546 Add Postal support
Thanks to @tiltec for researching, implementing, testing and documenting it.
2021-06-07 17:11:35 -07:00
medmunds
67bf5a5912 CI: split lint, docs jobs
(They had been combined to minimize Travis-CI jobs;
not an issue with GitHub Workflows.)
2021-05-19 13:48:22 -07:00
medmunds
a522fb9f60 CI: don't run duplicate tests on PRs
Use skip-duplicate-actions to avoid re-running
tests if code hasn't changed. (Also avoids running
tests twice on push that opens a PR.)
2021-01-26 13:55:17 -08:00
medmunds
f039366bf0 Test against Django 3.2 prerelease
* Omit default_app_config under Django 3.2 and later
  to avoid DeprecationWarning
* Also adds testing on Python 3.9, 3.10-alpha
* Also updates test matrix to include all supported
  Python versions (some older Django versions expanded
  Python support in patch releases)
2021-01-26 13:55:17 -08:00
medmunds
75313c2aa2 Enable CI tests on pull requests 2020-12-01 12:11:44 -08:00
Mike Edmunds
5cbaa24002 Move CI testing to GitHub Actions
Related changes:
* remove Travis-CI config; stop running tests on Travis
* rename live integration test environment variables
  to all start with `ANYMAIL_TEST_` (simplifies tox config)
2020-11-28 18:08:01 -08:00