# \[ANN\] Introducing Upgradathon Fridays

**URL:** https://discourse.julialang.org/t/ann-introducing-upgradathon-fridays/12047
**Category:** Community
**Created:** [June 28, 2018, 10:03pm UTC](https://discourse.julialang.org/t/ann-introducing-upgradathon-fridays/12047 "2018-06-28T22:03:18Z")
**Posts on this page:** 20
**Page:** 2

<div class="post-metadata">

### Author: ![tobias.knopp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tobias.knopp/32/7551_2.png) [@tobias.knopp](https://discourse.julialang.org/u/tobias.knopp)
#### Post date: [June 30, 2018, 11:20pm UTC](https://discourse.julialang.org/t/ann-introducing-upgradathon-fridays/12047/21 "2018-06-30T23:20:37Z")

</div>

I have just tried migrating a package but still have the issue that travis does not pass:

> **[Travis CI - Test and Deploy with Confidence](https://app.travis-ci.com/tknopp/NFFT.jl)**
>
> Travis CI enables your team to test and ship your apps with confidence. Easily sync your projects with Travis CI and you'll be testing your code in minutes.

The package passes locally though. The package is a registered one.

---

<div class="post-metadata">

### Author: ![Keno](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/keno/32/285_2.png) [@Keno](https://discourse.julialang.org/u/Keno)
#### Post date: [June 30, 2018, 11:22pm UTC](https://discourse.julialang.org/t/ann-introducing-upgradathon-fridays/12047/22 "2018-06-30T23:22:23Z")

</div>

I think you shouldn’t have added `NFFT` to the `deps` section. In any case, it is not yet recommended to add a Project.toml to packages.

---

<div class="post-metadata">

### Author: ![Keno](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/keno/32/285_2.png) [@Keno](https://discourse.julialang.org/u/Keno)
#### Post date: [June 30, 2018, 11:23pm UTC](https://discourse.julialang.org/t/ann-introducing-upgradathon-fridays/12047/23 "2018-06-30T23:23:57Z")

</div>

Also, if this is a library (i.e. something you expect other people to use in their code), not an application, it should probably not have a Manifest.toml.

---

<div class="post-metadata">

### Author: ![tobias.knopp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tobias.knopp/32/7551_2.png) [@tobias.knopp](https://discourse.julialang.org/u/tobias.knopp)
#### Post date: [June 30, 2018, 11:25pm UTC](https://discourse.julialang.org/t/ann-introducing-upgradathon-fridays/12047/24 "2018-06-30T23:25:07Z")

</div>

I have not done that. Just tried following  
[https://docs.julialang.org/en/latest/stdlib/Pkg/#Generating-files-for-a-package-1](https://docs.julialang.org/en/latest/stdlib/Pkg/#Generating-files-for-a-package-1)

---

<div class="post-metadata">

### Author: ![tobias.knopp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tobias.knopp/32/7551_2.png) [@tobias.knopp](https://discourse.julialang.org/u/tobias.knopp)
#### Post date: [June 30, 2018, 11:32pm UTC](https://discourse.julialang.org/t/ann-introducing-upgradathon-fridays/12047/25 "2018-06-30T23:32:16Z")

</div>

Ok thanks, removed both files and travis is green now:

> **[Travis CI - Test and Deploy with Confidence](https://app.travis-ci.com/tknopp/NFFT.jl)**
>
> Travis CI enables your team to test and ship your apps with confidence. Easily sync your projects with Travis CI and you'll be testing your code in minutes.

---

<div class="post-metadata">

### Author: ![evanfields](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/evanfields/32/1744_2.png) [@evanfields](https://discourse.julialang.org/u/evanfields)
#### Post date: [July 1, 2018, 12:27pm UTC](https://discourse.julialang.org/t/ann-introducing-upgradathon-fridays/12047/26 "2018-07-01T12:27:21Z")

</div>

Can you elaborate on this? I would have thought 0.7-compatible packages should specify their dependencies in the 0.7 manner. Why not add a Project.toml, and when will that recommendation change?

---

<div class="post-metadata">

### Author: ![Keno](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/keno/32/285_2.png) [@Keno](https://discourse.julialang.org/u/Keno)
#### Post date: [July 1, 2018, 3:40pm UTC](https://discourse.julialang.org/t/ann-introducing-upgradathon-fridays/12047/27 "2018-07-01T15:40:54Z")

</div>

If your package has a Project.toml, so do all your dependencies. Since the ecosystem as a whole has not gone there yet, if you add one without your dependencies having done so, things will break. At some point in the near future, there will be a mass PR to all registered packages to add a Project.toml. At that point the recommendation will change.

---

<div class="post-metadata">

### Author: ![Tamas\_Papp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tamas_papp/32/25949_2.png) [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)
#### Post date: [July 2, 2018, 5:33am UTC](https://discourse.julialang.org/t/ann-introducing-upgradathon-fridays/12047/28 "2018-07-02T05:33:23Z")

</div>

I always wondered about this constraint. Since the information in `REQUIRE` can be mapped to _a_ `Project.toml`, while require the latter recursively in the transition phase?

---

<div class="post-metadata">

### Author: ![Per](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/per/32/10387_2.png) [@Per](https://discourse.julialang.org/u/Per)
#### Post date: [July 2, 2018, 12:36pm UTC](https://discourse.julialang.org/t/ann-introducing-upgradathon-fridays/12047/29 "2018-07-02T12:36:21Z")

</div>

Once I’ve upgraded my package so that it is compatible with 0.7 (only), how do I tag it with a version number and release it?

---

<div class="post-metadata">

### Author: ![ExpandingMan](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/expandingman/32/866_2.png) [@ExpandingMan](https://discourse.julialang.org/u/ExpandingMan)
#### Post date: [July 2, 2018, 1:31pm UTC](https://discourse.julialang.org/t/ann-introducing-upgradathon-fridays/12047/30 "2018-07-02T13:31:54Z")

</div>

I know that the Pkg developers have been really busy working on it, but one thing that I think would make the upgrade process much smoother would be really complete, ironclad documentation on Pkg. There seems to be a fair amount of confusion and I’m still confused on some points myself.

---

<div class="post-metadata">

### Author: ![Tamas\_Papp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tamas_papp/32/25949_2.png) [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)
#### Post date: [July 2, 2018, 1:43pm UTC](https://discourse.julialang.org/t/ann-introducing-upgradathon-fridays/12047/31 "2018-07-02T13:43:15Z")

</div>

I am under the impression that some details are still being hashed out. There is a trade-off between providing very detailed documentation early, and the cost of continuously revising it.

---

<div class="post-metadata">

### Author: ![fredrikekre](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/fredrikekre/32/1688_2.png) [@fredrikekre](https://discourse.julialang.org/u/fredrikekre)
#### Post date: [July 2, 2018, 2:36pm UTC](https://discourse.julialang.org/t/ann-introducing-upgradathon-fridays/12047/32 "2018-07-02T14:36:08Z")

</div>

> [@Per](#):
>
> Once I’ve upgraded my package so that it is compatible with 0.7 (only), how do I tag it with a version number and release it?

The registration procedure has not changed since Julia 0.6. If you are hosting the package on GitHub you can use [GitHub - attobot/attobot: Julia package release bot](https://github.com/attobot/attobot)

---

<div class="post-metadata">

### Author: ![tobias.knopp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tobias.knopp/32/7551_2.png) [@tobias.knopp](https://discourse.julialang.org/u/tobias.knopp)
#### Post date: [July 2, 2018, 4:23pm UTC](https://discourse.julialang.org/t/ann-introducing-upgradathon-fridays/12047/33 "2018-07-02T16:23:40Z")

</div>

and use a REQUIRE having “julia 0.7-beta”. (thanks to Keno for helping me out)

---

<div class="post-metadata">

### Author: ![Tamas\_Papp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tamas_papp/32/25949_2.png) [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)
#### Post date: [July 3, 2018, 7:04am UTC](https://discourse.julialang.org/t/ann-introducing-upgradathon-fridays/12047/34 "2018-07-03T07:04:17Z")

</div>

I thought that

```julia
julia 0.7-

```

was OK too, is it not?

---

<div class="post-metadata">

### Author: ![tobias.knopp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tobias.knopp/32/7551_2.png) [@tobias.knopp](https://discourse.julialang.org/u/tobias.knopp)
#### Post date: [July 3, 2018, 1:37pm UTC](https://discourse.julialang.org/t/ann-introducing-upgradathon-fridays/12047/35 "2018-07-03T13:37:31Z")

</div>

I suppose thats fine too. Or even more accurate.

---

<div class="post-metadata">

### Author: ![Keno](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/keno/32/285_2.png) [@Keno](https://discourse.julialang.org/u/Keno)
#### Post date: [July 3, 2018, 1:45pm UTC](https://discourse.julialang.org/t/ann-introducing-upgradathon-fridays/12047/36 "2018-07-03T13:45:41Z")

</div>

0.7- means “any 0.7 prerelease”. That makes it installable on versions before 0.7 alpha (or beta). However, femtocleaner won’t apply deprecations from the 0.7 cycle (since it’s still declared as installable on prior 0.7 prereleases).

---

<div class="post-metadata">

### Author: ![jlapeyre](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jlapeyre/32/4514_2.png) [@jlapeyre](https://discourse.julialang.org/u/jlapeyre)
#### Post date: [July 6, 2018, 6:49pm UTC](https://discourse.julialang.org/t/ann-introducing-upgradathon-fridays/12047/37 "2018-07-06T18:49:07Z")

</div>

A tip:

Femtocleaner prints the diff to the terminal. If your platform is using `less` to display the diff, you can save the diff to a file by typing `s femtocleaner.log` in the terminal (in which `less` is running). The log file is written to the top level of the cloned package. This is especially useful if you are “cleaning” a very large package.

---

<div class="post-metadata">

### Author: ![dfdx](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dfdx/32/120_2.png) [@dfdx](https://discourse.julialang.org/u/dfdx)
#### Post date: [July 7, 2018, 10:33am UTC](https://discourse.julialang.org/t/ann-introducing-upgradathon-fridays/12047/38 "2018-07-07T10:33:44Z")

</div>

Is it still recommended to run FemtoCleaner from Julia 0.6? I’m getting the following error:

```julia
julia> import FemtoCleaner
INFO: Precompiling module Revise.
INFO: Precompiling module GitHub.
ERROR: LoadError: UndefVarError: Checks not defined
Stacktrace:
 [1] include_from_node1(::String) at ./loading.jl:576
 [2] eval(::Module, ::Any) at ./boot.jl:235
 [3] _require(::Symbol) at ./loading.jl:490
 [4] require(::Symbol) at ./loading.jl:405
while loading /home/dfdx/.julia/v0.6/FemtoCleaner/src/FemtoCleaner.jl, in expression starting on line 8

```

Complete log is [here](https://pastebin.com/ybsHmBBz).

EDIT: I also wasn’t able to run FemtoCleaner on my repository by opening an [issue](https://github.com/dfdx/Espresso.jl/issues/41). Permissions are already updated and previously (during 0.5 → 0.6 migration) FemtoCleaner worked fine. Am I missing something obvious? Should I open an issue?

---

<div class="post-metadata">

### Author: ![jlapeyre](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jlapeyre/32/4514_2.png) [@jlapeyre](https://discourse.julialang.org/u/jlapeyre)
#### Post date: [July 7, 2018, 12:01pm UTC](https://discourse.julialang.org/t/ann-introducing-upgradathon-fridays/12047/39 "2018-07-07T12:01:47Z")

</div>

I had similar problems. To solve them, I restarted and did `import FemtoCleaner` several times. I also did `Pkg.update()` a few times. The errors and warnings kept changing, occurring often when compiling `GitHub`. Eventually, it converged to importing `Femtocleaner` quietly and correctly.

---

<div class="post-metadata">

### Author: ![jlapeyre](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jlapeyre/32/4514_2.png) [@jlapeyre](https://discourse.julialang.org/u/jlapeyre)
#### Post date: [July 7, 2018, 4:19pm UTC](https://discourse.julialang.org/t/ann-introducing-upgradathon-fridays/12047/40 "2018-07-07T16:19:20Z")

</div>

I did not save my logs, but at one point I got exactly the same error  
you got:

```julia
ERROR: LoadError: UndefVarError: Checks not defined

```

with the same symbol `Checks`. I got several `UndefVarError`s with varying undefined symbols. I wish I could say exactly what I did. For the most part exiting Julia, starting, import FemtoCleaner; and repeat. Maybe I did `import GitHub` at one point… don’t recall. I was amazed that it finally worked. But, it reminded me of trying to update an unstable debian distribution. Each pass would push it a little further before erroring out.

It would be better to hear from someone who understands why this is.

[Previous page](https://discourse.julialang.org/t/ann-introducing-upgradathon-fridays/12047.md?page=1)

[Next page](https://discourse.julialang.org/t/ann-introducing-upgradathon-fridays/12047.md?page=3)
