Skip to content

Commit

Permalink
Merge branch 'main' into feat/add-git-source-dependencies
Browse files Browse the repository at this point in the history
  • Loading branch information
nichmor committed Dec 17, 2024
2 parents f0cfaba + 2e8ca9b commit 220f9a1
Show file tree
Hide file tree
Showing 82 changed files with 2,921 additions and 1,046 deletions.
102 changes: 93 additions & 9 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -62,16 +62,28 @@ jobs:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Install dist
# we specify bash to get pipefail; it guards against the `curl` command
# failing. otherwise `sh` won't catch that `curl` returned non-0
shell: bash
run: "curl --proto '=https' --tlsv1.2 -LsSf https://github.com/axodotdev/cargo-dist/releases/download/v0.25.1/cargo-dist-installer.sh | sh"
# Turn back on when we're on the released version of dist
# - name: Install dist
# # we specify bash to get pipefail; it guards against the `curl` command
# # failing. otherwise `sh` won't catch that `curl` returned non-0
# shell: bash
# run: "curl --proto '=https' --tlsv1.2 -LsSf https://github.com/axodotdev/cargo-dist/releases/download/v0.25.1/cargo-dist-installer.sh | sh"
# Install fork of dist to allow for binaries in the root of the tarball

# Use fork of dist to allow for binaries in the root of the tarball
- name: Install cargo-dist from git
uses: baptiste0928/cargo-install@v3
with:
crate: cargo-dist
git: https://github.com/ruben-arts/cargo-dist
branch: feature/allow_binaries_in_root_of_tar

- name: Cache dist
uses: actions/upload-artifact@v4
with:
name: cargo-dist-cache
path: ~/.cargo/bin/dist
# TODO: revert after switching back to released dist
path: ~/.cargo-install/cargo-dist/bin/dist
# sure would be cool if github gave us proper conditionals...
# so here's a doubly-nested ternary-via-truthiness to try to provide the best possible
# functionality based on whether this is a pull_request, and whether it's from a fork.
Expand Down Expand Up @@ -116,15 +128,24 @@ jobs:
CODESIGN_CERTIFICATE: ${{ secrets.CODESIGN_CERTIFICATE }}
CODESIGN_CERTIFICATE_PASSWORD: ${{ secrets.CODESIGN_CERTIFICATE_PASSWORD }}
CODESIGN_IDENTITY: ${{ secrets.CODESIGN_IDENTITY }}
CODESIGN_ADDITIONAL_ARGS: ${{ vars.CODESIGN_ADDITIONAL_ARGS }}
APPLEID_TEAMID: ${{ secrets.APPLEID_TEAMID }}
APPLEID_USERNAME: ${{ secrets.APPLEID_USERNAME }}
APPLEID_PASSWORD: ${{ secrets.APPLEID_PASSWORD }}
steps:
- name: enable windows longpaths
run: |
git config --global core.longpaths true
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Install dist
run: ${{ matrix.install_dist }}
# Install fork of dist to allow for binaries in the root of the tarball
- name: Install cargo-dist from git
uses: baptiste0928/cargo-install@v3
with:
crate: cargo-dist
git: https://github.com/ruben-arts/cargo-dist
branch: feature/allow_binaries_in_root_of_tar
# Get the dist-manifest
- name: Fetch local artifacts
uses: actions/download-artifact@v4
Expand Down Expand Up @@ -251,6 +272,69 @@ jobs:
name: artifacts-dist-manifest
path: dist-manifest.json

# Unpack binaries, required for setup-pixi
- name: Unpack binaries tar
run: |
set -e pipefail # fail if any command fails
mkdir -p unpacked-artifacts
for artifact in target/distrib/pixi-*.tar.gz; do
echo artifact: $artifact
# Extract the base name without the extension
base_name=$(basename "$artifact" .tar.gz)
# Extract the artifact contents
tar -xvf "$artifact" -O pixi > unpacked-artifacts/$base_name
done
- name: Unpack binaries zip
run: |
set -e pipefail # fail if any command fails
for artifact in target/distrib/pixi-*.zip; do
echo artifact: $artifact
# Extract the base name without the extension
base_name=$(basename "$artifact" .zip)
# Extract the artifact contents
# Because zip is only used on windows we can assume the binary is an exe
unzip -p "$artifact" pixi.exe > unpacked-artifacts/$base_name.exe
done
# Upload unpacked artifacts, not sure how to do this in one go as you have to name the artifact
- name: Upload unpacked artifact for pixi-aarch64-unknown-linux-musl
uses: actions/upload-artifact@v4
with:
name: artifacts-pixi-aarch64-unknown-linux-musl
path: unpacked-artifacts/pixi-aarch64-unknown-linux-musl

- name: Upload unpacked artifact for pixi-x86_64-unknown-linux-musl
uses: actions/upload-artifact@v4
with:
name: artifacts-pixi-x86_64-unknown-linux-musl
path: unpacked-artifacts/pixi-x86_64-unknown-linux-musl

- name: Upload unpacked artifact for pixi-aarch64-apple-darwin
uses: actions/upload-artifact@v4
with:
name: artifacts-pixi-aarch64-apple-darwin
path: unpacked-artifacts/pixi-aarch64-apple-darwin

- name: Upload unpacked artifact for pixi-x86_64-apple-darwin
uses: actions/upload-artifact@v4
with:
name: artifacts-pixi-x86_64-apple-darwin
path: unpacked-artifacts/pixi-x86_64-apple-darwin

- name: Upload unpacked artifact for pixi-x86_64-pc-windows-msvc.exe
uses: actions/upload-artifact@v4
with:
name: artifacts-pixi-x86_64-pc-windows-msvc.exe
path: unpacked-artifacts/pixi-x86_64-pc-windows-msvc.exe

- name: Upload unpacked artifact for pixi-aarch64-pc-windows-msvc.exe
uses: actions/upload-artifact@v4
with:
name: artifacts-pixi-aarch64-pc-windows-msvc.exe
path: unpacked-artifacts/pixi-aarch64-pc-windows-msvc.exe

# Create a GitHub Release while uploading all files to it
announce:
needs:
Expand Down Expand Up @@ -288,4 +372,4 @@ jobs:
# Write and read notes from a file to avoid quoting breaking things
echo "$ANNOUNCEMENT_BODY" > $RUNNER_TEMP/notes.txt
gh release create "${{ needs.plan.outputs.tag }}" --target "$RELEASE_COMMIT" $PRERELEASE_FLAG --title "$ANNOUNCEMENT_TITLE" --notes-file "$RUNNER_TEMP/notes.txt" artifacts/*
gh release create "${{ needs.plan.outputs.tag }}" --target "$RELEASE_COMMIT" $PRERELEASE_FLAG --draft --title "$ANNOUNCEMENT_TITLE" --notes-file "$RUNNER_TEMP/notes.txt" artifacts/*
43 changes: 43 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,49 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

### [0.39.2] - 2024-12-11
Patch release to fix the binary generation in CI.

### [0.39.1] - 2024-12-09
#### Added

- Add proper unit testing for PyPI installation and fix re-installation issues by @tdejager in [#2617](https://github.com/prefix-dev/pixi/pull/2617)
- Add detailed json output for task list by @jjjermiah in [#2608](https://github.com/prefix-dev/pixi/pull/2608)
- Add `pixi project name` CLI by @LiamConnors in [#2649](https://github.com/prefix-dev/pixi/pull/2649)

#### Changed

- Use `fs-err` in more places by @Hofer-Julian in [#2636](https://github.com/prefix-dev/pixi/pull/2636)

#### Documentation

- Remove `tclf` from community.md📑 by @KarelZe in [#2619](https://github.com/prefix-dev/pixi/pull/2619)
- Update contributing guide by @LiamConnors in [#2650](https://github.com/prefix-dev/pixi/pull/2650)
- Update clean cache CLI doc by @LiamConnors in [#2657](https://github.com/prefix-dev/pixi/pull/2657)

#### Fixed

- Color formatting detection on stdout by @blmaier in [#2613](https://github.com/prefix-dev/pixi/pull/2613)
- Use correct dependency location for `pixi upgrade` by @Hofer-Julian in [#2472](https://github.com/prefix-dev/pixi/pull/2472)
- Regression `detached-environments` not used by @ruben-arts in [#2627](https://github.com/prefix-dev/pixi/pull/2627)
- Allow configuring pypi insecure host by @zen-xu in [#2521](https://github.com/prefix-dev/pixi/pull/2521)[#2622](https://github.com/prefix-dev/pixi/pull/2622)

#### Refactor

- Rework CI and use `cargo-dist` for releases by @baszalmstra in [#2566](https://github.com/prefix-dev/pixi/pull/2566)

#### `pixi build` Preview work
- Refactor to `[build-system.build-backend]` by @baszalmstra in [#2601](https://github.com/prefix-dev/pixi/pull/2601)
- Remove ipc override from options and give it manually to test by @wolfv in [#2629](https://github.com/prefix-dev/pixi/pull/2629)
- Pixi build trigger rebuild by @Hofer-Julian in [#2641](https://github.com/prefix-dev/pixi/pull/2641)
- Add variant config to `[workspace.build-variants]` by @wolfv in [#2634](https://github.com/prefix-dev/pixi/pull/2634)
- Add request coalescing for isolated tools by @nichmor in [#2589](https://github.com/prefix-dev/pixi/pull/2589)
- Add example using `rich` and `pixi-build-python` and remove flask by @Hofer-Julian in [#2638](https://github.com/prefix-dev/pixi/pull/2638)
- (simple) build tool override by @wolfv in [#2620](https://github.com/prefix-dev/pixi/pull/2620)
- Add caching of build tool installation by @nichmor in [#2637](https://github.com/prefix-dev/pixi/pull/2637)
#### New Contributors
* @blmaier made their first contribution in [#2613](https://github.com/prefix-dev/pixi/pull/2613)

### [0.39.0] - 2024-12-02
#### ✨ Highlights

Expand Down
4 changes: 2 additions & 2 deletions CITATION.cff
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,8 @@ authors:
- given-names: Julian
family-names: Hofer
email: [email protected]
repository-code: 'https://github.com/prefix-dev/pixi/releases/tag/v0.39.0'
url: 'https://pixi.sh/v0.39.0'
repository-code: 'https://github.com/prefix-dev/pixi/releases/tag/v0.39.2'
url: 'https://pixi.sh/v0.39.2'
abstract: >-
A cross-platform, language agnostic, package/project
management tool for development in virtual environments.
Expand Down
39 changes: 19 additions & 20 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

22 changes: 12 additions & 10 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -106,18 +106,18 @@ which = "6.0.3"

# Rattler crates
file_url = "0.2.0"
rattler = { version = "0.28.5", default-features = false }
rattler_cache = { version = "0.2.13", default-features = false }
rattler_conda_types = { version = "0.29.3", default-features = false }
rattler = { version = "0.28.6", default-features = false }
rattler_cache = { version = "0.2.14", default-features = false }
rattler_conda_types = { version = "0.29.4", default-features = false }
rattler_digest = { version = "1.0.3", default-features = false }
rattler_lock = { version = "0.22.32", default-features = false }
rattler_lock = { version = "0.22.33", default-features = false }
rattler_networking = { version = "0.21.8", default-features = false, features = [
"google-cloud-auth",
] }
rattler_repodata_gateway = { version = "0.21.25", default-features = false }
rattler_shell = { version = "0.22.8", default-features = false }
rattler_solve = { version = "1.2.4", default-features = false }
rattler_virtual_packages = { version = "1.1.11", default-features = false }
rattler_repodata_gateway = { version = "0.21.26", default-features = false }
rattler_shell = { version = "0.22.9", default-features = false }
rattler_solve = { version = "1.2.5", default-features = false }
rattler_virtual_packages = { version = "1.1.12", default-features = false }


# Bumping this to a higher version breaks the Windows path handling.
Expand Down Expand Up @@ -166,7 +166,7 @@ license.workspace = true
name = "pixi"
readme.workspace = true
repository.workspace = true
version = "0.39.0"
version = "0.39.2"

[features]
default = ["rustls-tls"]
Expand Down Expand Up @@ -388,10 +388,12 @@ dispatch-releases = true
github-release = "announce"
# Whether to auto-include files like READMEs, LICENSEs, and CHANGELOGs (default true)
auto-includes = false
# Whether to put the binaries in the root of the archive or not, this only applies to unix archives
binaries-in-root = true
# Which actions to run on pull requests
pr-run-mode = "skip"
# Skip checking whether the specified configuration files are up to date
allow-dirty = ["msi"]
allow-dirty = ["msi", "ci"]
# Whether to sign macOS executables
macos-sign = true

Expand Down
3 changes: 2 additions & 1 deletion crates/pixi_build_frontend/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ version = "0.1.0"

[dependencies]
dashmap = { workspace = true }
fs-err = { workspace = true }
fs-err = { workspace = true, features = ["tokio"] }
futures = { workspace = true }
itertools = { workspace = true }
jsonrpsee = { workspace = true, features = ["client"] }
Expand Down Expand Up @@ -42,6 +42,7 @@ tracing = { workspace = true }
url = "2.5.0"
which = { workspace = true }


pixi_build_types = { path = "../pixi_build_types" }


Expand Down
Loading

0 comments on commit 220f9a1

Please sign in to comment.