Sync uv.lock
#3070
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| --- | |
| name: π Build & release | |
| "on": | |
| push: | |
| branches: | |
| - main | |
| jobs: | |
| release: | |
| uses: kdeldycke/repomatic/.github/workflows/release.yaml@c6defb901773fe1f8f2f5d04d22facfb8f795c4d # v6.19.0 | |
| secrets: | |
| REPOMATIC_PAT: ${{ secrets.REPOMATIC_PAT }} | |
| VIRUSTOTAL_API_KEY: ${{ secrets.VIRUSTOTAL_API_KEY }} | |
| publish-pypi: | |
| name: π Publish to PyPI (${{ matrix.short_sha }}) | |
| needs: release | |
| if: needs.release.outputs.release_commits_matrix | |
| strategy: | |
| matrix: ${{ fromJSON(needs.release.outputs.release_commits_matrix) }} | |
| runs-on: ubuntu-latest | |
| permissions: | |
| id-token: write | |
| steps: | |
| - uses: kdeldycke/repomatic/.github/actions/publish-pypi@c6defb901773fe1f8f2f5d04d22facfb8f795c4d # v6.19.0 | |
| with: | |
| artifact-name: ${{ github.event.repository.name }}-${{ matrix.short_sha }} | |
| # Prepare a Guix package definition after the release job. Unlike Homebrew, Scoop, | |
| # NixOS, and AUR, the Guix definition is maintained in this repo (see packaging/guix/). | |
| # Guix packages live on Codeberg and require reviewed PRs, so this job only updates the | |
| # local definition and opens a PR. | |
| guix: | |
| name: π Guix | |
| needs: release | |
| runs-on: ubuntu-24.04 | |
| permissions: | |
| contents: write | |
| pull-requests: write | |
| steps: | |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| - name: Check for new release | |
| id: check | |
| run: | | |
| latest=$( | |
| curl --silent --fail \ | |
| https://api.github.com/repos/kdeldycke/meta-package-manager/releases/latest \ | |
| | python3 -c "import json, sys; print(json.load(sys.stdin)['tag_name'].lstrip('v'))" | |
| ) | |
| current=$( | |
| grep --only-matching --perl-regexp '\(version "\K[^"]+' \ | |
| packaging/guix/meta-package-manager.scm | |
| ) | |
| if [ "${latest}" = "${current}" ]; then | |
| echo "Latest release ${latest} already matches definition. Skipping." | |
| echo "skip=true" >> "${GITHUB_OUTPUT}" | |
| else | |
| echo "New release found: ${latest} (definition has ${current})." | |
| echo "skip=false" >> "${GITHUB_OUTPUT}" | |
| echo "version=${latest}" >> "${GITHUB_OUTPUT}" | |
| fi | |
| - name: Update package definition to latest release | |
| if: steps.check.outputs.skip != 'true' | |
| run: python3 packaging/guix/update.py | |
| - uses: astral-sh/setup-uv@37802adc94f370d6bfd71619e3f0bf239e1f3b78 # v7.6.0 | |
| if: steps.check.outputs.skip != 'true' | |
| - name: Render PR body | |
| if: steps.check.outputs.skip != 'true' | |
| env: | |
| VERSION: ${{ steps.check.outputs.version }} | |
| run: > | |
| uvx --no-progress 'repomatic==6.17.0' pr-body | |
| --template-file .github/pr-templates/update-package-spec.md | |
| --template-arg channel=Guix | |
| --template-arg version="${VERSION}" | |
| --template-arg spec_path=packaging/guix/ | |
| --output body.md | |
| - name: Open PR with updated packaging files | |
| if: steps.check.outputs.skip != 'true' | |
| env: | |
| VERSION: ${{ steps.check.outputs.version }} | |
| GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| run: | | |
| branch="guix/release" | |
| git config user.name "github-actions[bot]" | |
| git config user.email "41898282+github-actions[bot]@users.noreply.github.com" | |
| git checkout -B "${branch}" | |
| git add --update packaging/guix/ | |
| git commit --message "Update Guix package definition to v${VERSION}" | |
| git push --force --set-upstream origin "${branch}" | |
| existing=$(gh pr list --head "${branch}" --state open --json number --jq '.[0].number') | |
| if [ -n "${existing}" ]; then | |
| gh pr edit "${existing}" \ | |
| --title "Update Guix package definition to v${VERSION}" \ | |
| --body-file body.md \ | |
| --add-label "π¦ manager: guix" | |
| else | |
| gh pr create \ | |
| --title "Update Guix package definition to v${VERSION}" \ | |
| --body-file body.md \ | |
| --label "π¦ manager: guix" | |
| fi | |
| # Prepare a Nix package definition after the release job. Unlike Homebrew, Scoop, | |
| # and AUR, the Nix definition is maintained in this repo (see packaging/nix/) while | |
| # NixOS/nixpkgs#506145 is pending review. This job only updates the local definition | |
| # and opens a PR. | |
| nix: | |
| name: βοΈ Nix | |
| needs: release | |
| runs-on: ubuntu-24.04 | |
| permissions: | |
| contents: write | |
| pull-requests: write | |
| steps: | |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| - uses: cachix/install-nix-action@v31 | |
| - name: Check for new release | |
| id: check | |
| run: | | |
| latest=$( | |
| curl --silent --fail \ | |
| https://api.github.com/repos/kdeldycke/meta-package-manager/releases/latest \ | |
| | python3 -c "import json, sys; print(json.load(sys.stdin)['tag_name'].lstrip('v'))" | |
| ) | |
| current=$( | |
| grep --only-matching --perl-regexp 'version = "\K[^"]+' \ | |
| packaging/nix/package.nix \ | |
| | head --lines=1 | |
| ) | |
| if [ "${latest}" = "${current}" ]; then | |
| echo "Latest release ${latest} already matches definition. Skipping." | |
| echo "skip=true" >> "${GITHUB_OUTPUT}" | |
| else | |
| echo "New release found: ${latest} (definition has ${current})." | |
| echo "skip=false" >> "${GITHUB_OUTPUT}" | |
| echo "version=${latest}" >> "${GITHUB_OUTPUT}" | |
| fi | |
| - name: Update package definition to latest release | |
| if: steps.check.outputs.skip != 'true' | |
| run: python3 packaging/nix/update.py | |
| - uses: astral-sh/setup-uv@37802adc94f370d6bfd71619e3f0bf239e1f3b78 # v7.6.0 | |
| if: steps.check.outputs.skip != 'true' | |
| - name: Render PR body | |
| if: steps.check.outputs.skip != 'true' | |
| env: | |
| VERSION: ${{ steps.check.outputs.version }} | |
| run: > | |
| uvx --no-progress 'repomatic==6.17.0' pr-body | |
| --template-file .github/pr-templates/update-package-spec.md | |
| --template-arg channel=Nix | |
| --template-arg version="${VERSION}" | |
| --template-arg spec_path=packaging/nix/ | |
| --output body.md | |
| - name: Open PR with updated packaging files | |
| if: steps.check.outputs.skip != 'true' | |
| env: | |
| VERSION: ${{ steps.check.outputs.version }} | |
| GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| run: | | |
| branch="nix/release" | |
| git config user.name "github-actions[bot]" | |
| git config user.email "41898282+github-actions[bot]@users.noreply.github.com" | |
| git checkout -B "${branch}" | |
| git add --update packaging/nix/ | |
| git commit --message "Update Nix package definition to v${VERSION}" | |
| git push --force --set-upstream origin "${branch}" | |
| existing=$(gh pr list --head "${branch}" --state open --json number --jq '.[0].number') | |
| if [ -n "${existing}" ]; then | |
| gh pr edit "${existing}" \ | |
| --title "Update Nix package definition to v${VERSION}" \ | |
| --body-file body.md \ | |
| --add-label "π¦ manager: nix" | |
| else | |
| gh pr create \ | |
| --title "Update Nix package definition to v${VERSION}" \ | |
| --body-file body.md \ | |
| --label "π¦ manager: nix" | |
| fi |