Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Version 4.2 #230

Merged
merged 94 commits into from
Oct 28, 2022
Merged

Version 4.2 #230

merged 94 commits into from
Oct 28, 2022

Conversation

bockthom
Copy link
Collaborator

4.2

Added

  • Incorporate custom event timestamps, i.e., add a configuration entry to the project configuration that allows specifying a file from which timestamps can be read, as well as an entry that allows locking this data; add corresponding functions get.custom.event.timestamps, set.custom.event.timestamps and clear.custom.event.timestamps (PR Support arbitrarily defined revision ranges #227, 0aa3424, 0f237d0, c180398, 54e089d, 54673f8, c5f5403)
  • Add function split.data.time.based.by.timestamps to allow using custom event timestamps for splitting. Alternatively, timestamps can be specified manually (PR Support arbitrarily defined revision ranges #227, 5b8515f, 43f23a8)
  • Add the following vertex attributes for artifact vertices and corresponding helper functions (PR Vertex attributes for artifacts #229, 2072807, 51b5478, 56ed57a, 9b06036, 52d40ba, e91161c)
    • add.vertex.attribute.artifact.last.edited
    • add.vertex.attribute.mail.thread.contributer.count, get.mail.thread.contributor.count
    • add.vertex.attribute.mail.thread.message.count, get.mail.thread.message.count
    • add.vertex.attribute.mail.thread.start.date, get.mail.thread.start.date
    • add.vertex.attribute.mail.thread.end.date, get.mail.thread.end.date
    • add.vertex.attribute.mail.thread.originating.mailing.list, get.mail.thread.originating.mailing.list
    • add.vertex.attribute.issue.contributor.count, get.issue.contributor.count
    • add.vertex.attribute.issue.event.count, get.issue.event.count
    • add.vertex.attribute.issue.comment.event.count, get.issue.comment.count
    • add.vertex.attribute.issue.opened.date, get.issue.opened.date
    • add.vertex.attribute.issue.closed.date, get.issue.closed.date
    • add.vertex.attribute.issue.last.activity.date, get.issue.last.activity.date
    • add.vertex.attribute.issue.title, get.issue.title
    • add.vertex.attribute.pr.open.merged.or.closed, get.pr.open.merged.or.closed
    • add.vertex.attribute.issue.is.pull.request, get.issue.is.pull.request

Changed/Improved

  • Breaking Change: Rename existing vertex attributes for author vertices to be distinguishable from attributes for artifact vertices. With this change, the first word after add.vertex.attribute. now signifies the type of vertex the attribute applies to (PR Vertex attributes for artifacts #229, 75e8514)
    • add.vertex.attribute.commit.count.author -> add.vertex.attribute.author.commit.count
    • add.vertex.attribute.commit.count.author.not.committer -> add.vertex.attribute.author.commit.count.not.committer
    • add.vertex.attribute.commit.count.committer -> add.vertex.attribute.author.commit.count.committer
    • add.vertex.attribute.commit.count.committer.not.author -> add.vertex.attribute.author.commit.count.committer.not.author
    • add.vertex.attribute.commit.count.committer.and.author -> add.vertex.attribute.author.commit.count.committer.and.author
    • add.vertex.attribute.commit.count.committer.or.author -> add.vertex.attribute.author.commit.count.committer.or.author
    • add.vertex.attribute.artifact.count -> add.vertex.attribute.author.artifact.count
    • add.vertex.attribute.mail.count -> add.vertex.attribute.author.mail.count
    • add.vertex.attribute.mail.thread.count -> add.vertex.attribute.author.mail.thread.count
    • add.vertex.attribute.issue.count -> add.vertex.attribute.author.issue.count
    • add.vertex.attribute.issues.commented.count -> add.vertex.attribute.author.issues.commented.count
    • add.vertex.attribute.issue.creation.count -> add.vertex.attribute.author.issue.creation.count
    • add.vertex.attribute.issue.comment.count -> add.vertex.attribute.author.issue.comment.count
    • add.vertex.attribute.first.activity -> add.vertex.attribute.author.first.activity
    • add.vertex.attribute.active.ranges -> add.vertex.attribute.author.active.ranges
  • Add parameter use.unfiltered.data to add.vertex.attribute.issue.*. This allows selecting whether the filtered or unfiltered issue data is used for calculating the attribute (PR Vertex attributes for artifacts #229, b77601d, 922258c)
  • Improve handling of issue type in vertex attribute name for add.vertex.attribute.issue.*. The default attribute name still adjusts to the issue type, but this no longer happens if the same name is specified manually (PR Vertex attributes for artifacts #229, fe5dc61)

joba00002 and others added 30 commits April 29, 2022 09:27
Add tests for split.data.time.based, split.network.time.based and
split.networks.time.based with the number.windows parameter.

Signed-off-by: Jonathan Baumann <[email protected]>
Move time period calculation to new function get.time.period.by.amount,
which is called by generate.date.sequence for splitting and by
split.data.time.based to set the splitting information correctly.
Adjust tests accordingly.

Signed-off-by: Jonathan Baumann <[email protected]>
In test-split-equal-sized-windows.R, add explicit checks of the
splitting info in the test for split.networks.time.based.

Signed-off-by: Jonathan Baumann <[email protected]>
In test-split-equal-sized-windows.R, use get.date.from.string from
util-misc instead of calling as.POSIXct directly for consistency.

Signed-off-by: Jonathan Baumann <[email protected]>
Move tests for split.data.time.based, split.data.activity.based,
split.network.time.based and split.network.activity.based to new,
respective files for each.
In the process, move all tests from test-split-sliding-windows.R and
test-split-equal-sized-windows.R to the proper files also, to have a
consistent structure throughout.

Signed-off-by: Jonathan Baumann <[email protected]>
Splitting by activity amount and splitting by number of windows are now
seperate tests instead of one large one.

Signed-off-by: Jonathan Baumann <[email protected]>
Converting from duration to time period yields a format that is human
readable, exact and can be converted back to a duration.

Signed-off-by: Jonathan Baummann <[email protected]>
Fix inconsistencies and improve comments and test names in test-split.R,
test-split-data-activity-based.R, test-split-data-time-based.R,
test-split-network-activity-based.R and test-split-network-time-based.R.

Signed-off-by: Jonathan Baumann <[email protected]>
Affects tests for splitting data activity based with number.windows.
Previously, tests for ignoring sliding.window in this case were included
in the tests for sliding.window, instead, they are now parameterized
tests in the number.windows category.

Signed-off-by: Jonathan Baumann <[email protected]>
Now that many tests have been moved to new files, update the copyright
information so that each developer is listed in the files with functions
they worked on.

Signed-off-by: Jonathan Baumann <[email protected]>
Since most tests are now in other files, this file being called
test-split.R was somewhat confusing.

Signed-off-by: Jonathan Baumann <[email protected]>
List changes to util-split.R under "Fix".

Signed-off-by: Jonathan Baumann <[email protected]>
Fix indentation in util-split.R

Signed-off-by: Jonathan Baumann <[email protected]>
Fix copyright headers in test-split-*.R

Signed-off-by: Jonathan Baumann <[email protected]>
"Split a list of networks time-based with equal-sized windows" fails on
R3.4 when using expect_identical.
Therefore, use expect_equal instead.

Signed-off-by: Jonathan Baumann <[email protected]>
Add tests for splitting with equal sized windows, restructure tests

Reviewed-by: Thomas Bock <[email protected]>
Reviewed-by: Christian Hechtl <[email protected]>
Additionally, create a new file testing-utils for this any any future
helper functions concerning all tests.

Signed-off-by: Jonathan Baumann <[email protected]>
Changes to comments, as well as using 'TRUE' instead of 'T' and 'FALSE'
instead of 'F'.

Signed-off-by: Jonathan Baumann <[email protected]>
Example to illustrate how this function might be used in practice.

Signed-off-by: Jonathan Baumann <[email protected]>
List the new file ('tests/testing-utils.R') and the new function for
cross products of test parameters under 'Added'.

Signed-off-by: Jonathan Baumann <[email protected]>
Accidentally used number of columns instead of number of rows.
Additionally, mention that nesting is possible in documentation.

Signed-off-by: Jonathan Baumann <[email protected]>
Cross product of patrick test cases

Reviewed-by: Thomas Bock <[email protected]>
Reviewed-by: Christian Hechtl <[email protected]>
Also contains a test that documents that this is not the case for vertex
attributes.

Signed-off-by: Jonathan Baumann <[email protected]>
In util-data.R, the use of 'sapply' resulted in type casts (logi NA -> chr NA) in some cases.
'lapply' should prevent this.

Signed-off-by: Jonathan Baumann <[email protected]>
While this may seem unnecessary, it is needed in order to give empty
dataframes the same column layout as nonempty ones.
Without this, the columns of split results would not be consistent.

Signed-off-by: Jonathan Baumann <[email protected]>
…ed.R

Use Patrick test cases to also run all tests that were previously only run
with pasta and synchronicity disabled with them enabled.

Signed-off-by: Jonathan Baumann <[email protected]>
…-based.R

Use patrick test cases to run the tests both with and without
synchronicity data

Signed-off-by: Jonathan Baumann <[email protected]>
Use patrick test cases to run all tests both with and without PaSta and
synchronicity.

Signed-off-by; Jonathan Baumann <[email protected]>
Use patrick parameterized tests to avoid code duplication.

Signed-off-by; Jonathan Baumann <[email protected]>
…work

After (accidentally) adding the same vertex attribute twice, the network
should still be the same.

Signed-off-by: Jonathan Baumann <[email protected]>
bockthom and others added 26 commits August 5, 2022 20:56
Tests for multi-artifact networks

Reviewed-by: Christian Hechtl <[email protected]>
Reviewed-by: Thomas Bock <[email protected]>
Add metrics for issues and mail threads.

Signed-off-by: Jonathan Baumann <[email protected]>
Includes start and end dates, contributor count and activity count.

Signed-off-by: Jonathan Baumann <[email protected]>
Added myself to util-networks-covariates.R and util-data-misc.R

Signed-off-by: Jonathan Baumann <[email protected]>
Inserted line breaks for lines that were longer than 120 characters.

Signed-off-by: Jonathan Baumann <[email protected]>
Also adjust default names and default values.

Signed-off-by: Jonathan Baumann <[email protected]>
Includes date an artifact was added, issue titles, and whether an issue is a pull request.

Signed-off-by: Jonathan Baumann <[email protected]>
Fix a broken function, avoid code duplication

Signed-off-by: Jonathan Baumann <[email protected]>
Only counts the number of comments, not other issue events.

Signed-off-by: Jonathan Baumann <[email protected]>
Also includes artifact last edited date

Signed-off-by: Jonathan Baumann <[email protected]>
For issues only, PRs only, and both

Signed-off-by: Jonathan Baumann <[email protected]>
Also includes some tests.

Signed-off-by: Jonathan Baumann <[email protected]>
Old names were confusing, at least this is a consistent pattern

Signed-off-by: Jonathan Baumann <[email protected]>
issue.event.count, issue.comment.event.count, and issue.is.pull.request

Signed-off-by: Jonathan Baumann <[email protected]>
issue.opened.date, issue.closed.date, issue.last.activity.date,
issue.title

Signed-off-by: Jonathan Baumann <[email protected]>
As the `issue.state` only displays "open" or "closed", this vertex
attribute can additionally determine whether a PR was closed by merging
or rejected.

Signed-off-by: Jonathan Baumann <[email protected]>
incorrect log messages, more comments, reopened merge requests now count
as open, and events with multiple lines now only counted once.

Signed-off-by: Jonathan Baumann <[email protected]>
While this is not necessary now, it's possible that filtering options
may change in the future, making this useful.

Signed-off-by: Jonathan Baumann <[email protected]>
Codeface produces thread IDs prefixed with the mailing list ID. Test
data now reflects this.

Signed-off-by: Jonathan Baumann <[email protected]>
for each mailing list vertex, adds an attribute with the identifier of
the corresponding mailing list.
Currently, this is just a number, as no further information is provided
by codeface.

Signed-off-by: Jonathan Baumann <[email protected]>
In the currently used R containers in our CI pipeline, the installation
of R package 'systemfonts' (which is a dependency of package 'ggraph')
fails as the system library 'libfontconfig1-dev' is not installed within
these containers. Hence, install 'libfontconfig1-dev' within the
pipeline before executing the test scripts.

Signed-off-by: Thomas Bock <[email protected]>
Spaces around +, newlines before '@return'

Signed-off-by: Jonathan Baumann <[email protected]>
Signed-off-by: Jonathan Baumann <[email protected]>
Vertex attributes for artifacts

Reviewed-by: Thomas Bock <[email protected]>
Signed-off-by: Thomas Bock <[email protected]>
@bockthom bockthom added this to the v4.2 milestone Oct 28, 2022
@bockthom
Copy link
Collaborator Author

As everything has already been reviewed, I will merge right away as soon as the CI pipeline has successfully completed.

@bockthom bockthom merged commit b7db5cd into master Oct 28, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants