Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
560639a
feat: init simple jlpkg binary
MilesCranmer Aug 23, 2025
4124d87
move julialauncher code out
MilesCranmer Aug 23, 2025
0ee21f1
get julialauncher.rs working in library form
MilesCranmer Aug 23, 2025
e661d15
rewrite jlpkg to call underlying julialauncher code
MilesCranmer Aug 23, 2025
dd07cd1
validate all CLI flags to jlpkg
MilesCranmer Aug 24, 2025
81ce648
remove unused arguments in jlpkg
MilesCranmer Aug 24, 2025
3e4a2e2
greatly expand testing
MilesCranmer Aug 24, 2025
05c55d5
style: formatting
MilesCranmer Aug 24, 2025
31ffeaa
move main_impl back to julialauncher.rs
MilesCranmer Aug 24, 2025
289fb1f
test: fix missing 1.10
MilesCranmer Aug 24, 2025
b7f0f7d
docs: mention Julia options in jlpkg
MilesCranmer Aug 24, 2025
0f2d405
test: remove redundancy and expand coverage
MilesCranmer Aug 24, 2025
9a38eda
ci: separate job for jlpkg tests
MilesCranmer Aug 24, 2025
b5cd4f2
deps: put `jlpkg` behind a feature
MilesCranmer Aug 24, 2025
f836e25
ci: put jlpkg install behind a feature
MilesCranmer Aug 24, 2025
a34d195
fix: temp dir warning
MilesCranmer Aug 24, 2025
a58dc04
refactor: cleanup dead code
MilesCranmer Aug 24, 2025
0adcf23
refactor: better help menus
MilesCranmer Aug 24, 2025
30b6932
docs: complete help menu for `free`
MilesCranmer Aug 24, 2025
be232fc
test: make `build` test actually build something
MilesCranmer Aug 24, 2025
b2472de
feat: use auto threads for jlpkg
MilesCranmer Aug 24, 2025
ec580d2
test: update for new flag defaults
MilesCranmer Aug 24, 2025
f91b089
refactor: modularize jlpkg main
MilesCranmer Aug 24, 2025
0b0aeb0
feat: add nushell completions
MilesCranmer Aug 24, 2025
f4ba136
feat: add completions for jlpkg command
MilesCranmer Aug 24, 2025
47b9f58
feat: add nushell completions
MilesCranmer Aug 24, 2025
f283646
style: fix clippy warnings
MilesCranmer Aug 24, 2025
e33241a
refactor: rename `jlpkg` -> `juliapkg`
MilesCranmer Aug 25, 2025
75f3292
refactor: avoid string conversion
MilesCranmer Aug 26, 2025
81d384e
test: add smoke tests for shell completions
MilesCranmer Aug 26, 2025
dcbda80
refactor: switch to keep() when necessary
MilesCranmer Aug 26, 2025
bdbd483
Merge remote-tracking branch 'origin/nushell-completions' into jlpkg
MilesCranmer Aug 26, 2025
289b44d
refactor: clean up some code reuse
MilesCranmer Aug 26, 2025
784c230
refactor: tiny readability improvement
MilesCranmer Aug 26, 2025
4a9404c
Merge remote-tracking branch 'origin/nushell-completions' into jlpkg
MilesCranmer Aug 26, 2025
3c848c4
Merge branch 'main' into jlpkg
MilesCranmer Aug 26, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
60 changes: 30 additions & 30 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,23 +40,23 @@ jobs:
include:
- label: x86_64-pc-windows-msvc-windowsstore
target: x86_64-pc-windows-msvc
bins: --bin juliaup --bin julialauncher
bins: --bin juliaup --bin julialauncher --bin juliapkg
os: windows
features: windowsstore,binjulialauncher
features: windowsstore,binjulialauncher,juliapkg
rustflags:
toolchain: stable
- label: x86_64-pc-windows-msvc-windowsappinstaller
target: x86_64-pc-windows-msvc
bins: --bin juliaup --bin julialauncher
bins: --bin juliaup --bin julialauncher --bin juliapkg
os: windows
features: windowsappinstaller,binjulialauncher
features: windowsappinstaller,binjulialauncher,juliapkg
rustflags:
toolchain: stable
- label: x86_64-pc-windows-gnu-msi
target: x86_64-pc-windows-gnu
bins: --bin juliaup --bin julialauncher
bins: --bin juliaup --bin julialauncher --bin juliapkg
os: windows
features: binjulialauncher
features: binjulialauncher,juliapkg
rustflags:
toolchain: stable-gnu
- label: x86_64-pc-windows-gnu-portable
Expand All @@ -68,9 +68,9 @@ jobs:
toolchain: stable-gnu
- label: i686-pc-windows-gnu-msi
target: i686-pc-windows-gnu
bins: --bin juliaup --bin julialauncher
bins: --bin juliaup --bin julialauncher --bin juliapkg
os: windows
features: binjulialauncher
features: binjulialauncher,juliapkg
rustflags:
toolchain: stable-i686-gnu
- label: i686-pc-windows-gnu-portable
Expand All @@ -82,9 +82,9 @@ jobs:
toolchain: stable-i686-gnu
- label: x86_64-apple-darwin
target: x86_64-apple-darwin
bins: --bin juliaup --bin julialauncher --bin juliainstaller
bins: --bin juliaup --bin julialauncher --bin juliainstaller --bin juliapkg
os: macos
features: selfupdate,binjuliainstaller,binjulialauncher
features: selfupdate,binjuliainstaller,binjulialauncher,juliapkg
rustflags:
toolchain: stable
- label: x86_64-apple-darwin-portable
Expand All @@ -96,16 +96,16 @@ jobs:
toolchain: stable
- label: x86_64-unknown-linux-gnu
target: x86_64-unknown-linux-gnu
bins: --bin juliaup --bin julialauncher --bin juliainstaller
bins: --bin juliaup --bin julialauncher --bin juliainstaller --bin juliapkg
os: ubuntu
features: selfupdate,binjuliainstaller,binjulialauncher
features: selfupdate,binjuliainstaller,binjulialauncher,juliapkg
rustflags:
toolchain: stable
- label: x86_64-unknown-linux-musl
target: x86_64-unknown-linux-musl
bins: --bin juliaup --bin julialauncher --bin juliainstaller
bins: --bin juliaup --bin julialauncher --bin juliainstaller --bin juliapkg
os: ubuntu
features: selfupdate,binjuliainstaller,binjulialauncher
features: selfupdate,binjuliainstaller,binjulialauncher,juliapkg
rustflags: -C target-feature=+crt-static
toolchain: stable
- label: x86_64-unknown-linux-musl-portable
Expand All @@ -117,37 +117,37 @@ jobs:
toolchain: stable
- label: x86_64-unknown-freebsd
target: x86_64-unknown-freebsd
bins: --bin juliaup --bin julialauncher --bin juliainstaller
bins: --bin juliaup --bin julialauncher --bin juliainstaller --bin juliapkg
os: ubuntu
features: selfupdate,binjuliainstaller,binjulialauncher
features: selfupdate,binjuliainstaller,binjulialauncher,juliapkg
rustflags:
toolchain: stable
- label: i686-pc-windows-msvc-windowsstore
target: i686-pc-windows-msvc
bins: --bin juliaup --bin julialauncher
bins: --bin juliaup --bin julialauncher --bin juliapkg
os: windows
features: windowsstore,binjulialauncher
features: windowsstore,binjulialauncher,juliapkg
rustflags:
toolchain: stable
- label: i686-pc-windows-msvc-windowsappinstaller
target: i686-pc-windows-msvc
bins: --bin juliaup --bin julialauncher
bins: --bin juliaup --bin julialauncher --bin juliapkg
os: windows
features: windowsappinstaller,binjulialauncher
features: windowsappinstaller,binjulialauncher,juliapkg
rustflags:
toolchain: stable
- label: i686-unknown-linux-gnu
target: i686-unknown-linux-gnu
bins: --bin juliaup --bin julialauncher --bin juliainstaller
bins: --bin juliaup --bin julialauncher --bin juliainstaller --bin juliapkg
os: ubuntu
features: selfupdate,binjuliainstaller,binjulialauncher
features: selfupdate,binjuliainstaller,binjulialauncher,juliapkg
rustflags:
toolchain: stable
- label: i686-unknown-linux-musl
target: i686-unknown-linux-musl
bins: --bin juliaup --bin julialauncher --bin juliainstaller
bins: --bin juliaup --bin julialauncher --bin juliainstaller --bin juliapkg
os: ubuntu
features: selfupdate,binjuliainstaller,binjulialauncher
features: selfupdate,binjuliainstaller,binjulialauncher,juliapkg
rustflags: -C target-feature=+crt-static
toolchain: stable
- label: i686-unknown-linux-musl-portable
Expand All @@ -159,16 +159,16 @@ jobs:
toolchain: stable
- label: aarch64-unknown-linux-gnu
target: aarch64-unknown-linux-gnu
bins: --bin juliaup --bin julialauncher --bin juliainstaller
bins: --bin juliaup --bin julialauncher --bin juliainstaller --bin juliapkg
os: ubuntu
features: selfupdate,binjuliainstaller,binjulialauncher
features: selfupdate,binjuliainstaller,binjulialauncher,juliapkg
rustflags:
toolchain: stable
- label: aarch64-unknown-linux-musl
target: aarch64-unknown-linux-musl
bins: --bin juliaup --bin julialauncher --bin juliainstaller
bins: --bin juliaup --bin julialauncher --bin juliainstaller --bin juliapkg
os: ubuntu
features: selfupdate,binjuliainstaller,binjulialauncher
features: selfupdate,binjuliainstaller,binjulialauncher,juliapkg
rustflags: -C target-feature=+crt-static
toolchain: stable
- label: aarch64-unknown-linux-musl-portable
Expand All @@ -180,9 +180,9 @@ jobs:
toolchain: stable
- label: aarch64-apple-darwin
target: aarch64-apple-darwin
bins: --bin juliaup --bin julialauncher --bin juliainstaller
bins: --bin juliaup --bin julialauncher --bin juliainstaller --bin juliapkg
os: macos
features: selfupdate,binjuliainstaller,binjulialauncher
features: selfupdate,binjuliainstaller,binjulialauncher,juliapkg
rustflags:
toolchain: stable
- label: aarch64-apple-darwin-portable
Expand Down
63 changes: 46 additions & 17 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,77 +39,77 @@ jobs:
- label: x86_64-pc-windows-msvc-windowsstore
target: x86_64-pc-windows-msvc
os: windows
features: windowsstore,binjuliainstaller,binjulialauncher
features: windowsstore,binjuliainstaller,binjulialauncher,juliapkg
rustflags:
- label: x86_64-pc-windows-msvc-windowsappinstaller
target: x86_64-pc-windows-msvc
os: windows
features: windowsappinstaller,binjuliainstaller,binjulialauncher
features: windowsappinstaller,binjuliainstaller,binjulialauncher,juliapkg
rustflags:
- label: x86_64-pc-windows-gnu-msi
target: x86_64-pc-windows-gnu
os: windows
features: windowsappinstaller,binjuliainstaller,binjulialauncher
features: windowsappinstaller,binjuliainstaller,binjulialauncher,juliapkg
rustflags:
- label: i686-pc-windows-gnu-msi
target: i686-pc-windows-gnu
os: windows
features: windowsappinstaller,binjuliainstaller,binjulialauncher
features: windowsappinstaller,binjuliainstaller,binjulialauncher,juliapkg
rustflags:
- label: x86_64-apple-darwin
target: x86_64-apple-darwin
os: macos
features: selfupdate,binjuliainstaller,binjulialauncher
features: selfupdate,binjuliainstaller,binjulialauncher,juliapkg
rustflags:
- label: x86_64-unknown-linux-gnu
target: x86_64-unknown-linux-gnu
os: ubuntu
features: selfupdate,binjuliainstaller,binjulialauncher
features: selfupdate,binjuliainstaller,binjulialauncher,juliapkg
rustflags:
- label: x86_64-unknown-linux-musl
target: x86_64-unknown-linux-musl
os: ubuntu
features: selfupdate,binjuliainstaller,binjulialauncher
features: selfupdate,binjuliainstaller,binjulialauncher,juliapkg
rustflags: -C target-feature=+crt-static
- label: x86_64-unknown-freebsd
target: x86_64-unknown-freebsd
os: ubuntu
features: selfupdate,binjuliainstaller,binjulialauncher
features: selfupdate,binjuliainstaller,binjulialauncher,juliapkg
rustflags:
- label: i686-pc-windows-msvc-windowsstore
target: i686-pc-windows-msvc
os: windows
features: windowsstore,binjuliainstaller,binjulialauncher
features: windowsstore,binjuliainstaller,binjulialauncher,juliapkg
rustflags:
- label: i686-pc-windows-msvc-windowsappinstaller
target: i686-pc-windows-msvc
os: windows
features: windowsappinstaller,binjuliainstaller,binjulialauncher
features: windowsappinstaller,binjuliainstaller,binjulialauncher,juliapkg
rustflags:
- label: i686-unknown-linux-gnu
target: i686-unknown-linux-gnu
os: ubuntu
features: selfupdate,binjuliainstaller,binjulialauncher
features: selfupdate,binjuliainstaller,binjulialauncher,juliapkg
rustflags:
- label: i686-unknown-linux-musl
target: i686-unknown-linux-musl
os: ubuntu
features: selfupdate,binjuliainstaller,binjulialauncher
features: selfupdate,binjuliainstaller,binjulialauncher,juliapkg
rustflags: -C target-feature=+crt-static
- label: aarch64-unknown-linux-gnu
target: aarch64-unknown-linux-gnu
os: ubuntu
features: selfupdate,binjuliainstaller,binjulialauncher
features: selfupdate,binjuliainstaller,binjulialauncher,juliapkg
rustflags:
- label: aarch64-unknown-linux-musl
target: aarch64-unknown-linux-musl
os: ubuntu
features: selfupdate,binjuliainstaller,binjulialauncher
features: selfupdate,binjuliainstaller,binjulialauncher,juliapkg
rustflags: -C target-feature=+crt-static
- label: aarch64-apple-darwin
target: aarch64-apple-darwin
os: macos
features: selfupdate,binjuliainstaller,binjulialauncher
features: selfupdate,binjuliainstaller,binjulialauncher,juliapkg
rustflags:
steps:
- uses: actions/checkout@v4
Expand Down Expand Up @@ -201,7 +201,7 @@ jobs:
target: ${{matrix.target}}
- name: Test
if: ${{ ! contains(matrix.target, 'freebsd') }}
run: cargo test --target ${{matrix.target}} --features ${{matrix.features}}
run: cargo test --target ${{matrix.target}} --features ${{matrix.features}} --lib
env:
CARGO_TARGET_x86_64-unknown-linux-musl: ${{matrix.rustflags}}
CARGO_TARGET_i686-unknown-linux-musl: ${{matrix.rustflags}}
Expand All @@ -220,4 +220,33 @@ jobs:
run: |
. "${HOME}/.cargo/env"
export RUST_BACKTRACE=full
cargo test --target ${{matrix.target}} --features ${{matrix.features}}
cargo test --target ${{matrix.target}} --features ${{matrix.features}} --lib

test-juliapkg:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
julia-channel: [release, lts]
steps:
- uses: actions/checkout@v4
- uses: actions-rust-lang/setup-rust-toolchain@v1
with:
toolchain: stable
- name: Build juliaup with juliapkg
run: cargo build --release --features dummy,binjulialauncher,juliapkg
- name: Install Julia ${{ matrix.julia-channel }} via juliaup
run: |
./target/release/juliaup add ${{ matrix.julia-channel }}
./target/release/juliaup default ${{ matrix.julia-channel }}
shell: bash
- name: Run juliapkg tests with Julia ${{ matrix.julia-channel }}
run: cargo test --release --features dummy,binjulialauncher,juliapkg --test juliapkg_tests -- --nocapture
env:
RUST_BACKTRACE: 1
- name: Run juliapkg parity tests with Julia ${{ matrix.julia-channel }} (Linux only)
if: runner.os == 'Linux'
run: cargo test --release --features dummy,binjulialauncher,juliapkg --test juliapkg_parity_test -- --nocapture
env:
RUST_BACKTRACE: 1
6 changes: 6 additions & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,7 @@ dummy = []
binjuliainstaller = []
binjulialauncher = []
winpkgidentityext = []
juliapkg = []

[package.metadata.msix]
winstoremsix = { file = "deploy/msix/PackagingLayout.xml", variables = [
Expand Down Expand Up @@ -134,3 +135,8 @@ path = "src/bin/juliaup.rs"
name = "juliainstaller"
path = "src/bin/juliainstaller.rs"
required-features = ["binjuliainstaller"]

[[bin]]
name = "juliapkg"
path = "src/bin/juliapkg.rs"
required-features = ["juliapkg"]
Loading
Loading