Skip to content

Commit

Permalink
Merge branch 'main' into fix/cursor_handler
Browse files Browse the repository at this point in the history
  • Loading branch information
ruben-arts authored Dec 16, 2024
2 parents 2434827 + 2e8ca9b commit 1c224ca
Show file tree
Hide file tree
Showing 173 changed files with 8,048 additions and 4,905 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: julian.hofer@protonmail.com
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
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ By contributing to Pixi, you agree that your contributions will be licensed unde

## Pixi is a pixi project so use a preinstalled `pixi` to run the predefined tasks
```shell
pixi run build
pixi run build-debug # or `pixi run build-release` to build with optimizations
pixi run lint
pixi run test-all-fast
pixi run install # only works on unix systems as on windows you can't overwrite the binary while it's running
Expand Down
Loading

0 comments on commit 1c224ca

Please sign in to comment.