diff --git a/.github/workflows/update_pixi_lockfile.yml b/.github/workflows/update_pixi_lockfile.yml new file mode 100644 index 0000000000000000000000000000000000000000..f0b5f10f19cb7469edf5e75b4bb43ff199468f7c --- /dev/null +++ b/.github/workflows/update_pixi_lockfile.yml @@ -0,0 +1,52 @@ +name: CI - Update Pixi lockfile +permissions: + contents: write + pull-requests: write + +on: + workflow_dispatch: + schedule: + - cron: 0 5 1 * * + +jobs: + pixi-update: + runs-on: ubuntu-latest + + steps: + - uses: actions/create-github-app-token@v1 + id: generate-token + with: + app-id: ${{ secrets.APP_ID }} + private-key: ${{ secrets.APP_PRIVATE_KEY }} + + - uses: actions/checkout@v4 + with: + token: ${{ steps.generate-token.outputs.token }} + ref: devel + # Make sure the value of GITHUB_TOKEN will not be persisted in repo's config + persist-credentials: false + + - name: Set up pixi + uses: prefix-dev/setup-pixi@v0.8.1 + with: + run-install: false + + - name: Update lockfile + run: | + set -o pipefail + pixi update --json | pixi exec pixi-diff-to-markdown >> diff.md + + - name: Create pull request + uses: peter-evans/create-pull-request@v7 + with: + token: ${{ steps.generate-token.outputs.token }} + commit-message: 'pixi: Update pixi lockfile' + title: Update pixi lockfile + body-path: diff.md + branch: topic/update-pixi + base: devel + labels: | + pixi + no changelog + delete-branch: true + add-paths: pixi.lock