Reference latest Pixi version in README (#160) #595
This file contains 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 | |
on: | |
push: | |
branches: [main] | |
pull_request: | |
branches: [main] | |
merge_group: | |
schedule: | |
- cron: 0 6 * * MON | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
- name: Install pnpm | |
uses: pnpm/action-setup@fe02b34f77f8bc703788d5817da081398fad5dd2 # v4.4.0 | |
with: | |
version: 9 | |
- name: Install Node.js | |
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0 | |
with: | |
node-version: 20 | |
cache: pnpm | |
- name: Install dependencies | |
run: pnpm install --frozen-lockfile | |
- name: Rebuild the dist/ directory | |
run: pnpm build | |
- name: Lint | |
run: pnpm lint | |
reference-latest-version-in-readme: | |
name: Reference latest version in README | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
- name: Assert latest setup-pixi version is mentioned in README | |
run: | | |
set -euo pipefail | |
latest_version="$(jq -r '.version' package.json)" | |
count_expected=15 | |
count_actual="$(grep -c "setup-pixi@v$latest_version" README.md || true)" | |
if [ "$count_actual" -ne "$count_expected" ]; then | |
echo "::error file=README.md::Expected $count_expected mentions of \`setup-pixi@v$latest_version\` in README.md, but found $count_actual." | |
exit 1 | |
fi | |
reference-latest-pixi-version-in-readme: | |
name: Reference latest Pixi version in README | |
runs-on: ubuntu-latest | |
permissions: | |
contents: write | |
pull-requests: write | |
steps: | |
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
- name: Assert latest pixi version is mentioned in README | |
run: | | |
set -euo pipefail | |
latest_version="$(gh repo view --json latestRelease prefix-dev/pixi | jq -r '.latestRelease.tagName')" | |
count_expected=1 | |
count_actual="$(grep -c "pixi-version: $latest_version" README.md || true)" | |
if [ "$count_actual" -ne "$count_expected" ]; then | |
echo "::error file=README.md::Expected $count_expected mentions of \`pixi-version: $latest_version\` in README.md, but found $count_actual." | |
sed -i "s/pixi-version: .*/pixi-version: $latest_version/" README.md | |
exit 1 | |
fi | |
env: | |
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Create pull request | |
uses: peter-evans/create-pull-request@5e914681df9dc83aa4e4905692ca88beb2f9e91f # v7.0.5 | |
if: failure() && github.ref_name == 'main' | |
with: | |
token: ${{ secrets.GITHUB_TOKEN }} | |
commit-message: Reference latest Pixi version in README | |
title: Reference latest Pixi version in README | |
labels: documentation | |
check-dist: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
- name: Install pnpm | |
uses: pnpm/action-setup@fe02b34f77f8bc703788d5817da081398fad5dd2 # v4.4.0 | |
with: | |
version: 9 | |
- name: Install Node.js | |
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0 | |
with: | |
node-version: 20 | |
cache: pnpm | |
- name: Install dependencies | |
run: pnpm install --frozen-lockfile | |
- name: Rebuild the dist/ directory | |
run: pnpm build | |
- name: Compare the expected and actual dist/ directories | |
run: | | |
if [ "$(git diff --ignore-space-at-eol dist/* | wc -l)" -gt "0" ]; then | |
echo "Detected uncommitted changes after build. See status below:" | |
git diff | |
exit 1 | |
fi | |
id: diff | |
# If index.js or post.js are different than expected, upload the expected version as an artifact | |
- uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3 | |
if: ${{ failure() && steps.diff.conclusion == 'failure' }} | |
with: | |
name: dist | |
path: dist/ |