1
0
Fork 0
mirror of synced 2024-11-04 08:28:56 -05:00
Commit graph

313 commits

Author SHA1 Message Date
Kurt McKee
25497721a3
Make Dispatcher a singleton after first instantiation
This allows plugins to re-instantiate the Dispatcher
(or, now, use the instance cached in `current_dispatcher`)
without knowing what plugins have been loaded by dotbot.

This fixes plugins that want to dispatch to other plugins.

Fixes #339
2023-09-10 10:08:41 -05:00
Anish Athalye
840cd164d2 Release 1.20.1 2023-09-10 10:37:02 -04:00
Anish Athalye
cd1ff70113 Merge branch 'bennyyip/master' 2023-09-10 10:36:49 -04:00
bennyyip
390d306284 Fix wrong pyyaml path 2023-09-10 22:29:44 +08:00
Anish Athalye
7a24ded5a6 Release 1.20.0 2023-09-09 21:03:40 -04:00
Anish Athalye
b7e54a9bb3 Add badges 2023-09-09 21:03:11 -04:00
Anish Athalye
eace76f697 Add Python 3.11 testing to CI 2023-09-09 20:57:01 -04:00
Anish Athalye
b732baf163 Upgrade PyYAML to 6.0.1
This was causing install issues with newer versions of Python /
setuptools; see https://github.com/yaml/pyyaml/issues/723.

Thanks to Rui Chen <rui@chenrui.dev> for reporting this issue in
https://github.com/anishathalye/dotbot/pull/340.
2023-09-09 20:57:01 -04:00
Anish Athalye
81d4a434ef Drop support for Python 2 and Python < 3.6
This patch also deletes all of the compatibility code that we no longer
need.
2023-09-09 20:57:01 -04:00
Anish Athalye
712b30a445 Add Python 2.7 testing back to CI
This patch uses the strategy described in
https://github.com/actions/setup-python/issues/672.
2023-07-16 12:10:33 -04:00
Anish Athalye
b04a3f1844 Release 1.19.2 2023-07-09 16:28:06 -04:00
Anish Athalye
416f32f5fe Fix globbing when there is a single match
See https://github.com/anishathalye/dotbot/issues/282 and
https://github.com/anishathalye/dotbot/issues/315.

This patch simplifies the implementation, removing special-case handling
for the cases of zero matches and one match. Instead, any situation
where `glob: true` is specified and the path contains a glob character
(any of "?", "*", or "[") is treated as a glob case. The reason we check
both `use_glob` and `_has_glob_chars()` is to more gracefully handle the
case where the user has enabled globs by default, but most links do not
contain glob characters and should not be treated as globs.
2023-07-09 16:24:13 -04:00
Anish Athalye
9f8fd76f32 Add note about exclude path interpretation
See https://github.com/anishathalye/dotbot/issues/292.
2023-07-09 16:20:27 -04:00
Anish Athalye
4daa065dc9 Allow empty glob
This is convenient and more flexible. See
https://github.com/anishathalye/dotbot/issues/284.
2023-07-09 16:20:27 -04:00
Anish Athalye
ed60c62432 Improve output of '--version' 2023-07-09 15:26:46 -04:00
Anish Athalye
53b3781fbb Drop Python 2.7 from CI
The setup-python action no longer supports Python 2.7:
https://github.com/actions/setup-python/issues/672.
2023-06-25 11:16:14 -04:00
Anish Athalye
328bcb3259 Remove copyright years 2023-03-05 07:37:27 -05:00
Anish Athalye
da928a4c6b Release 1.19.1 2022-12-17 15:13:48 -05:00
Anish Athalye
1d56409bc1 Add note about Windows support 2022-12-17 15:12:43 -05:00
Anish Athalye
8468213bc6 Add code coverage for all platforms 2022-12-17 15:05:04 -05:00
Anish Athalye
e810f42ca2 Deduplicate format checking
This was being checked in both the tox tests and separately in GitHub
actions.
2022-12-17 14:10:17 -05:00
Anish Athalye
593584154d Add instructions on how to run tests in Docker 2022-12-17 14:05:39 -05:00
Anish Athalye
3965e1a390 Merge branch 'kurtmckee/test-on-windows-issue-309' 2022-12-17 14:01:22 -05:00
Kurt McKee
e0c78d9c56
Resolve merge conflicts
Note that this does NOT port the following command over:

```shell
git config --global protocol.file.allow always
```

Doing so would change the git configuration of users running
the unit tests locally, and this is not an acceptable outcome.
Instead, the git configuration is modified at the CLI using
the `-c protocol.file.allow=always` argument to accomplish
the same thing without side effects.
2022-12-16 13:52:33 -06:00
Anish Athalye
860a56580b Fix CI 2022-12-11 10:58:48 -05:00
Anish Athalye
9593510bd4 Merge branch 's1as3r/master' 2022-11-17 13:26:55 -05:00
Anish Athalye
5d34d005e8 Fix test 2022-11-17 13:26:32 -05:00
Arbaaz Shafiq
76ccc53eee Don't show command if quiet: true
Don't print the command if quiet option is set to true and no
description is given.
2022-11-17 13:23:23 -05:00
Anish Athalye
1971ae9f51 Add workaround for test broken by Git security fix
The fix for this Git security issue [1] involved disabling the local
clone optimization when the repository contains symbolic links. The
security fix broke this particular test; this patch works around the
fix.

[1]: https://github.com/git/git/security/advisories/GHSA-3wp6-j8xr-qw85
2022-11-17 10:27:21 -05:00
Kurt McKee
d12aa83673 Document how to run the unit tests locally
When verifying the steps on Windows, the `.eggs` directory suddenly appeared.
This is now ignored.
2022-05-18 07:15:59 -05:00
Kurt McKee
7a586aa4c5 Remove the Vagrant-based tests 2022-05-18 07:01:06 -05:00
Kurt McKee
d055802a66 Fix pypy3 CI issue on MacOS 2022-05-18 06:37:48 -05:00
Kurt McKee
59b1b85d07 Account for MacOS and Windows temp directory issues 2022-05-18 06:37:48 -05:00
Kurt McKee
ee3646bba3 Update CI to use tox tests 2022-05-13 10:44:29 -05:00
Kurt McKee
57a27a770c Add code coverage reports 2022-05-13 10:44:29 -05:00
Kurt McKee
5c0ddc6fc1 Migrate the bin/dotbot script test to Python 2022-05-13 10:44:29 -05:00
Kurt McKee
30f310e935 Remove Python 2 references in the Powershell shim
CPython >= 3.8 is required for proper Windows support.
2022-05-13 10:44:29 -05:00
Kurt McKee
74aca02157 Migrate the shim test to Python 2022-05-13 10:44:29 -05:00
Kurt McKee
1ff796a9dc Enforce platform-specific CPython version requirements for Windows in tox
This also changes the black and isort tests to use CPython 3.9
because Cygwin currently doesn't have CPython 3.10 available.
2022-05-13 10:44:29 -05:00
Kurt McKee
ea98e5eafc Add isort as a tox environment, and run it 2022-05-13 10:44:29 -05:00
Kurt McKee
566ba0b853 Add black as tox environment, and run it 2022-05-13 10:44:29 -05:00
Kurt McKee
b5499c7dc5 Separate module importing from plugin identification
This change allows the test framework to reliably specify
which plugins to load and use within the same process.

Previously, plugins were loaded by importing files and then
accessing the Plugin class' list of subclasses.
Now, it's possible to run dotbot multiple times without
plugins accruing across runs with different configurations
and CLI arguments.

In addition, this fixes some circular imports that were
previously avoided because plugins were imported in a function.
2022-05-13 10:44:29 -05:00
Kurt McKee
a8dd89f48f Migrate CLI argument tests to Python 2022-05-13 10:44:29 -05:00
Kurt McKee
68246ba33e Migrate shell-* tests to Python 2022-05-13 10:44:29 -05:00
Kurt McKee
b8dfbae730 Migrate config-* tests to Python 2022-05-13 10:44:29 -05:00
Kurt McKee
a2846d0a61 Resolve Windows-specific clean issues 2022-05-13 10:44:29 -05:00
Kurt McKee
5b7db08e8a Migrate clean-* tests to Python 2022-05-13 10:44:29 -05:00
Kurt McKee
5d11c7954d Resolve Windows-specific create issues 2022-05-13 10:44:29 -05:00
Kurt McKee
b59b3af448 Migrate create-* tests to Python 2022-05-13 10:44:29 -05:00
Kurt McKee
78bec43e33 Resolve Windows-specific link issues 2022-05-13 10:44:29 -05:00