Commit Graph

208 Commits

Author SHA1 Message Date
Michael Muré
52ef5e96f5
add github actions 2020-12-08 15:03:56 +01:00
Michael Muré
9daa8ad04d
github: minor cleanups 2020-11-22 14:04:47 +01:00
Alexander Scharinger
eded1f10c4 Change return type from map to struct 2020-11-18 09:18:32 +01:00
rng-dynamics
09a845855f Apply suggestions from code review
Co-authored-by: Michael Muré <batolettre@gmail.com>
2020-11-18 09:18:32 +01:00
Alexander Scharinger
1b889a9198 Revision of Github bridge device authorization grant 2020-11-18 09:18:32 +01:00
Alexander Scharinger
dfa3a6d849 Replace Github authorization endpoint by device authorization grant
Fix issue #484
2020-11-18 09:18:32 +01:00
Michael Muré
1a0c86a12d
repo: use go-git in more places, fix push 2020-10-04 19:56:16 +02:00
Michael Muré
3ecbf8db28 bridge: store credentials in the Keyring instead of the git config 2020-09-29 20:42:21 +02:00
Michael Muré
88ad7e606f
repository: remove tie to Bug, improved and reusable testing
- allow the creation of arbitrary Lamport clocks, freeing the way to new entities and removing Bug specific (upper layer) code.
- generalize the memory-only and persisted Lamport clocks behind a common interface
- rework the tests to provide reusable testing code for a Repo, a Clock, a Config, opening a path to add a new Repo implementation more easily
- test previously untested components with those new tests

Note: one problem found during this endeavor is that `identity.Version` also need to store one time + Lamport time for each other Entity (Bug, config, PR ...). This could possibly done without breaking change but it would be much easier to wait for https://github.com/MichaelMure/git-bug-migration to happen.
2020-06-26 19:14:22 +02:00
Michael Muré
aab3a04d0c
bug: harmonize how time are used, fix some issues in command special formats
This assume that the convertion from time.Time <--> Unix timestamp is lossless which seems to be.
2020-06-25 23:18:17 +02:00
Michael Muré
fae3b2e7db
github: tighten the import matching 2020-03-28 17:08:27 +01:00
Michael Muré
0b559bacd5
Merge pull request #344 from MichaelMure/github-lowercase-login
github: fix matching cred/identity with badly cased login
2020-02-29 17:26:33 +01:00
Michael Muré
a90954ae1a
github: fix tests 2020-02-29 17:21:46 +01:00
Michael Muré
fe38af05a8
github: correct casing for user provided login 2020-02-29 15:04:48 +01:00
Michael Muré
893de4f5c0 identity: bring back the login to hold that info from bridges (purely informational) 2020-02-25 21:35:57 +01:00
Michael Muré
8ef6438fb4
Merge pull request #341 from MichaelMure/bridges-default-login
bridge: record the login used during the configure and use it as default credential
2020-02-23 19:20:45 +01:00
Michael Muré
f87d63b3c6
Merge pull request #331 from MichaelMure/webui/mutations
Webui: add comments
2020-02-23 14:49:09 +01:00
Michael Muré
dc21ad0892
use regex.MustCompile instead of dealing with the error 2020-02-23 14:23:34 +01:00
Michael Muré
0cebe1e57e
bridge: record the login used during the configure and use it as default credential
fix #338
2020-02-23 14:20:54 +01:00
Michael Muré
218d460590
webui: style SetStatus 2020-02-17 13:17:44 +01:00
Michael Muré
e231b6e839
bridges: pass the context to Init for when a client build process needs it 2020-02-15 15:46:36 +01:00
Michael Muré
87b97ca4b2
bridges: more refactor and cleanup 2020-02-15 13:45:14 +01:00
Michael Muré
fe3d5c95e4
bridges: massive refactor
- automatic flag validation and warning
- generalized prompt
- cleanups
2020-02-15 02:55:19 +01:00
Michael Muré
34083de0df auth: refactor and introduce Login and LoginPassword, salt IDs 2020-02-12 23:37:57 +01:00
Michael Muré
bd7b50bc86
github/gitlab: many fixes and improvments at the config step 2020-02-10 01:22:01 +01:00
Michael Muré
bef35d4c67
bridge: hopefully fix tests 2020-02-08 22:05:13 +01:00
Michael Muré
8773929f96
github: make sure to have a name 2020-02-08 22:04:25 +01:00
Michael Muré
2e7ac569ad
fix tests ? 2020-02-08 17:35:35 +01:00
Michael Muré
646fd681ff
it compiles \o/ 2020-02-08 17:19:57 +01:00
Michael Muré
f515b9a129
gitlab also compile 2020-02-08 17:19:57 +01:00
Michael Muré
74e9114410
more more wip 2020-02-08 17:19:57 +01:00
Michael Muré
8da522d97a
wip 2020-02-08 17:18:30 +01:00
Michael Muré
b950c2580d
more wip 2020-02-08 17:18:30 +01:00
Michael Muré
ae2f942ef9
more wip 2020-02-08 17:18:28 +01:00
Michael Muré
26f0152384
WIP 2020-02-08 17:18:28 +01:00
Michael Muré
db893494bb
input: better reusable prompt functions 2020-02-08 17:18:27 +01:00
Michael Muré
ee48aef489
github: warning when the comment to be edited is missing instead of failing
fix #286
2020-01-04 13:11:29 +01:00
Michael Muré
864d3ed335 bridge: allow to configure and pull without having set a user first
- init() only the importer or exporter as required
- assign a "default user" user Id to credentials at creation if no user has been set
- "bridge auth": also display the user
- "bridge auth show": adapt to a potential "default user" user Id
- "bridge configure": allow to run without a user set
- "bridge pull": allow to run without a user set
- "user adopt": replace "default user" by the actual user id when run
2019-12-25 23:25:39 +01:00
amine
f6b4830c0b bridge/gitlab: support self-hosted GitLab instance 2019-12-10 21:05:55 +01:00
Michael Muré
f1ed857cbd
Merge pull request #271 from MichaelMure/bridge-credentials
bridge: huge refactor to accept multiple kind of credentials
2019-12-10 00:42:23 +01:00
Michael Muré
8f7f89561b
bridge: fix incorrect last import time on context cancel 2019-12-09 01:03:37 +01:00
Michael Muré
b92adfcb5f
bridge: huge refactor to accept multiple kind of credentials 2019-12-08 21:28:27 +01:00
Michael Muré
4f856d6f78 gitlab: configurator cleanup 2019-11-26 20:45:32 +01:00
Michael Muré
afe69d0c93 github: tiny cleanups of the configurator 2019-11-26 19:46:50 +01:00
amine
7cb772095e bridge: trim inputs during bridge configuration 2019-11-25 15:08:48 +01:00
amine
da2d7970cd bridge/core: add LoadTokensWithTarget and LoadOrCreateToken functions
bridge/github: global fixes
2019-11-24 14:38:44 +01:00
amine
09db1cda71 commands: add bridge configure --token-id flag 2019-11-23 19:26:27 +01:00
amine
014e754fcd bridge/github: use core.ConfigKeyToken instead of keyToken 2019-11-23 19:20:55 +01:00
amine
b1d0f48f67 bridge/github: configuration with global configs 2019-11-23 19:20:32 +01:00
Michael Muré
6345895a3d
Merge pull request #258 from MichaelMure/fixes
Bridges fixes
2019-11-19 21:31:29 +01:00
Michael Muré
5054b8dbdc github: sort project candidate in the interactive wizard 2019-11-19 21:12:10 +01:00
amine
d6d5978b6d bridge/launchpad: importer correctly emit NothingEvent 2019-11-19 20:33:20 +01:00
amine
87244d3c8d bridge/github: export correctly emit nothing events 2019-11-19 20:04:40 +01:00
amine
8b5685bb99 bridge/github: importer corectly emit events 2019-11-19 19:54:07 +01:00
Michael Muré
e01cefff98
Merge pull request #247 from MichaelMure/bridge-origin
bridge: move keyOrigin to core package
2019-11-19 19:25:43 +01:00
amine
8ffe2a9b03 bridge/launchpad: add missing metadata
bridge: use a specific key for origin metadata
2019-11-19 19:16:16 +01:00
amine
e3e37fd79e bridge/github: fix iterator regression 2019-11-11 22:19:57 +01:00
Michael Muré
c1f33db2f2
github: follow API changes
https://developer.github.com/v4/changelog/2019-06-04-schema-changes/
2019-11-11 20:26:13 +01:00
Michael Muré
3984919a3d bridge: various cleanups 2019-11-09 13:26:48 +01:00
amine
bf84a789c9 bridge/github: improve iterator readability 2019-11-05 23:11:38 +01:00
amine
13f98d0cc4 bridge/github: improve iterator NextTimelineItem function 2019-11-05 21:03:16 +01:00
ludovicm67
75004e1298
bug: rename RGBA to Color 2019-10-15 20:42:27 +02:00
Amine Hilaly
f3d8da1075
bridge/core: add tokenStdin field to bridgeParams
commands: move tokenStdin handling logic to bridge.Configure
2019-09-02 09:44:00 +02:00
Amine Hilaly
46f9573444
bridge/github: move cleaners to where is called 2019-09-01 00:04:01 +02:00
Amine Hilaly
be94780315
bridge/github: recover terminal state in password prompts
commands: error if a token is provide but not the bridge name and target
2019-08-31 23:02:20 +02:00
Amine
65d7ce7c05
commands: enhance flag description
bridge/github: improve configuration logic

Co-Authored-By: Michael Muré <batolettre@gmail.com>
2019-08-31 23:02:20 +02:00
Amine Hilaly
0381400bfd
commands: read token from stdin in bridge configuration
bridge: improve bridge config validation
2019-08-31 23:02:20 +02:00
Amine Hilaly
4a4e238d1f bridge/github: add exporter test cases for label change bug 2019-08-19 00:44:35 +02:00
Amine Hilaly
d19b8e1a09 bridge/github: fix name case sensitivity in retrieving and creating labels using github graphql api 2019-08-19 00:44:33 +02:00
Amine Hilaly
df412430ab bridge/github: improve error handling and Nothing events
vendor: add package golang.org/x/sync/errgroup
2019-08-18 23:50:13 +02:00
Amine Hilaly
501a931080 bridge/gthub: use errgroup.Group instead of sync.WaitGroup 2019-08-18 00:14:22 +02:00
Amine Hilaly
5ca326af83 bridge/core: add context.Context to ImportAll and ExportAll signatures
bridge/core: add ImportResult objects to stream import events

bridge/core: launchpad support asynchronous import

bridge/github: cancellable export and import functions

bridge/gitlab: cancellable export and import functions

commands: bridge pull/push gracefull kill

bridge/github: fix github import

bridge/github: use simple context for imports

bridge/core: name parameters in interfaces

github/core: Add EventError to export and import events types

bridge/gitlab: add context support in gitlab requests functions

bridge/gitlab: remove imported events count from importer logic

bridge/github: remove imported events count from importer logic

bridge/github: add context support in query and muration requets

bridge/github: fix bug duplicate editions after multiple calls

bridge/core: import import and export events String methods
bridge/gitlab: fix error handling in note import events

commands/bridge: Add statistics about imports and exports

bridge/gitlab: properly handle context cancellation

bridge/github: improve error handling

bridge: break iterators on context cancel or timeout

bridge: add context timeout support

bridge: improve event formating and error handling

commands: handle interrupt and switch cases

bridge/github: add export mutation timeouts

bridge: fix race condition bug in the github and gitlab importers
bridge/github: improve context error handling
2019-08-18 00:14:22 +02:00
Michael Muré
99b5c58d43 finish the refactoring for the dedicated identifier type 2019-08-12 16:12:14 +02:00
Michael Muré
a0dfc20211 github: fix bad refactor 2019-08-08 19:06:13 +02:00
Michael Muré
612a29b031 fix everything following the hash-->id change 2019-08-08 19:06:13 +02:00
Amine Hilaly
b82ef04452
fix index out of range panic in github configuration 2019-07-23 17:20:42 +02:00
Amine Hilaly
c805142f00
bridge/github: fix project visibility prompt 2019-07-22 18:14:40 +02:00
Michael Muré
5b1a8cdefa
bridge: use a single KeyTarget constant for all bridges 2019-07-07 11:10:58 +02:00
Amine Hilaly
9e611ee667
[bridge/github] import: avoid retrieving ghost email in userQuery
request

rename userQuery to ghostQuery
2019-07-06 16:20:05 +02:00
Amine Hilaly
6323c7b106
[bridge/github] ignore imported bugs from other repositories 2019-07-06 00:23:19 +02:00
Amine Hilaly
3e181168ea
[bridge/github] improve export label change function
[bridge/core] rename `EventStatus` to `ExportEvent`
2019-07-05 22:03:00 +02:00
Amine
93e731fd0d
[bridge/github] improve comments and documentation
[bridge/github] improve error handling and tests

Co-Authored-By: Michael Muré <batolettre@gmail.com>
2019-07-05 18:46:59 +02:00
Amine Hilaly
1f365b2369
[core] Implement ExportResults
Use ExportResult chan to send export events
Remove exportedBugs and exportedLabels
2019-06-30 15:42:45 +02:00
Amine Hilaly
570ae5f75e
[bug] add snapshot.GetCreateMetadata method
[bug] add snapshot.HasParticipant(id string)
[bug] add snapshot.HasAnyParticipant(ids ...string)
[bug] add snapshot.HasActor(id string)
[bug] add snapshot.HasAnyActor(ids ...string)
[bridge/github] improve comments
[bridge/github] exporter tests: register deleteRepository in cleaner
[bridge/github] tests rebase
2019-06-30 15:33:27 +02:00
Amine Hilaly
31eebdf9da
[bridge/github] Correcte some types and add comments
General improvements

Co-Authored-By: Michael Muré <batolettre@gmail.com>

empty array check

an empty array is not nil

Co-Authored-By: Michael Muré <batolettre@gmail.com>
2019-06-24 21:35:24 +02:00
Amine Hilaly
87cdf03219
[bridge/github] exporter tests: Test issues metadata
[bridge/github] exproter tests: Change env vars
2019-06-24 21:34:52 +02:00
Amine Hilaly
0dea0f6a76
[bridge/github] simplify export operation hashs
[bridge/github] exporter tests: add more test cases and global tests

[bridge/github] rename export_query to export_mutation

[bridge/github] exporter: Log number of exported issues and labels

[bridge/github] Improve comments
2019-06-24 21:33:29 +02:00
Amine Hilaly
fc09f2a492
[bridge/github] exporter: Add test cases
correct delete repo
improve tests
set user identity
2019-06-24 21:33:15 +02:00
Amine Hilaly
12cc74e22b
[bridge/github] correct label & comment edit mutations bugs 2019-06-24 21:33:06 +02:00
Amine Hilaly
23f2c58e92
[bridge/github] create label: Generate hexColor from label rgba 2019-06-24 21:32:45 +02:00
Amine Hilaly
4ad3d336c6
[bridge/github] use context.WithTimeout on all graphql queries 2019-06-24 21:32:38 +02:00
Amine Hilaly
f70c279c1e
[bridge/github] exporter: Improve error handling
[bridge/github] queries: use api v4 for getLabel / createLabel

[bridge/github] add comments to getIdentityClient
2019-06-24 21:32:11 +02:00
Amine Hilaly
e511f3d885
[misc] update man docs and completion scripts
[cache] BugCache: Fix set metadata raw

[bridge/github] Fix graphql input objects
2019-06-24 21:30:45 +02:00
Amine Hilaly
a58ac69c1f
[bridge/github] exporter: Check bug import origin
[bridge/github] export only allowed bugs
2019-06-24 21:30:26 +02:00
Amine Hilaly
07492fb72a
[bridge/github] importer: tag imported issues with origin metadata
[bridge/github] exporter: correct export signature and cache maps
2019-06-24 21:29:57 +02:00
Amine Hilaly
1d42814166
[bridge/github] cache user token
fix import typo

init tests

verify issue
2019-06-24 21:29:37 +02:00
Amine Hilaly
a121991f55
[bridge/github] exporter: support multiple tokens/clients 2019-06-24 21:28:51 +02:00
Amine Hilaly
cbac482770
[bridge/github] update github bug exporter
- cache repository ID
- cache all comment IDs
2019-06-24 21:27:17 +02:00
Amine Hilaly
6451dd2928
[cache] BugCache: Add set metadata methods
[bridge/github] fix add/remove mutation requests

[bridge/github] iterator: fix typo
2019-06-24 21:26:34 +02:00
Amine Hilaly
2f620e65b8
[bridge/github] exporter: add graphql functionalities
[bridge/github] graphql mutation objects
[bridge/github] github create and get labels
[bridge/github] repository node_id query
[bridge/github] exporter: ignore old bugs and old operations
[bridge/github] add update labels/status functionalities
[bridge/github] exporter: cache labels while exporting
2019-06-24 21:24:04 +02:00