chore: migrate to pnpm 11 #32
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
| # GENERATED with jsonnet - DO NOT EDIT MANUALLY | |
| "jobs": | |
| "verify-jsonnet-gh-actions": | |
| "container": | |
| "credentials": | |
| "password": "${{ secrets.docker_gcr_io }}" | |
| "username": "_json_key" | |
| "image": "europe-docker.pkg.dev/unicorn-985/private-images/docker-images_jsonnet:v2" | |
| "runs-on": "ubuntu-latest" | |
| "steps": | |
| - "continue-on-error": true | |
| "env": | |
| "GIT_HTTPS_ARCHIVE_MIRROR": "${{ secrets.GIT_HTTPS_ARCHIVE_MIRROR }}" | |
| "if": "${{ env.GIT_HTTPS_ARCHIVE_MIRROR != '' }}" | |
| "name": "fetch git-mirror archive" | |
| "run": | | |
| seed() { | |
| if ! command -v zstd >/dev/null 2>&1; then | |
| if command -v apk >/dev/null 2>&1; then apk add --no-cache zstd tar wget || return 1; | |
| elif command -v apt >/dev/null 2>&1; then apt update && apt install -y zstd tar wget || return 1; | |
| else return 1; fi | |
| fi | |
| wget -q -O - "$GIT_HTTPS_ARCHIVE_MIRROR" | tar -C "$GITHUB_WORKSPACE" --extract --zstd -f - || return 1 | |
| } | |
| if ! seed; then | |
| echo "git-mirror seed failed; continuing with a clean checkout" | |
| find "$GITHUB_WORKSPACE" -mindepth 1 -delete 2>/dev/null || true | |
| exit 1 | |
| fi | |
| echo "git-mirror seed succeeded" | |
| exit 0 | |
| "shell": "bash" | |
| - "id": "check-binaries" | |
| "name": "check for ssh/git binaries" | |
| "run": | | |
| if command -v git; | |
| then | |
| echo "gitBinaryExists=true" >> $GITHUB_OUTPUT; | |
| echo "Git binary exists"; | |
| else | |
| echo "Attempt to install git binary"; | |
| if command -v apk; then | |
| echo "apk exists"; | |
| apk add git && echo "gitBinaryExists=true" >> $GITHUB_OUTPUT; | |
| elif command -v apt; then | |
| echo "apt exists"; | |
| apt update && apt install -y git && echo "gitBinaryExists=true" >> $GITHUB_OUTPUT; | |
| else | |
| echo "No package manager found, unable to install git cli binary"; | |
| echo "gitBinaryExists=false" >> $GITHUB_OUTPUT; | |
| fi; | |
| fi; | |
| if command -v ssh; | |
| then | |
| echo "sshBinaryExists=true" >> $GITHUB_OUTPUT; | |
| echo "SSH binary exists"; | |
| exit 0; | |
| else | |
| echo "Attempt to install ssh binary"; | |
| if command -v apk; then | |
| echo "apk exists"; | |
| apk add openssh-client && echo "sshBinaryExists=true" >> $GITHUB_OUTPUT && exit 0; | |
| elif command -v apt; then | |
| echo "apt exists"; | |
| apt update && apt install -y openssh-client && echo "sshBinaryExists=true" >> $GITHUB_OUTPUT && exit 0; | |
| else | |
| echo "No package manager found, unable to install ssh cli binary"; | |
| echo "sshBinaryExists=false" >> $GITHUB_OUTPUT; | |
| fi; | |
| fi; | |
| echo "sshBinaryExists=false" >> $GITHUB_OUTPUT; | |
| - "id": "checkout-ssh-0" | |
| "if": "${{ ( steps.check-binaries.outputs.sshBinaryExists == 'true' && steps.check-binaries.outputs.gitBinaryExists == 'true' ) }}" | |
| "name": "Check out repository code via ssh" | |
| "timeout-minutes": 10 | |
| "uses": "actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0" | |
| "with": | |
| "ref": "${{ github.event.pull_request.head.sha }}" | |
| "ssh-key": "${{ secrets.VIRKO_GITHUB_SSH_KEY }}" | |
| "submodules": "recursive" | |
| - "id": "checkout-https-0" | |
| "if": "${{ ( steps.check-binaries.outputs.sshBinaryExists == 'false' || steps.check-binaries.outputs.gitBinaryExists == 'false' ) }}" | |
| "name": "Check out repository code via https" | |
| "timeout-minutes": 10 | |
| "uses": "actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0" | |
| "with": | |
| "ref": "${{ github.event.pull_request.head.sha }}" | |
| "submodules": "recursive" | |
| - "name": "git safe directory" | |
| "run": "command -v git && git config --global --add safe.directory '*' || true" | |
| - "name": "remove-workflows" | |
| "run": "rm -f .github/workflows/*" | |
| - "name": "generate-workflows" | |
| "run": "jsonnet -m .github/workflows/ -S .github.jsonnet;" | |
| - "name": "git workaround" | |
| "run": "git config --global --add safe.directory $PWD" | |
| - "name": "check-jsonnet-diff" | |
| "run": | | |
| echo "If this step fails, look at the end of the logs for possible causes"; | |
| git diff --exit-code && exit 0; | |
| echo "Error: mismatch between jsonnet <-> github workflows"; | |
| echo "Possible reasons:"; | |
| echo " - You updated jsonnet files, but did not regenerate the workflows."; | |
| echo " To regenerate jsonnet run: 'rm .github/workflows/*; jsonnet -m .github/workflows/ -S .github.jsonnet'"; | |
| echo " - You used the wrong jsonnet binary (version). In this case, the newlines at the end of the files differ."; | |
| echo " - You must use go-jsonnet version 0.22 or higher. Earlier versions do not generate the yml with trailing newline." | |
| echo " To fix, install the go binary (^0.22). On mac, run 'brew uninstall jsonnet && brew install go-jsonnet'"; | |
| exit 1; | |
| "timeout-minutes": 30 | |
| "name": "misc" | |
| "on": | |
| - "pull_request" |