Skip to content
Draft
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 23 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ jobs:
matrix:
# Right now macos-13 is amd64 while macos-14 is aarch64 (M1)
os: [ubuntu-latest, macos-13, macos-14, windows-latest]
pkl_version: [0.26.0, 0.26.1, 0.26.2, 0.26.3]
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we really need/want a matrix test for each and every single pkl version? 🤔
I have the feeling that is a bit overkill..

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Haha probably not, I added it in this (still in draft!) PR to make sure the checking of version strings was working (properly interpolated, not accidentally comparing to a hard-coded value, say).

I will probably leave in the matrix but with only one array element - in case Pkl changes their download mechanism in the future, and we want to test new behaviour for downloading from both old methods and new.

runs-on: ${{ matrix.os }}

steps:
Expand All @@ -60,8 +61,28 @@ jobs:
id: test-action
uses: ./
with:
pkl-version: 0.26.0
pkl-version: ${{ matrix.pkl_version }}
github-token: ${{ secrets.GITHUB_TOKEN }}

- name: Confirm download
run: pkl --version
uses: mathiasvr/[email protected]
id: check-exec
with:
run: pkl --version

- name: Verify stdout
uses: actions/github-script@v7
env:
RESULT: ${{ steps.check-exec.outputs.stdout }}
PKL_VERSION: ${{ matrix.pkl_version }}
with:
script: |
const output = process.env.RESULT;
const pklVersion = process.env.PKL_VERSION;
const expectedStart = `Pkl ${pklVersion}`
console.log(`Output from executing pkl was: ${output}`)
if (output.startsWith(expectedStart)) {
console.log('Output starts with expected string:', expectedStart);
} else {
throw new Error('Output does not start with expected string:', expectedStart);
}