Skip to content

Update pkl to 0.31.0 #97

Update pkl to 0.31.0

Update pkl to 0.31.0 #97

Workflow file for this run

# Generated from Workflow.pkl. DO NOT EDIT.
name: Pull Request
'on':
pull_request: {}
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
permissions:
contents: read
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
with:
persist-credentials: false
- uses: bazel-contrib/setup-bazel@083175551ceeceebc757ebee2127fde78840ca77
with:
bazelisk-cache: true
disk-cache: ${{ matrix.os }}-cache
repository-cache: true
- name: Buildifier lint
run: bazel run --config=ci buildifier
- name: Check gazelle
run: |-
bazel run --config=ci //:gazelle
git diff --exit-code
- name: Bazel version consistency
env:
WORKING_DIRECTORY: ${{ github.workspace }}
run: bazel run --config=ci //tests/version:version_test -- --verbose
- name: Update integration test repos .bazelrc (debug information and caching)
run: |-
# Assign a separate output base to the integration tests: it needs to be explicitly set, and set as a
# different from the root workspace output base (which is set in the home bazelrc) to avoid a deadlock.
# It also needs to be the same directory for all the integration tests, otherwise we run out of space on
# the default GHA runners.
# We use the `bazel_integration` configuration so it takes precedence over the generic home rc declaration.
find tests/integration_tests/example_workspaces -name '.bazelrc' | while read -r f; do
printf '\nstartup --output_base=/home/runner/.bazel-integration\n' >> "$f"
printf 'common --announce_rc --curses=no --color=yes --show_timestamps --test_output=streamed\n' >> "$f"
done
# Extract the `startup --output_base=...` line from the home .bazelrc to an explicit .bazelrc, otherwise its
# precedence is too high and integration tests pick up the value.
#
output_base_line=$(grep '^startup --output_base' /home/runner/.bazelrc | tail -1)
sed -i '/^startup --output_base/d' /home/runner/.bazelrc
printf '%s\n' "$output_base_line" > /home/runner/.bazelrc.cmdline
- name: Bazel test
run: bazel --bazelrc=/home/runner/.bazelrc.cmdline test --config=ci -- //...
- name: Upload Test Result XML
if: '!cancelled()'
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
with:
name: test-results-xml-test
path: bazel-testlogs/**/*.xml
if-no-files-found: ignore
check-hawkeye:
name: hawkeye-check
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
with:
ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || '' }}
persist-credentials: false
fetch-depth: 0
- run: git config --global --add safe.directory $(pwd)
- run: hawkeye check --config licenserc.toml --fail-if-unknown
container:
image: ghcr.io/korandoru/hawkeye@sha256:e0abf8dbfaeeeba1249679d662d9fb404b1dcdb041c6093ea1f7a6edb7d89319
upload-event-file:
runs-on: ubuntu-latest
steps:
- name: Upload event file
if: '!cancelled()'
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
with:
name: test-results-event-file
path: ${{ github.event_path }}
check-pkl-github-actions:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
with:
persist-credentials: false
- name: Setup Pkl
id: setup-pkl
env:
PKL_VERSION: 0.30.0
PKL_FILENAME: pkl
PKL_DOWNLOAD_URL: https://github.com/apple/pkl/releases/download/0.30.0/pkl-linux-amd64
shell: bash
run: |-
DIR="$(mktemp -d /tmp/pkl-$PKL_VERSION-XXXXXX)"
PKL_EXEC="$DIR/$PKL_FILENAME"
curl -sfL -o $PKL_EXEC "$PKL_DOWNLOAD_URL"
chmod +x $PKL_EXEC
echo "$DIR" >> "$GITHUB_PATH"
echo "pkl_exec=$PKL_EXEC" >> "$GITHUB_OUTPUT"
- shell: bash
run: rm -rf .github/**/[a-z]*.yml
- shell: bash
run: pkl eval -m .github/ --project-dir .github/ .github/index.pkl
- name: check git status
shell: bash
run: |-
if [ -n "$(git status --porcelain)" ]; then
echo "Running pkl resulted in a diff! You likely need to run 'pkl eval' and commit the changes."
git diff --name-only
exit 1
fi