GitHub
05/02/2023, 7:02 PMdownload-libs.sh otherwise it asks the user to confirm everytime. 🤯
• Add a developer note to download the libs, before running npm ci when running locally
• Add macOS arm64/m1 runner test via Cirrus-CI
• Requires rosetta due to using v1.x of pact-ruby-standalone
• Add amd64/x86_64 linux test via Cirrus-CI in preparation for ARM64 linux testing in further PR to be raised
• Test ARM64 Linux, fails as expected as per issue #416
Smells
Cross CI provider and cross arch has shown a few inconsistencies in content-type matching, which is clearly demonstrable here. Haven't thought of a solution just yet, but this at least highlights and allows us to test more combinations than before
const isWin = process.platform === 'win32';
const isLinux = process.platform === 'linux';
const isDarwinArm64 = process.platform === 'darwin' && process.arch === 'arm64';
const isLinuxArm64 = process.platform === 'linux' && process.arch === 'arm64';
const isCirrusCi = process.env['CIRRUS_CI'] === 'true';
const usesOctetStream =
isLinuxArm64 || isWin || isDarwinArm64 || (isCirrusCi && isLinux);
See pact-foundation/pact-reference#171 for why we have an OS switch here
Previous state
Windows: does not have magic mime matcher, uses content-type
OSX on CI: does not magic mime matcher, uses content-type
OSX: has magic mime matcher, sniffs content
Linux: has magic mime matcher, sniffs contentCurrent state
Windows: does not have magic mime matcher, uses content-type
OSX arm64: does not magic mime matcher, uses content-type
OSX x86_64: has magic mime matcher, sniffs content
OSX x86_64 - CI GitHub Actions: has magic mime matcher, sniffs content
Linux - CI Cirrus: does not have magic mime matcher, uses content-typepact-foundation/pact-js-core ✅ All checks have passed 16/16 successful checks
GitHub
05/12/2023, 1:18 PM