@invarn/cibuild 2.6.4 → 2.6.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/dist/cli.cjs +10 -10
  2. package/dist/src/commands/android-gms-guard.test.d.ts +9 -0
  3. package/dist/src/commands/android-gms-guard.test.d.ts.map +1 -0
  4. package/dist/src/commands/android-gms-guard.test.js +78 -0
  5. package/dist/src/commands/android-java-version.test.d.ts +12 -0
  6. package/dist/src/commands/android-java-version.test.d.ts.map +1 -0
  7. package/dist/src/commands/android-java-version.test.js +85 -0
  8. package/dist/src/commands/android-scanner.d.ts +68 -0
  9. package/dist/src/commands/android-scanner.d.ts.map +1 -1
  10. package/dist/src/commands/android-scanner.js +168 -7
  11. package/dist/src/commands/build.d.ts.map +1 -1
  12. package/dist/src/commands/build.js +5 -5
  13. package/dist/src/yaml/cache-key-missing-file.test.d.ts +12 -0
  14. package/dist/src/yaml/cache-key-missing-file.test.d.ts.map +1 -0
  15. package/dist/src/yaml/cache-key-missing-file.test.js +116 -0
  16. package/dist/src/yaml/converter.d.ts.map +1 -1
  17. package/dist/src/yaml/converter.js +32 -2
  18. package/dist/src/yaml/env-resolver.d.ts +13 -0
  19. package/dist/src/yaml/env-resolver.d.ts.map +1 -1
  20. package/dist/src/yaml/env-resolver.js +28 -8
  21. package/dist/src/yaml/preflight-validation.d.ts +12 -23
  22. package/dist/src/yaml/preflight-validation.d.ts.map +1 -1
  23. package/dist/src/yaml/preflight-validation.js +11 -142
  24. package/dist/src/yaml/steps/android.d.ts.map +1 -1
  25. package/dist/src/yaml/steps/android.js +17 -1
  26. package/dist/src/yaml/steps/git-clone.d.ts +8 -2
  27. package/dist/src/yaml/steps/git-clone.d.ts.map +1 -1
  28. package/dist/src/yaml/steps/git-clone.js +8 -2
  29. package/dist/src/yaml/steps/index.d.ts.map +1 -1
  30. package/dist/src/yaml/steps/index.js +9 -5
  31. package/dist/src/yaml/steps/steps.test.js +32 -0
  32. package/package.json +1 -1
@@ -736,6 +736,38 @@ describe('Step Implementations', () => {
736
736
  const result = await executor.execute(inputs, {}, testConfig);
737
737
  expect(result.script).toContain('11');
738
738
  });
739
+ // The generated script ends in `exit 1` when it cannot find the JDK, so a
740
+ // missing one is not information — it is the build, already lost. Reported
741
+ // as info it let the run proceed and die at the very next step.
742
+ test('missing JDK is a pre-execution error, not an info note', () => {
743
+ const executor = new SetJavaVersionStepExecutor();
744
+ const [requirement] = executor.getValidationRequirements({ java_version: '23' }, {}, testConfig);
745
+ expect(requirement.severity).toBe('error');
746
+ expect(requirement.timing).toBe('pre-execution');
747
+ });
748
+ // GitHub Actions publishes preinstalled JDKs as JAVA_HOME_<ver>_X64 and
749
+ // the step reads it; a check that did not would fail a build the step
750
+ // would have run.
751
+ test('finds a JDK GitHub Actions published, as the step does', async () => {
752
+ const executor = new SetJavaVersionStepExecutor();
753
+ // A version no developer machine has, so the Homebrew and java_home
754
+ // branches cannot answer first and the Actions branch is what is tested.
755
+ const key = 'JAVA_HOME_99_X64';
756
+ const previous = process.env[key];
757
+ process.env[key] = process.cwd();
758
+ try {
759
+ const [requirement] = executor.getValidationRequirements({ java_version: '99' }, {}, testConfig);
760
+ const result = await requirement.check();
761
+ expect(result.passed).toBe(true);
762
+ expect(result.message).toContain('GitHub Actions');
763
+ }
764
+ finally {
765
+ if (previous === undefined)
766
+ delete process.env[key];
767
+ else
768
+ process.env[key] = previous;
769
+ }
770
+ });
739
771
  });
740
772
  describe('GradleBuildStepExecutor', () => {
741
773
  test('should generate gradle build script', async () => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@invarn/cibuild",
3
- "version": "2.6.4",
3
+ "version": "2.6.6",
4
4
  "description": "CI Build CLI — local pipeline orchestration and validation",
5
5
  "type": "module",
6
6
  "main": "dist/cli.cjs",