From de5952311f6d3107157a91287ee1cf7c9b32dae1 Mon Sep 17 00:00:00 2001 From: Dae Woo Kim Date: Mon, 4 Mar 2024 10:39:03 -0600 Subject: [PATCH 1/3] New package: LCSVD v1.0.0-DEV --- L/LCSVD/Compat.toml | 10 ++++++++++ L/LCSVD/Deps.toml | 12 ++++++++++++ L/LCSVD/Package.toml | 3 +++ L/LCSVD/Versions.toml | 2 ++ Registry.toml | 1 + 5 files changed, 28 insertions(+) create mode 100644 L/LCSVD/Compat.toml create mode 100644 L/LCSVD/Deps.toml create mode 100644 L/LCSVD/Package.toml create mode 100644 L/LCSVD/Versions.toml diff --git a/L/LCSVD/Compat.toml b/L/LCSVD/Compat.toml new file mode 100644 index 0000000..3cbd617 --- /dev/null +++ b/L/LCSVD/Compat.toml @@ -0,0 +1,10 @@ +[1] +DataStructures = "0.18" +ImageFiltering = "0.7" +LineSearches = "7" +LoopVectorization = "0.12" +MultivariateStats = "0.10" +NMF = "1" +Optim = "1" +StatsBase = "0.33-0.34" +julia = "1" diff --git a/L/LCSVD/Deps.toml b/L/LCSVD/Deps.toml new file mode 100644 index 0000000..805c498 --- /dev/null +++ b/L/LCSVD/Deps.toml @@ -0,0 +1,12 @@ +[1] +DataStructures = "864edb3b-99cc-5e75-8d2d-829cb0a9cfe8" +ISVD = "0de75c66-c0d4-11e8-3de9-d1632eed9267" +ImageFiltering = "6a3955dd-da59-5b1f-98d4-e7296123deb5" +LineSearches = "d3d80556-e9d4-5f37-9878-2ab0fcc64255" +LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" +LoopVectorization = "bdcacae8-1622-11e9-2a5c-532679323890" +MultivariateStats = "6f286f6a-111f-5878-ab1e-185364afe411" +NMF = "6ef6ca0d-6ad7-5ff6-b225-e928bfa0a386" +Optim = "429524aa-4258-5aef-a3af-852621145aeb" +Printf = "de0858da-6303-5e67-8744-51eddeeeb8d7" +StatsBase = "2913bbd2-ae8a-5f71-8c99-4fb6c76f3a91" diff --git a/L/LCSVD/Package.toml b/L/LCSVD/Package.toml new file mode 100644 index 0000000..aa25256 --- /dev/null +++ b/L/LCSVD/Package.toml @@ -0,0 +1,3 @@ +name = "LCSVD" +uuid = "fda17f23-89d5-4117-bd1e-27859bb918b7" +repo = "https://github.com/HolyLab/LCSVD.jl" diff --git a/L/LCSVD/Versions.toml b/L/LCSVD/Versions.toml new file mode 100644 index 0000000..72110da --- /dev/null +++ b/L/LCSVD/Versions.toml @@ -0,0 +1,2 @@ +["1.0.0-DEV"] +git-tree-sha1 = "083cf2bcccdfe54a5c3e7994c5220657f9a079ae" diff --git a/Registry.toml b/Registry.toml index 4826266..84b4646 100644 --- a/Registry.toml +++ b/Registry.toml @@ -76,4 +76,5 @@ e6cd4d91-e4e0-4df6-b8b9-468a61cefdb4 = { name = "MergeUnreciprocatedGUI", path = ee0d8d85-fa18-576c-9601-66ebb12862d9 = { name = "RegisterMismatchCuda", path = "R/RegisterMismatchCuda" } f385d984-c960-11e8-171c-977bba6b62a4 = { name = "IntervalFastMath", path = "I/IntervalFastMath" } f54becb8-3809-5a58-8f2d-748913078968 = { name = "TileTreesGUI", path = "T/TileTreesGUI" } +fda17f23-89d5-4117-bd1e-27859bb918b7 = { name = "LCSVD", path = "L/LCSVD" } ff578f10-1de7-11e9-075b-65d52eaf0ec5 = { name = "ImagineWorker", path = "I/ImagineWorker" } From 85027c2ace6f5981c12b2a133c7f8a6e49aef105 Mon Sep 17 00:00:00 2001 From: Dae Woo Kim Date: Tue, 17 Dec 2024 11:31:17 -0600 Subject: [PATCH 2/3] replace travis section to CI section --- README.md | 59 ++++++++++++++++++++++++++++++------------------------- 1 file changed, 32 insertions(+), 27 deletions(-) diff --git a/README.md b/README.md index 372be02..172fa6b 100644 --- a/README.md +++ b/README.md @@ -243,36 +243,41 @@ $ git branch -D teh/SomeNewPkg 3bd9afcd-55df-531a-9b34-dc642dce7b95 = { name = "RFFT", path = "RFFT" } ``` -## Accessing HolyLabRegistry in travis and appveyor tests +## Accessing HolyLabRegistry in CI tests -This is required only if your package uses other private packages. +This is required only if your package uses other packages which are registered to this HolyLabRegistry registry. -- Include the following lines in the script section of the `.travis.yml` file in the root directory - of your package (as an example, let your package name be 'RegisterFit') +- Include the following lines in the script section of the `CI.yml` file in the `.github/workflows/` directory + of your package. - ``` - script: - - if [[ -a .git/shallow ]]; then git fetch --unshallow; fi - - julia -e 'using Pkg, LibGit2; - user_regs = joinpath(DEPOT_PATH[1],"registries"); - mkpath(user_regs); - all_registries = Dict("General" => "https://github.com/JuliaRegistries/General.git", - "HolyLabRegistry" => "https://github.com/HolyLab/HolyLabRegistry.git"); - Base.shred!(LibGit2.CachedCredentials()) do creds - for (reg, url) in all_registries - path = joinpath(user_regs, reg); - LibGit2.with(Pkg.GitTools.clone(url, path; header = "registry $reg from $(repr(url))", credentials = creds)) do repo end - end - end' - - julia -e 'using Pkg; Pkg.build(); Pkg.test("RegisterFit"; coverage=false)' - ``` - - A similar script should be used with Appveyor (for testing on Windows). However because multiline commands and variables are nightmarish in Windows it's recommended that you move the Julia command above into a separate script that gets called from `appveyor.yml`. You can call the same script from `.travis.yml` as well to avoid code duplication. See https://github.com/HolyLab/ImagineInterface for an example. - -- Assign your private ssh key which is paired with a public key in your Github account to the package in the Travis site. - * Copy the contents of the private key ('id_ecdsa' file generated in the 'To use git protocol in GitHub' section - not 'id_ecdsa.pub') in the local machine to your clipboard. - * Go to the setup page of the package in the Travis site you want to make to access this registry. (You can get there by choosing the package in your Travis repositories, clicking ‘More options’ button on the upper right corner and selecting ‘setting’ menu.) - * Assign the private key in the clipboard to the ‘SSH Key’ field. +``` +name: CI + # setting ... +jobs: + test: + # setting ... + strategy: + # setting ... + steps: + - uses: actions/checkout@v3 + - name: Setup SSH Keys and known_hosts # this section is required if the dependent packages include private packages in our Lab. + env: + SSH_AUTH_SOCK: /tmp/ssh_agent.sock + run: | + echo $HOME + mkdir -p ~/.ssh + ssh-keyscan github.com >> ~/.ssh/known_hosts + ssh-agent -a $SSH_AUTH_SOCK > /dev/null + ssh-add - <<< "${{ secrets.SSH_PRIVATE_KEY }}" + - uses: julia-actions/setup-julia@v1 + with: + version: ${{ matrix.version }} + arch: ${{ matrix.arch }} + - uses: julia-actions/cache@v1 + - name: registry_add # this section is required if the dependent packages include packages registered to the HolyLabRegistry. + run: julia -e 'using Pkg; pkg"registry add General https://github.com/HolyLab/HolyLabRegistry.git"' + - uses: julia-actions/julia-buildpkg@v1 +``` ## Tagging a new release From dae3b813ecb9006544d53bcfb2457298dda81fc6 Mon Sep 17 00:00:00 2001 From: Dae Woo Kim Date: Tue, 17 Dec 2024 11:34:19 -0600 Subject: [PATCH 3/3] replace travis section with CI section --- README.md | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 172fa6b..a73e6d6 100644 --- a/README.md +++ b/README.md @@ -245,9 +245,9 @@ $ git branch -D teh/SomeNewPkg ## Accessing HolyLabRegistry in CI tests -This is required only if your package uses other packages which are registered to this HolyLabRegistry registry. +This is required only if your package uses other packages which are registered in this HolyLabRegistry registry. -- Include the following lines in the script section of the `CI.yml` file in the `.github/workflows/` directory +- Include the following lines in the jobs section of the `CI.yml` file in the `.github/workflows/` directory of your package. ``` @@ -260,7 +260,7 @@ jobs: # setting ... steps: - uses: actions/checkout@v3 - - name: Setup SSH Keys and known_hosts # this section is required if the dependent packages include private packages in our Lab. + - name: Setup SSH Keys and known_hosts # This section is required if the dependent packages include private packages in our Lab. env: SSH_AUTH_SOCK: /tmp/ssh_agent.sock run: | @@ -268,15 +268,19 @@ jobs: mkdir -p ~/.ssh ssh-keyscan github.com >> ~/.ssh/known_hosts ssh-agent -a $SSH_AUTH_SOCK > /dev/null - ssh-add - <<< "${{ secrets.SSH_PRIVATE_KEY }}" + ssh-add - <<< "${{ secrets.SSH_PRIVATE_KEY }}" # This key must be pre-registered in the repository settings as a secrets first. - uses: julia-actions/setup-julia@v1 with: version: ${{ matrix.version }} arch: ${{ matrix.arch }} - uses: julia-actions/cache@v1 - - name: registry_add # this section is required if the dependent packages include packages registered to the HolyLabRegistry. + - name: registry_add # this section is required if the dependent packages include packages registered in the HolyLabRegistry. run: julia -e 'using Pkg; pkg"registry add General https://github.com/HolyLab/HolyLabRegistry.git"' - uses: julia-actions/julia-buildpkg@v1 + env: # this environment setting is also required if the dependent packages include private packages in our Lab. + SSH_AUTH_SOCK: /tmp/ssh_agent.sock + HOME: /home/runner + - uses: julia-actions/julia-runtest@v1 ``` ## Tagging a new release