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

chore: Add script for SNAPSHOT version injection in CI #3873

Merged
merged 5 commits into from
Apr 12, 2021

Conversation

slarse
Copy link
Collaborator

@slarse slarse commented Apr 9, 2021

This PR adds a Python script that updates the Spoon version in a pom.xml file to the latest snapshot version. It does so by 1) injecting the snapshot repository into the pom file (if it's not already there), and 2) running mvn versions:use-latest-versions with snapshots enabled to update the version of Spoon, and 3) running mvn dependency:purge-local-repository to avoid using an old snapshot of the same version.

The script works with Python 3.5+ and requires the defusedxml package. We will use this for the smoke tests in the Jenkins pipeline where a project uses Spoon (i.e. Spoon is already a dependency), and we want to run its test suite with the latest snapshot.

@slarse slarse changed the title chore: Add Spoon SNAPSHOT version injection script review: chore: Add Spoon SNAPSHOT version injection script Apr 9, 2021
@slarse
Copy link
Collaborator Author

slarse commented Apr 9, 2021

Here's an example execution of the script: https://ci.inria.fr/sos/job/jperturb/1460/console

@monperrus monperrus changed the title review: chore: Add Spoon SNAPSHOT version injection script chore: Add script for SNAPSHOT version injection in CI Apr 12, 2021
@monperrus monperrus merged commit e7240ed into INRIA:master Apr 12, 2021
@monperrus
Copy link
Collaborator

Thank @slarse

@slarse slarse deleted the add-spoon-injection-script branch April 12, 2021 19:04
@slarse
Copy link
Collaborator Author

slarse commented Apr 13, 2021

Great! I've updated the following builds to use the snapshot injector script:

  • AssertFixer
  • Astor
  • Casper
  • cocospoon
  • coming - later
  • dspot
  • gumtree-spoon-ast-diff
  • jPerturb
  • metamutator
  • nopol
  • npefix
  • sorald
  • spoon-control-flow
  • spoon-decompiler
  • spork
  • juliac

The good news is that we don't appear to have any regressions (knock on wood, a few builds are still running). Which is pretty nice considering all of these builds were running with a months old 8.3.0-SNAPSHOT.

I will now start considering how to properly document the Jenkins builds. Right now, it's all somewhat arcane knowledge that I had to dig up by just looking through the configurations.

@monperrus
Copy link
Collaborator

The good news is that we don't appear to have any regression

yeah!

@monperrus monperrus mentioned this pull request Aug 19, 2021
woutersmeenk pushed a commit to woutersmeenk/spoon that referenced this pull request Aug 29, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants