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

V1.8.0-dev #181

Merged
merged 15 commits into from
Jan 9, 2022
Merged

V1.8.0-dev #181

merged 15 commits into from
Jan 9, 2022

Conversation

ngam
Copy link
Contributor

@ngam ngam commented Jan 8, 2022

Checklist

  • Used a personal fork of the feedstock to propose changes
  • Bumped the build number (if the version is unchanged)
  • Reset the build number to 0 (if the version changed)
  • Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
  • Ensured the license file is being packaged.

Are these the legit options or are there more? https://github.com/JuliaLang/julia/blob/cd81054bae301ccf3a0fe7e0d8f60f167f1203a0/Makefile#L161-L222

# public libraries, that are installed in $(prefix)/lib
JL_TARGETS := julia
ifeq ($(BUNDLE_DEBUG_LIBS),1)
JL_TARGETS += julia-debug
endif

# private libraries, that are installed in $(prefix)/lib/julia
JL_PRIVATE_LIBS-0 := libccalltest libllvmcalltest libjulia-internal libjulia-codegen
ifeq ($(BUNDLE_DEBUG_LIBS),1)
JL_PRIVATE_LIBS-0 += libjulia-internal-debug libjulia-codegen-debug
endif
ifeq ($(USE_GPL_LIBS), 1)
JL_PRIVATE_LIBS-$(USE_SYSTEM_LIBSUITESPARSE) += libamd libbtf libcamd libccolamd libcholmod libcolamd libklu libldl librbio libspqr libsuitesparseconfig libumfpack
endif
JL_PRIVATE_LIBS-$(USE_SYSTEM_LIBBLASTRAMPOLINE) += libblastrampoline
JL_PRIVATE_LIBS-$(USE_SYSTEM_PCRE) += libpcre2-8
JL_PRIVATE_LIBS-$(USE_SYSTEM_DSFMT) += libdSFMT
JL_PRIVATE_LIBS-$(USE_SYSTEM_GMP) += libgmp libgmpxx
JL_PRIVATE_LIBS-$(USE_SYSTEM_MPFR) += libmpfr
JL_PRIVATE_LIBS-$(USE_SYSTEM_LIBSSH2) += libssh2
JL_PRIVATE_LIBS-$(USE_SYSTEM_NGHTTP2) += libnghttp2
JL_PRIVATE_LIBS-$(USE_SYSTEM_MBEDTLS) += libmbedtls libmbedcrypto libmbedx509
JL_PRIVATE_LIBS-$(USE_SYSTEM_CURL) += libcurl
JL_PRIVATE_LIBS-$(USE_SYSTEM_LIBGIT2) += libgit2
JL_PRIVATE_LIBS-$(USE_SYSTEM_LIBUV) += libuv
ifeq ($(OS),WINNT)
JL_PRIVATE_LIBS-$(USE_SYSTEM_ZLIB) += zlib
else
JL_PRIVATE_LIBS-$(USE_SYSTEM_ZLIB) += libz
endif
ifeq ($(USE_LLVM_SHLIB),1)
JL_PRIVATE_LIBS-$(USE_SYSTEM_LLVM) += libLLVM libLLVM-13jl
endif
JL_PRIVATE_LIBS-$(USE_SYSTEM_LIBUNWIND) += libunwind

ifeq ($(USE_SYSTEM_LIBM),0)
JL_PRIVATE_LIBS-$(USE_SYSTEM_OPENLIBM) += libopenlibm
endif

JL_PRIVATE_LIBS-$(USE_SYSTEM_BLAS) += $(LIBBLASNAME)
ifneq ($(LIBLAPACKNAME),$(LIBBLASNAME))
JL_PRIVATE_LIBS-$(USE_SYSTEM_LAPACK) += $(LIBLAPACKNAME)
endif

JL_PRIVATE_LIBS-$(USE_SYSTEM_CSL) += libgfortran libquadmath libstdc++ libgcc_s libgomp libssp libatomic
ifeq ($(OS),Darwin)
JL_PRIVATE_LIBS-$(USE_SYSTEM_CSL) += libc++
endif
ifeq ($(OS),WINNT)
JL_PRIVATE_LIBS-$(USE_SYSTEM_CSL) += libwinpthread
else
JL_PRIVATE_LIBS-$(USE_SYSTEM_CSL) += libpthread
endif


ifeq ($(OS),Darwin)
ifeq ($(USE_SYSTEM_BLAS),1)
ifeq ($(USE_SYSTEM_LAPACK),0)
JL_PRIVATE_LIBS-0 += libgfortblas
endif
endif
endif


export EXTRA_MAKEFLAGS="" 
if [[ "${target_platform}" == osx-* ]]; then
    export EXTRA_MAKEFLAGS="USE_SYSTEM_LIBGIT2=0 USE_SYSTEM_MBEDTLS=0"
elif [[ "${target_platform}" == linux-* ]]; then
    export EXTRA_MAKEFLAGS="USE_SYSTEM_LIBGIT2=1 USE_SYSTEM_MBEDTLS=1"
fi

...
# using system utf8proc can be enabled in 1.7.0. See https://github.com/JuliaLang/julia/commit/ba653ecb1c81f1465505c2cea38b4f8149dd20b3

make -j${CPU_COUNT} prefix=${PREFIX} sysconfigdir=${PREFIX}/etc \
 LIBBLAS=-lopenblas64_ LIBBLASNAME=libopenblas64_ LIBLAPACK=-lopenblas64_ LIBLAPACKNAME=libopenblas64_ \
 USE_SYSTEM_ARPACK=1 \
 USE_SYSTEM_BLAS=1 \
 USE_BLAS64=1 \
 USE_SYSTEM_CURL=1 \
 USE_SYSTEM_GMP=1 \
 USE_SYSTEM_LAPACK=1 \
 USE_SYSTEM_LIBSSH2=1 \
 USE_SYSTEM_LLVM=0 \
 USE_SYSTEM_MPFR=1 \
 USE_SYSTEM_OPENLIBM=1 \
 USE_SYSTEM_PATCHELF=1 \
 USE_SYSTEM_PCRE=1 \
 USE_SYSTEM_SUITESPARSE=1 \
 USE_SYSTEM_CSL=0 \
 USE_SYSTEM_LIBUNWIND=1 \
 USE_SYSTEM_LIBUV=0 \
 USE_SYSTEM_UTF8PROC=1 \
 USE_SYSTEM_NGHTTP2=1 \
 USE_SYSTEM_ZLIB=1 \
 USE_SYSTEM_P7ZIP=1 \
 ${EXTRA_MAKEFLAGS} \
 TAGGED_RELEASE_BANNER="https://github.com/conda-forge/julia-feedstock" \
 CC=$CC CXX=$CXX FC=$FC \
 install

@conda-forge-linter
Copy link

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@ngam
Copy link
Contributor Author

ngam commented Jan 9, 2022

@mkitti

./version_git.jl
error during bootstrap:
LoadError(at "sysimg.jl" line 3: LoadError(at "Base.jl" line 158: LoadError(at "./version_git.jl" line 16: MethodError(f=Base.GitVersionInfo, args=("", "", "", 0, "", true, 0, 0), world=0x0000000000001e92))))

what is this?? lol

@ngam
Copy link
Contributor Author

ngam commented Jan 9, 2022

@conda-forge-admin, please rerender

@github-actions
Copy link
Contributor

github-actions bot commented Jan 9, 2022

Hi! This is the friendly automated conda-forge-webservice.

I tried to rerender for you, but it looks like there was nothing to do.

This message was generated by GitHub actions workflow run https://github.com/conda-forge/julia-feedstock/actions/runs/1672642659.

@mkitti
Copy link
Contributor

mkitti commented Jan 9, 2022

JuliaLang/julia#43716

@mkitti
Copy link
Contributor

mkitti commented Jan 9, 2022

I'm confused why this has not come up until now...

@mkitti
Copy link
Contributor

mkitti commented Jan 9, 2022

Oh, because you switched to the tarballs...

@ngam
Copy link
Contributor Author

ngam commented Jan 9, 2022

Oh, because you switched to the tarballs...

How would you have done it btw? Here, they really like tar balls, and it is easy to construct one from a commit --- so that's what I do...

@ngam
Copy link
Contributor Author

ngam commented Jan 9, 2022

Also, please provide feedback on the naming of the "version" --- we cannot have 1.8.0-DEV (cannot have dashes "-" in versions). So we could do just 1.8.0 or 1.8.0.dev or 1.8.0.5f6b8a1 or 1.8.0.dev.5f6b8a1 or whatever you want...

@ngam
Copy link
Contributor Author

ngam commented Jan 9, 2022

Also, it seems that they might have some conventions upstream for the "nightly" builds? Looks like they're versioned like: 1.8.0-DEV.2000 --- do you know how that last number (2000) is decided?

~/julia-acb6e16b5b$ bin/julia 
               _
   _       _ _(_)_     |  Documentation: https://docs.julialang.org
  (_)     | (_) (_)    |
   _ _   _| |_  __ _   |  Type "?" for help, "]?" for Pkg help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 1.8.0-DEV.1256 (2022-01-08)
 _/ |\__'_|_|_|\__'_|  |  Commit acb6e16b5b (0 days old master)
|__/                   |

Also, fyi, not sure what Error: active project callback #19 failed @ Base initdefs.jl:325 is all about:

+ julia --project -e 'delete!(ENV, "JULIA_PROJECT"); delete!(ENV, "JULIA_LOAD_PATH"); Base.runtests(["loading", "cmdlineargs"])'
Test    (Worker) | Time (s) | GC (s) | GC % | Alloc (MB) | RSS (MB)
loading      (1) |        started at 2022-01-09T03:05:45.486
┌ Error: active project callback #19 failed
└ @ Base initdefs.jl:325
WARNING: replacing module Foo.
loading      (1) |    25.39 |   0.39 |  1.5 |    2081.25 |   336.59
cmdlineargs  (1) |        started at 2022-01-09T03:06:11.072
cmdlineargs  (1) |   216.85 |   0.47 |  0.2 |     796.28 |   386.72

@mkitti
Copy link
Contributor

mkitti commented Jan 9, 2022

If it's during testing, then I think one of those is expected:
https://github.com/JuliaLang/julia/blob/cd81054bae301ccf3a0fe7e0d8f60f167f1203a0/test/loading.jl#L229

@ngam
Copy link
Contributor Author

ngam commented Jan 9, 2022

Let's experiment with this here:

#172 (comment)

@ngam
Copy link
Contributor Author

ngam commented Jan 9, 2022

@mkitti happy to merge this or not yet?

@mkitti
Copy link
Contributor

mkitti commented Jan 9, 2022

How does this work? If someone says conda install -C conda-forge julia in a new environment, will they get this release? Is there some special consideration for "dev" versions?

@isuruf
Copy link
Member

isuruf commented Jan 9, 2022

See our docs on how to release dev versions to a separate channel.

@mkitti
Copy link
Contributor

mkitti commented Jan 9, 2022

We need to modify recipe/conda_build_config.yaml don't we?

https://conda-forge.org/docs/maintainer/knowledge_base.html#creating-a-pre-release-build

@ngam
Copy link
Contributor Author

ngam commented Jan 9, 2022

@ngam
Copy link
Contributor Author

ngam commented Jan 9, 2022

Am I missing something?

@ngam
Copy link
Contributor Author

ngam commented Jan 9, 2022

How does this work? If someone says conda install -C conda-forge julia in a new environment, will they get this release? Is there some special consideration for "dev" versions?

conda install -c conda-forge/label/julia_dev -c conda-forge julia will get you this release. Without the special lable, you will get the main ones (v1.7.x or v1.6.x)

read more: https://conda-forge.org/docs/maintainer/knowledge_base.html#creating-a-pre-release-build

@ngam
Copy link
Contributor Author

ngam commented Jan 9, 2022

(I made the dev branch directly --- which is dumb, but oh well, the builds were broken, so it was okay --- and so this one is pushing onto the dev branch)

@ngam
Copy link
Contributor Author

ngam commented Jan 9, 2022

@conda-forge-admin, please rerender

@github-actions
Copy link
Contributor

github-actions bot commented Jan 9, 2022

Hi! This is the friendly automated conda-forge-webservice.

I tried to rerender for you, but it looks like there was nothing to do.

This message was generated by GitHub actions workflow run https://github.com/conda-forge/julia-feedstock/actions/runs/1674571249.

@github-actions
Copy link
Contributor

github-actions bot commented Jan 9, 2022

Hi! This is the friendly automated conda-forge-webservice.

I tried to rerender for you, but it looks like there was nothing to do.

This message was generated by GitHub actions workflow run https://github.com/conda-forge/julia-feedstock/actions/runs/1674573220.

@ngam
Copy link
Contributor Author

ngam commented Jan 9, 2022

@isuruf is here, so please ensure I am not doing something superbly dumb, thank you :)

@mkitti
Copy link
Contributor

mkitti commented Jan 9, 2022

Did you want to use the dev number rather than a partial hash?

@ngam
Copy link
Contributor Author

ngam commented Jan 9, 2022

Did you want to use the dev number rather than a partial hash?

I would love to reproduce their exact number, but I don't know how... I saw your link, but it made little sense to me :(

@ngam
Copy link
Contributor Author

ngam commented Jan 9, 2022

(No hurry to merge this btw --- I just want to make sure we are making progress on all these items, and it would be easier to disentangle them in separate PRs. We should also aim to release a new DEV version every week or so to preemptively test breaking changes in our deps, since we really cannot pin a max in practice. Obviously, this is a pretty challenging feedstock and we will need to keep our guard up until we definitively reach a stable-ish release)

@mkitti
Copy link
Contributor

mkitti commented Jan 9, 2022

To get the build number, one would need to git clone the source tree and then do the following:

$ git checkout 5f6b8a1767f72c6b86ae391ece9c0ca52cd73c6b
HEAD is now at 5f6b8a1767 Generate memset and memmove intrinsics from ccalls (#43580)

$ make version_git.jl.phony
sh /home/mkitti/src/julia/base/version_git.sh /home/mkitti/src/julia/base > version_git.jl.phony
    PERL base/version_git.jl.phony

$ julia -E 'include("version_git.jl"); GIT_VERSION_INFO.build_number'
1258

@mkitti
Copy link
Contributor

mkitti commented Jan 9, 2022

More directly, perhaps:

topdir=$(git rev-parse --show-toplevel)
verchanged=$(git blame -L ,1 -sl -- "$topdir/VERSION" | cut -f 1 -d " ")
git rev-list --count HEAD "^$verchanged"

@mkitti mkitti added the automerge Merge the PR when CI passes label Jan 9, 2022
@github-actions github-actions bot merged commit 126710c into conda-forge:dev Jan 9, 2022
@github-actions
Copy link
Contributor

github-actions bot commented Jan 9, 2022

Hi! This is the friendly conda-forge automerge bot!

I considered the following status checks when analyzing this PR:

  • linter: passed
  • azure: passed

Thus the PR was passing and merged! Have a great day!

@ngam
Copy link
Contributor Author

ngam commented Jan 10, 2022

sorry, for some reason the channel wasn't rendered correctly; I just rerendered and now it should be fine (pushed into dev directly). We may have one of 1.8.0.dev ones up there though... :(

@ngam
Copy link
Contributor Author

ngam commented Jan 10, 2022

@mkitti
Copy link
Contributor

mkitti commented Jan 10, 2022

Umm, so how do we take it down?

@ngam
Copy link
Contributor Author

ngam commented Jan 10, 2022

PR to label mistake uplaods: conda-forge/admin-requests#370

@ngam
Copy link
Contributor Author

ngam commented Jan 10, 2022

Umm, so how do we take it down?

All clear --- the two files shouldn't be available for downlaod. Ouuf.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
automerge Merge the PR when CI passes
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants