Commit graph

191 commits

Author SHA1 Message Date
Šarūnas Nejus
a7f00eaf13
Fix missing changelog in the release notes
Seems like this is the missing bit:
https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#using-job-outputs-in-a-matrix-job
2024-11-26 15:59:41 +00:00
Šarūnas Nejus
9c4d4d9632
Include test files, manual to sdist 2024-11-26 15:38:13 +00:00
Šarūnas Nejus
db71444fe7
Disable OIDC for coverage uploads from forks
This is based on the following comment:
https://github.com/codecov/codecov-action/issues/1594#issuecomment-2394913029
2024-11-23 01:13:16 +00:00
Šarūnas Nejus
979f1239ca
Revert "Release: temporarily ignore errors with bumping version and pypi push"
This reverts commit cf3acec555.
2024-11-22 02:13:29 +00:00
Šarūnas Nejus
0780bf386c
Release: make sure release artefacts are present for the tagging job 2024-11-22 02:05:36 +00:00
Šarūnas Nejus
cf3acec555
Release: temporarily ignore errors with bumping version and pypi push 2024-11-22 01:58:26 +00:00
Šarūnas Nejus
4a5b9a26f1
Release: fix github-tag-action version 2024-11-22 01:57:10 +00:00
Šarūnas Nejus
7488c94d38
Release: try checking out the master branch 2024-11-22 01:49:46 +00:00
Šarūnas Nejus
c6c4afa543
Release: Make sure to checkout the new commit with bumped version 2024-11-22 01:22:47 +00:00
Šarūnas Nejus
ea6ddde351
Fix changelog retrieval workflow step 2024-11-22 00:59:50 +00:00
Šarūnas Nejus
6180ce1973
Revert "ci: Replace pull_request with pull_request_target"
This was a very bad idea since this made CI operate within the context
of the *base* branch, which meant that the tests were testing code in
the `master` branch instead of the branch that was to be merged!
2024-10-30 12:27:44 +00:00
Šarūnas Nejus
826783d4c3
Define docs dependencies as an extra
Seems like readthedocs build expects docs dependencies to be available
as an extra, see one of the failing builds: https://app.readthedocs.org/projects/beets/builds/26079213/.

You can see this has been failing due to missing 'pydata_sphinx_theme':

    raise ThemeError(__('no theme named %r found (missing theme.toml?)') % name)
    sphinx.errors.ThemeError: no theme named 'pydata_sphinx_theme' found (missing theme.toml?)
    Theme error:
    no theme named 'pydata_sphinx_theme' found (missing theme.toml?)
2024-10-30 11:55:55 +00:00
Šarūnas Nejus
9023ff5fd4
ci: Replace pull_request with pull_request_target
This makes the coverage token available in forks.
2024-10-20 17:05:44 +01:00
Šarūnas Nejus
06a5ecaf80
Replace isort and black by ruff format 2024-09-21 11:29:24 +01:00
Šarūnas Nejus
f8ef22348b
Replace flake8 by ruff 2024-09-21 11:28:43 +01:00
Šarūnas Nejus
06ca500ff2
Do not install reflink for tests on Windows 2024-09-04 18:56:19 +01:00
Šarūnas Nejus
111686e563
autobpm: add tests 2024-08-19 22:44:17 +01:00
Šarūnas Nejus
29da72b1d9
Show source files on codecov
While the commit merged yesterday fixed the coverage upload to
coveralls, it broke the source files preview on the platform.

This was due to the missing actions/checkout step in the coverage upload
job.
2024-06-16 18:24:48 +01:00
Šarūnas Nejus
3e075f2a9a
Add 'test-with-coverage' command
And do not measure coverage by default.
2024-06-15 23:52:18 +01:00
Šarūnas Nejus
494c67603a
Fix running tests with/without coverage (#5309)
Apparently the `!` operator does not exist in GitHub Actions.

Also fix coverage upload.
2024-06-15 10:15:53 +01:00
Šarūnas Nejus
30d345dd7d
Try fixing coverage 2024-06-15 10:07:29 +01:00
Šarūnas Nejus
49e6012398
Try fixing testing workflow 2024-06-15 09:19:54 +01:00
Šarūnas Nejus
190198bfa6
Make make-github-release job dependent on publish-to-pypi 2024-06-15 08:48:13 +01:00
Šarūnas Nejus
8b52f3f9a5
Release workflow: Move changelog retrieval to the build job 2024-06-15 06:35:01 +01:00
Šarūnas Nejus
ed574f4307
Release workflow: Update external GitHub action versions
This fixes three warnings seen on https://github.com/beetbox/beets/actions/runs/9296798803
2024-06-15 06:35:01 +01:00
Šarūnas Nejus
1f8c5b8b33
Release workflow: Use poe changelog in make-github-release job 2024-06-15 04:25:51 +01:00
Šarūnas Nejus
0a1bddd99e
Release workflow: Use poetry to build the package 2024-06-15 04:25:51 +01:00
Šarūnas Nejus
f964aa89c9
Release workflow: use poe bump to bump the version 2024-06-15 04:25:51 +01:00
Serene
54a8ef7a32
Fix changelog reminder workflow (#5305)
Quote the breaking glob as noted by @bal-e.
2024-06-15 12:23:06 +10:00
Serene
461a1c6f91
Make the release send a toot on Fosstodon (#5302)
This adds a step to the GitHub release so that it sends a toot on
Fosstodon, beets' Mastodon account, to publicise that and get some
engagement!

Not tested, but this is lifted straight from the action repo so it
*should* be okay. @snejus for a sanity check if you wouldn't mind
2024-06-15 10:02:47 +10:00
Šarūnas Nejus
a3721fea81
Check all Python files when poetry.lock changes 2024-06-14 20:12:19 +01:00
Šarūnas Nejus
8608b2549b
Trigger lint workflow on dependency updates 2024-06-14 18:49:39 +01:00
Šarūnas Nejus
040a2412b3
Quote changed files glob 2024-06-14 16:00:36 +01:00
Serene
0c96da1136
Use output of tagging action in message
Co-authored-by: Šarūnas Nejus <snejus@protonmail.com>
2024-06-14 21:51:29 +10:00
Serene
c7da94152f
Fix changelog workflow (#5231)
Use `pull_request_target` event for the changelog update reminder
2024-06-14 20:40:52 +10:00
Serene-Arc
d03b1af90d
Add mastodon step to release step 2024-06-14 18:52:08 +10:00
Šarūnas Nejus
0507f6f7c1
Fix sphinx docs linting 2024-06-12 10:51:58 +01:00
Šarūnas Nejus
50cf70eea3
Check all python files for formatting issues 2024-06-11 15:21:39 +01:00
Šarūnas Nejus
4752fb01df
Do not use fetch-depth: 2 to get changed-files, and fix small typo 2024-06-10 13:46:27 +01:00
Šarūnas Nejus
67637225ba
Revert "Use poetry action instead of pipx"
This reverts commit 5526bd3c184344d63eec8da4db9793b1be7002e7.

Poetry must be installed before `setup-python` action, weirdly. And we
need to install poethepoet globally too!
2024-06-10 13:46:27 +01:00
Šarūnas Nejus
17ec5909ed
Revert "Simplify workflow"
This reverts commit 4550d39d1e7833557e863de18163f5a4b80db977.

I love this attempt to DRY-up the linting workflow! I remember back in
the day also initially assuming that this is how the jobs work. However,
I had to meet the harsh reality of each job needing to be set up from
zero. :(
2024-06-10 13:46:26 +01:00
Šarūnas Nejus
fee65baf32
Revert "Use poetry prefix"
This reverts commit af996f42c3e5cacb6f5b68716a11500c1183ac02.

Since `poethepoet` is installed globally in the workflows, running it
does not require `poetry run` suffix. This is actually one of the
reasons why it's preferable to have this tool installed globally.
2024-06-10 13:46:26 +01:00
Šarūnas Nejus
b00a83c229
Partially revert "Simplify logic ci.yaml"
This reverts commit 913f85620dc1d68aed87e19ed1f8f2126f483cad.
2024-06-10 13:46:26 +01:00
Serene-Arc
6d7a6df2fa
Simplify workflow 2024-06-10 13:46:26 +01:00
Serene-Arc
f3c9f03d71
Use poetry action instead of pipx 2024-06-10 13:46:26 +01:00
Serene-Arc
4d5b821e52
Use poetry prefix 2024-06-10 13:46:26 +01:00
Serene-Arc
b57c0dd7c5
Rename action 2024-06-10 13:46:25 +01:00
Serene-Arc
6b2ec01a14
Search for changed doc and python files separately 2024-06-10 13:46:25 +01:00
Serene
4494acd515
Simplify logic ci.yaml
Changed the logic so that it isn't testing repeatedly for the correct matrix version, and since we're using poetry instead of pipx, changed the action
2024-06-10 13:46:25 +01:00
Šarūnas Nejus
5ccc69da2c
Lint only changed files 2024-06-10 13:46:25 +01:00
Šarūnas Nejus
4a8e6e961f
Update workflows 2024-06-10 13:46:25 +01:00
Šarūnas Nejus
bfd9753314
Remove tox
Unfortunately tox does not play very nicely with Poetry. Tox was mostly
useful since it managed virtual environments, however now this is done
by Poetry.

Thus we do not anymore need it since we can run our commands using
`poetry run`. I have extended the internal helper tool 'project' with
those commands that have previously been run using tox.
2024-06-10 13:46:25 +01:00
Šarūnas Nejus
e30ee3f490
Update workflows 2024-06-10 13:10:16 +01:00
Šarūnas Nejus
90263a9e9e
Use poetry in workflows 2024-06-10 13:10:16 +01:00
Šarūnas Nejus
d2a94c1cdd
release.py: Add changelog.rst conversion to markdown 2024-06-07 09:01:44 +01:00
Šarūnas Nejus
be778b8da0
release.py: Use click for the CLI 2024-06-05 19:12:50 +01:00
Serene-Arc
c0ef37c46a
Fix error with build workflow using wrong ref
Looking at the logs, it's using the ref before the one that increments
the version in the previous action in the workflow. This code is from
https://github.com/actions/checkout/issues/439#issuecomment-965968956
and supposedly fixes this by making it pull specifically from master,
rather than the ref that the workflow was called on.
2024-06-05 19:12:50 +01:00
Šarūnas Nejus
65bfbda9e7
Remove windows windows/tox specific instructions
On Python 3.8 this is irrelevant since in all cases tox v4 will be
installed which works fine.
2024-06-05 04:41:02 +01:00
Šarūnas Nejus
0aa361e6c8
Remove support for Python 3.7 in the build and docs 2024-06-05 04:41:02 +01:00
Serene
b88c09720c
Add a workflow for easily creating releases (#4952)
I humbly present a solution our lack of releases: a workflow that can be
triggered to automatically create one. This workflow builds the project,
creates a GitHub release, and publishes beets to PyPi, for a one-stop
solution.

@sampsyo this would make it much easier to create releases, as it
requires only one little interaction: going to the actions tab and
entering a version number. Once that's done, the workflow should take
care of the rest.

I have only tested the `build` job so far, since I can't do anything
about the pypi or do a release just to test, but the code is lifted from
other similar actions and should work fine.

It also requires one piece of setup. This is that PyPi must be set up
with a [trusted publisher](https://docs.pypi.org/trusted-publishers/) to
receive the new package. Once that's done, the process should go off
automatically.
2024-05-30 08:57:02 +10:00
Šarūnas Nejus
0e0d9f133f
Use 'pull_request_target' event for the changelog update reminder
See https://github.com/marketplace/actions/comment-pull-request#permissions
for more details.

Additionally, refactor the workflow into a more canonical form utilising
the `tj-actions/changed-files` GitHub action.
2024-05-07 16:28:18 +01:00
Šarūnas Nejus
8b4983fe7c
Add pytest and coverage configuration
Add `pytest-cov` which automatically measures coverage while tests are
executing and update tox and ci build configuration accordingly.

Add configuration for coverage:
  1. Enable analysing logical branches
  2. Save coverage details as HTML for local development use
  3. Configure the HTML output to include coverage context: on the
     right-hand side of each covered code line there is an expandable
     section which lists every test that ran that line.
2024-05-04 10:24:28 +01:00
J0J0 Todos
2af9a8c863 Fix a typo and reorder enum in PR template 2023-10-30 11:23:08 +01:00
Serene
a9ff449c71
Update .github/workflows/changelog_reminder.yaml
Co-authored-by: J0J0 Todos <2733783+JOJ0@users.noreply.github.com>
2023-10-30 11:05:08 +10:00
J0J0 Todos
29c062a81e Overhaul of pull-request template
- Some notes only visible to the contributor while editing.
- Some tiny fixes in the existing texts in braces.
- One of the "invisible" notes encourages to remove those help-texts to
  help uncluttering.
2023-10-29 19:48:10 +01:00
Serene-Arc
8d7cb5c595 Change conditions 2023-10-29 18:38:29 +10:00
Serene-Arc
fb6c107025 Update version 2023-10-29 18:38:29 +10:00
Serene-Arc
dbc7ba7b80 Change trigger 2023-10-29 17:59:27 +10:00
Serene-Arc
48695ba8fb Rename folder 2023-10-29 17:50:08 +10:00
Serene-Arc
dcc5f3a47d Update workflow 2023-10-29 17:49:28 +10:00
Serene-Arc
8e815049fa Use different method for calculating changed paths 2023-10-29 12:24:37 +10:00
Serene-Arc
acc61e44a8 Add workflow 2023-10-29 12:24:37 +10:00
Serene-Arc
3800593046 Remove changelog 2023-10-27 17:48:01 +10:00
Serene-Arc
77b5179207 Update release 2023-10-27 17:48:01 +10:00
Serene-Arc
3c4c586fb1 Fix action version 2023-10-27 17:46:48 +10:00
Serene-Arc
860f096fcd Fix build bug in workflow 2023-10-27 17:46:48 +10:00
Serene-Arc
7924f506ca Add release workflow 2023-10-27 17:46:48 +10:00
wisp3rwind
0467bf867e fix formatting_check CI config 2023-10-22 10:54:08 +02:00
Serene-Arc
5177b669b2 Add formatting check workflow 2023-10-22 09:50:33 +10:00
Adrian Sampson
945d917320
Remove Python 3.12-dev CI config
Python 3.12 is now released, so this is what "3.x" uses.
2023-10-20 15:53:16 -04:00
wisp3rwind
74e1acf6e3 ci: update python versions
(try to) use semver x-ranges in order to avoid needing manual updates of
this in the future
2023-05-07 18:43:43 +02:00
wisp3rwind
d604c7e175 add mypy to actions, but allow failure 2022-12-18 09:09:49 +01:00
Andrew Rogl
af7f29491e Update pyhon versions 2022-06-13 18:26:30 +10:00
Andrew Rogl
4a9771430e Try a subversion of 3.11 2022-02-06 09:41:23 +10:00
Andrew Rogl
21dbb04360 Try just py3.11 2022-02-06 08:49:56 +10:00
Andrew Rogl
ec010d4950 Naming and quoting 2022-02-05 22:01:25 +10:00
Andrew Rogl
af5be3dbed Update CI for latest nightly 2022-02-05 21:55:31 +10:00
Andrew Rogl
400aece2a5
Add quotes around versions 2021-10-06 07:35:05 +10:00
Andrew Rogl
eafef0d521 Versioning 2021-10-05 13:10:09 +10:00
Andrew Rogl
68a1407c67 Update CI to the latest 3.10 release 2021-10-05 13:03:07 +10:00
Adrian Sampson
fcd90bfd20
Use RC version for Python 3.10
Apparently, 3.10-dev isn't available anymore?
2021-09-22 10:41:15 -04:00
Adrian Sampson
8f7d522225
CI: Skip optional dependencies on Windows 2021-08-19 17:00:27 -04:00
Adrian Sampson
b467c2c4fc
Drop Python 2.7 and 3.5 from Actions CI matrix 2021-08-19 16:48:58 -04:00
Adrian Sampson
af1eaf5062
Merge remote-tracking branch 'origin/windows-ci' into drop-py2 2021-08-19 16:48:46 -04:00
Adrian Sampson
eadeead565
CI: Freshen apt packages 2021-06-29 09:39:10 -04:00
arogl
7f45131f1a
Update ci.yaml
Remove deprecated Python version
2021-05-23 16:28:44 +10:00
Jef LeCompte
e1a901dce5
chore: makes discussions more visible (#3807) 2021-04-19 19:37:00 -04:00
Jef LeCompte
50163b373f
ci: scope ci workflow (#3907) 2021-04-17 09:51:03 -04:00
wisp3rwind
78808e4654 ci: also run on latest Python alpha, but allow failure 2021-03-23 09:18:56 +01:00
wisp3rwind
68fa03a5eb ci: install ffmpeg for replaygain tests; show skipped tests
We lost the ability to show skipped tests when transitioning to gh
actions. As it turns out, all of the replaygain tests were being
skipped, so as a start, try to install at least one backend.
2021-03-22 19:07:34 +01:00