mirror of
https://github.com/game-ci/unity-builder.git
synced 2026-02-03 23:49:08 +08:00
Compare commits
11 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
579daa93a6 | ||
|
|
1adfabf512 | ||
|
|
cdee7d1d9a | ||
|
|
fb633660a4 | ||
|
|
c15f955669 | ||
|
|
2684be2dee | ||
|
|
db2d8b6dbd | ||
|
|
c068855899 | ||
|
|
5b8bf1c8b7 | ||
|
|
47b25cf3b1 | ||
|
|
36891ec921 |
4
.github/FUNDING.yml
vendored
4
.github/FUNDING.yml
vendored
@@ -1,8 +1,8 @@
|
|||||||
# These are supported funding model platforms
|
# These are supported funding model platforms
|
||||||
|
|
||||||
github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
|
github: game-ci
|
||||||
patreon: # Replace with a single Patreon username
|
patreon: # Replace with a single Patreon username
|
||||||
open_collective: game-ci
|
open_collective: # replace with a single OpenCollective username
|
||||||
ko_fi: # Replace with a single Ko-fi username
|
ko_fi: # Replace with a single Ko-fi username
|
||||||
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
|
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
|
||||||
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
|
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
|
||||||
|
|||||||
2
.github/workflows/cats.yml
vendored
2
.github/workflows/cats.yml
vendored
@@ -11,6 +11,6 @@ jobs:
|
|||||||
name: A cat for your effort!
|
name: A cat for your effort!
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: ruairidhwm/action-cats@1.0.1
|
- uses: ruairidhwm/action-cats@1.0.2
|
||||||
with:
|
with:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|||||||
@@ -2,5 +2,6 @@
|
|||||||
"semi": true,
|
"semi": true,
|
||||||
"singleQuote": true,
|
"singleQuote": true,
|
||||||
"trailingComma": "all",
|
"trailingComma": "all",
|
||||||
"printWidth": 120
|
"printWidth": 120,
|
||||||
|
"proseWrap": "always"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,13 +4,12 @@
|
|||||||
|
|
||||||
#### Code of Conduct
|
#### Code of Conduct
|
||||||
|
|
||||||
This repository has adopted the Contributor Covenant as it's
|
This repository has adopted the Contributor Covenant as it's Code of Conduct. It is expected that participants adhere to
|
||||||
Code of Conduct. It is expected that participants adhere to it.
|
it.
|
||||||
|
|
||||||
#### Proposing a Change
|
#### Proposing a Change
|
||||||
|
|
||||||
If you are unsure about whether or not a change is desired,
|
If you are unsure about whether or not a change is desired, you can create an issue. This is useful because it creates
|
||||||
you can create an issue. This is useful because it creates
|
|
||||||
the possibility for a discussion that's visible to everyone.
|
the possibility for a discussion that's visible to everyone.
|
||||||
|
|
||||||
When fixing a bug it is fine to submit a pull request right away.
|
When fixing a bug it is fine to submit a pull request right away.
|
||||||
@@ -34,6 +33,11 @@ Please note that commit hooks will run automatically to perform some tasks;
|
|||||||
- run tests
|
- run tests
|
||||||
- build distributable files
|
- build distributable files
|
||||||
|
|
||||||
|
#### Windows users
|
||||||
|
|
||||||
|
Make sure your editor and terminal that run the tests are set to `Powershell 7` or above with
|
||||||
|
`Git's Unix tools for Windows` installed. Some tests require you to be able to run `sh` and other unix commands.
|
||||||
|
|
||||||
#### License
|
#### License
|
||||||
|
|
||||||
By contributing to this repository, you agree that your contributions will be licensed under its MIT license.
|
By contributing to this repository, you agree that your contributions will be licensed under its MIT license.
|
||||||
|
|||||||
@@ -10,7 +10,10 @@ namespace UnityBuilderAction.Input
|
|||||||
{
|
{
|
||||||
EditorUserBuildSettings.buildAppBundle = options["customBuildPath"].EndsWith(".aab");
|
EditorUserBuildSettings.buildAppBundle = options["customBuildPath"].EndsWith(".aab");
|
||||||
if (options.TryGetValue("androidKeystoreName", out string keystoreName) && !string.IsNullOrEmpty(keystoreName))
|
if (options.TryGetValue("androidKeystoreName", out string keystoreName) && !string.IsNullOrEmpty(keystoreName))
|
||||||
|
{
|
||||||
|
PlayerSettings.Android.useCustomKeystore = true;
|
||||||
PlayerSettings.Android.keystoreName = keystoreName;
|
PlayerSettings.Android.keystoreName = keystoreName;
|
||||||
|
}
|
||||||
if (options.TryGetValue("androidKeystorePass", out string keystorePass) && !string.IsNullOrEmpty(keystorePass))
|
if (options.TryGetValue("androidKeystorePass", out string keystorePass) && !string.IsNullOrEmpty(keystorePass))
|
||||||
PlayerSettings.Android.keystorePass = keystorePass;
|
PlayerSettings.Android.keystorePass = keystorePass;
|
||||||
if (options.TryGetValue("androidKeyaliasName", out string keyaliasName) && !string.IsNullOrEmpty(keyaliasName))
|
if (options.TryGetValue("androidKeyaliasName", out string keyaliasName) && !string.IsNullOrEmpty(keyaliasName))
|
||||||
@@ -18,7 +21,19 @@ namespace UnityBuilderAction.Input
|
|||||||
if (options.TryGetValue("androidKeyaliasPass", out string keyaliasPass) && !string.IsNullOrEmpty(keyaliasPass))
|
if (options.TryGetValue("androidKeyaliasPass", out string keyaliasPass) && !string.IsNullOrEmpty(keyaliasPass))
|
||||||
PlayerSettings.Android.keyaliasPass = keyaliasPass;
|
PlayerSettings.Android.keyaliasPass = keyaliasPass;
|
||||||
if (options.TryGetValue("androidTargetSdkVersion", out string androidTargetSdkVersion) && !string.IsNullOrEmpty(androidTargetSdkVersion))
|
if (options.TryGetValue("androidTargetSdkVersion", out string androidTargetSdkVersion) && !string.IsNullOrEmpty(androidTargetSdkVersion))
|
||||||
PlayerSettings.Android.targetSdkVersion = (AndroidSdkVersions) Enum.Parse(typeof(AndroidSdkVersions), androidTargetSdkVersion);
|
{
|
||||||
|
var targetSdkVersion = AndroidSdkVersions.AndroidApiLevelAuto;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
targetSdkVersion =
|
||||||
|
(AndroidSdkVersions) Enum.Parse(typeof(AndroidSdkVersions), androidTargetSdkVersion);
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
UnityEngine.Debug.Log("Failed to parse androidTargetSdkVersion! Fallback to AndroidApiLevelAuto");
|
||||||
|
}
|
||||||
|
PlayerSettings.Android.targetSdkVersion = targetSdkVersion;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
16
dist/index.js
generated
vendored
16
dist/index.js
generated
vendored
@@ -4603,6 +4603,7 @@ class ImageEnvironmentFactory {
|
|||||||
{ name: 'ANDROID_KEYSTORE_PASS', value: parameters.androidKeystorePass },
|
{ name: 'ANDROID_KEYSTORE_PASS', value: parameters.androidKeystorePass },
|
||||||
{ name: 'ANDROID_KEYALIAS_NAME', value: parameters.androidKeyaliasName },
|
{ name: 'ANDROID_KEYALIAS_NAME', value: parameters.androidKeyaliasName },
|
||||||
{ name: 'ANDROID_KEYALIAS_PASS', value: parameters.androidKeyaliasPass },
|
{ name: 'ANDROID_KEYALIAS_PASS', value: parameters.androidKeyaliasPass },
|
||||||
|
{ name: 'ANDROID_TARGET_SDK_VERSION', value: parameters.androidTargetSdkVersion },
|
||||||
{ name: 'ANDROID_SDK_MANAGER_PARAMETERS', value: parameters.androidSdkManagerParameters },
|
{ name: 'ANDROID_SDK_MANAGER_PARAMETERS', value: parameters.androidSdkManagerParameters },
|
||||||
{ name: 'CUSTOM_PARAMETERS', value: parameters.customParameters },
|
{ name: 'CUSTOM_PARAMETERS', value: parameters.customParameters },
|
||||||
{ name: 'CHOWN_FILES_TO', value: parameters.chownFilesTo },
|
{ name: 'CHOWN_FILES_TO', value: parameters.chownFilesTo },
|
||||||
@@ -5920,6 +5921,9 @@ class Versioning {
|
|||||||
static get strategies() {
|
static get strategies() {
|
||||||
return { None: 'None', Semantic: 'Semantic', Tag: 'Tag', Custom: 'Custom' };
|
return { None: 'None', Semantic: 'Semantic', Tag: 'Tag', Custom: 'Custom' };
|
||||||
}
|
}
|
||||||
|
static get grepCompatibleInputVersionRegex() {
|
||||||
|
return '^v?([0-9]+\\.)*[0-9]+.*';
|
||||||
|
}
|
||||||
/**
|
/**
|
||||||
* Get the branch name of the (related) branch
|
* Get the branch name of the (related) branch
|
||||||
*/
|
*/
|
||||||
@@ -6157,17 +6161,19 @@ class Versioning {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* Whether or not the repository has any version tags yet.
|
* Whether the current tree has any version tags yet.
|
||||||
|
*
|
||||||
|
* Note: Currently this is run in all OSes, so the syntax must be cross-platform.
|
||||||
*/
|
*/
|
||||||
static hasAnyVersionTags() {
|
static hasAnyVersionTags() {
|
||||||
return __awaiter(this, void 0, void 0, function* () {
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
const numberOfCommitsAsString = yield system_1.default.run('sh', undefined, {
|
const numberOfTagsAsString = yield system_1.default.run('sh', undefined, {
|
||||||
input: Buffer.from('git tag --list --merged HEAD | grep v[0-9]* | wc -l'),
|
input: Buffer.from(`git tag --list --merged HEAD | grep -E '${this.grepCompatibleInputVersionRegex}' | wc -l`),
|
||||||
cwd: this.projectPath,
|
cwd: this.projectPath,
|
||||||
silent: false,
|
silent: false,
|
||||||
});
|
});
|
||||||
const numberOfCommits = Number.parseInt(numberOfCommitsAsString, 10);
|
const numberOfTags = Number.parseInt(numberOfTagsAsString, 10);
|
||||||
return numberOfCommits !== 0;
|
return numberOfTags !== 0;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
|
|||||||
2
dist/index.js.map
generated
vendored
2
dist/index.js.map
generated
vendored
File diff suppressed because one or more lines are too long
6
dist/platforms/windows/build.ps1
vendored
6
dist/platforms/windows/build.ps1
vendored
@@ -116,6 +116,12 @@ Write-Output ""
|
|||||||
-customBuildTarget $Env:BUILD_TARGET `
|
-customBuildTarget $Env:BUILD_TARGET `
|
||||||
-customBuildPath $Env:CUSTOM_BUILD_PATH `
|
-customBuildPath $Env:CUSTOM_BUILD_PATH `
|
||||||
-buildVersion $Env:VERSION `
|
-buildVersion $Env:VERSION `
|
||||||
|
-androidVersionCode $Env:ANDROID_VERSION_CODE `
|
||||||
|
-androidKeystoreName $Env:ANDROID_KEYSTORE_NAME `
|
||||||
|
-androidKeystorePass $Env:ANDROID_KEYSTORE_PASS `
|
||||||
|
-androidKeyaliasName $Env:ANDROID_KEYALIAS_NAME `
|
||||||
|
-androidKeyaliasPass $Env:ANDROID_KEYALIAS_PASS `
|
||||||
|
-androidTargetSdkVersion $Env:ANDROID_TARGET_SDK_VERSION `
|
||||||
$Env:CUSTOM_PARAMETERS `
|
$Env:CUSTOM_PARAMETERS `
|
||||||
-logfile | Out-Host
|
-logfile | Out-Host
|
||||||
|
|
||||||
|
|||||||
@@ -6,13 +6,6 @@
|
|||||||
color: true
|
color: true
|
||||||
extends: {}
|
extends: {}
|
||||||
|
|
||||||
pre-push:
|
|
||||||
parallel: true
|
|
||||||
commands:
|
|
||||||
packages-audit:
|
|
||||||
tags: security
|
|
||||||
run: yarn audit
|
|
||||||
|
|
||||||
pre-commit:
|
pre-commit:
|
||||||
parallel: true
|
parallel: true
|
||||||
commands:
|
commands:
|
||||||
|
|||||||
@@ -25,7 +25,7 @@
|
|||||||
"test-i-k8s": "cross-env cloudRunnerTests=true cloudRunnerCluster=k8s yarn test -i -t \"cloud runner\""
|
"test-i-k8s": "cross-env cloudRunnerTests=true cloudRunnerCluster=k8s yarn test -i -t \"cloud runner\""
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@actions/core": "^1.6.0",
|
"@actions/core": "^1.9.1",
|
||||||
"@actions/exec": "^1.1.0",
|
"@actions/exec": "^1.1.0",
|
||||||
"@actions/github": "^5.0.0",
|
"@actions/github": "^5.0.0",
|
||||||
"@kubernetes/client-node": "^0.16.3",
|
"@kubernetes/client-node": "^0.16.3",
|
||||||
|
|||||||
112
src/model/__data__/versions.ts
Normal file
112
src/model/__data__/versions.ts
Normal file
@@ -0,0 +1,112 @@
|
|||||||
|
export const completelyValidSemanticVersions = [
|
||||||
|
'0.0.4',
|
||||||
|
'1.2.3',
|
||||||
|
'10.20.30',
|
||||||
|
'1.1.2-prerelease+meta',
|
||||||
|
'1.1.2+meta',
|
||||||
|
'1.1.2+meta-valid',
|
||||||
|
'1.0.0-alpha',
|
||||||
|
'1.0.0-beta',
|
||||||
|
'1.0.0-alpha.beta',
|
||||||
|
'1.0.0-alpha.beta.1',
|
||||||
|
'1.0.0-alpha.1',
|
||||||
|
'1.0.0-alpha0.valid',
|
||||||
|
'1.0.0-alpha.0valid',
|
||||||
|
'1.0.0-alpha-a.b-c-somethinglong+build.1-aef.1-its-okay',
|
||||||
|
'1.0.0-rc.1+build.1',
|
||||||
|
'2.0.0-rc.1+build.123',
|
||||||
|
'1.2.3-beta',
|
||||||
|
'10.2.3-DEV-SNAPSHOT',
|
||||||
|
'1.2.3-SNAPSHOT-123',
|
||||||
|
'1.0.0',
|
||||||
|
'2.0.0',
|
||||||
|
'1.1.7',
|
||||||
|
'2.0.0+build.1848',
|
||||||
|
'2.0.1-alpha.1227',
|
||||||
|
'1.0.0-alpha+beta',
|
||||||
|
'1.2.3----RC-SNAPSHOT.12.9.1--.12+788',
|
||||||
|
'1.2.3----R-S.12.9.1--.12+meta',
|
||||||
|
'1.2.3----RC-SNAPSHOT.12.9.1--.12',
|
||||||
|
'1.0.0+0.build.1-rc.10000aaa-kk-0.1',
|
||||||
|
'99999999999999999999999.999999999999999999.99999999999999999',
|
||||||
|
'1.0.0-0A.is.legal',
|
||||||
|
];
|
||||||
|
|
||||||
|
export const notCompletelyValidSemanticVersions = [
|
||||||
|
'1',
|
||||||
|
'1.2',
|
||||||
|
'1.2.3-0123',
|
||||||
|
'1.2.3-0123.0123',
|
||||||
|
'1.1.2+.123',
|
||||||
|
'+invalid',
|
||||||
|
'-invalid',
|
||||||
|
'-invalid+invalid',
|
||||||
|
'-invalid.01',
|
||||||
|
'alpha',
|
||||||
|
'alpha.beta',
|
||||||
|
'alpha.beta.1',
|
||||||
|
'alpha.1',
|
||||||
|
'alpha+beta',
|
||||||
|
'alpha_beta',
|
||||||
|
'alpha.',
|
||||||
|
'alpha..',
|
||||||
|
'beta',
|
||||||
|
'1.0.0-alpha_beta',
|
||||||
|
'-alpha.',
|
||||||
|
'1.0.0-alpha..',
|
||||||
|
'1.0.0-alpha..1',
|
||||||
|
'1.0.0-alpha...1',
|
||||||
|
'1.0.0-alpha....1',
|
||||||
|
'1.0.0-alpha.....1',
|
||||||
|
'1.0.0-alpha......1',
|
||||||
|
'1.0.0-alpha.......1',
|
||||||
|
'01.1.1',
|
||||||
|
'1.01.1',
|
||||||
|
'1.1.01',
|
||||||
|
'1.2',
|
||||||
|
'1.2.3.DEV',
|
||||||
|
'1.2-SNAPSHOT',
|
||||||
|
'1.2.31.2.3----RC-SNAPSHOT.12.09.1--..12+788',
|
||||||
|
'1.2-RC-SNAPSHOT',
|
||||||
|
'-1.0.3-gamma+b7718',
|
||||||
|
'+justmeta',
|
||||||
|
'9.8.7+meta+meta',
|
||||||
|
'9.8.7-whatever+meta+meta',
|
||||||
|
'99999999999999999999999.999999999999999999.99999999999999999----RC-SNAPSHOT.12.09.1--------------------------------..12',
|
||||||
|
];
|
||||||
|
|
||||||
|
const addVariantsPrependingV = (array: string[]) => array.map((tag) => [tag, `v${tag}`]).flat();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Array of versions that will be detected as version tags. Not all of these are
|
||||||
|
* "semantic versions", but can be used to generate one. Especially using the
|
||||||
|
* `versioning: Semantic` option.
|
||||||
|
*/
|
||||||
|
export const validVersionTagInputs = addVariantsPrependingV([
|
||||||
|
'0',
|
||||||
|
'1',
|
||||||
|
'0.1',
|
||||||
|
'1.0',
|
||||||
|
'1.1.0',
|
||||||
|
'1.2.3',
|
||||||
|
...completelyValidSemanticVersions,
|
||||||
|
]);
|
||||||
|
|
||||||
|
export const invalidVersionTagInputs = addVariantsPrependingV([
|
||||||
|
'+invalid',
|
||||||
|
'-invalid',
|
||||||
|
'-invalid+invalid',
|
||||||
|
'-invalid.01',
|
||||||
|
'alpha',
|
||||||
|
'alpha.beta',
|
||||||
|
'alpha.beta.1',
|
||||||
|
'alpha.1',
|
||||||
|
'alpha+beta',
|
||||||
|
'alpha_beta',
|
||||||
|
'alpha.',
|
||||||
|
'alpha..',
|
||||||
|
'beta',
|
||||||
|
'-alpha.',
|
||||||
|
'-1.0.3-gamma+b7718',
|
||||||
|
'+justmeta',
|
||||||
|
]);
|
||||||
@@ -46,6 +46,7 @@ class ImageEnvironmentFactory {
|
|||||||
{ name: 'ANDROID_KEYSTORE_PASS', value: parameters.androidKeystorePass },
|
{ name: 'ANDROID_KEYSTORE_PASS', value: parameters.androidKeystorePass },
|
||||||
{ name: 'ANDROID_KEYALIAS_NAME', value: parameters.androidKeyaliasName },
|
{ name: 'ANDROID_KEYALIAS_NAME', value: parameters.androidKeyaliasName },
|
||||||
{ name: 'ANDROID_KEYALIAS_PASS', value: parameters.androidKeyaliasPass },
|
{ name: 'ANDROID_KEYALIAS_PASS', value: parameters.androidKeyaliasPass },
|
||||||
|
{ name: 'ANDROID_TARGET_SDK_VERSION', value: parameters.androidTargetSdkVersion },
|
||||||
{ name: 'ANDROID_SDK_MANAGER_PARAMETERS', value: parameters.androidSdkManagerParameters },
|
{ name: 'ANDROID_SDK_MANAGER_PARAMETERS', value: parameters.androidSdkManagerParameters },
|
||||||
{ name: 'CUSTOM_PARAMETERS', value: parameters.customParameters },
|
{ name: 'CUSTOM_PARAMETERS', value: parameters.customParameters },
|
||||||
{ name: 'CHOWN_FILES_TO', value: parameters.chownFilesTo },
|
{ name: 'CHOWN_FILES_TO', value: parameters.chownFilesTo },
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ import * as core from '@actions/core';
|
|||||||
import NotImplementedException from './error/not-implemented-exception';
|
import NotImplementedException from './error/not-implemented-exception';
|
||||||
import System from './system';
|
import System from './system';
|
||||||
import Versioning from './versioning';
|
import Versioning from './versioning';
|
||||||
|
import { validVersionTagInputs, invalidVersionTagInputs } from './__data__/versions';
|
||||||
|
|
||||||
afterEach(() => {
|
afterEach(() => {
|
||||||
jest.restoreAllMocks();
|
jest.restoreAllMocks();
|
||||||
@@ -34,6 +35,26 @@ describe('Versioning', () => {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
describe('grepCompatibleInputVersionRegex', () => {
|
||||||
|
// eslint-disable-next-line unicorn/consistent-function-scoping
|
||||||
|
const matchInputUsingGrep = async (input) => {
|
||||||
|
const output = await System.run('sh', undefined, {
|
||||||
|
input: Buffer.from(`echo '${input}' | grep -E '${Versioning.grepCompatibleInputVersionRegex}'`),
|
||||||
|
silent: true,
|
||||||
|
});
|
||||||
|
|
||||||
|
return output.trim();
|
||||||
|
};
|
||||||
|
|
||||||
|
it.concurrent.each(validVersionTagInputs)(`accepts valid tag input '%s'`, async (input) => {
|
||||||
|
expect(await matchInputUsingGrep(input)).toStrictEqual(input);
|
||||||
|
});
|
||||||
|
|
||||||
|
it.concurrent.each(invalidVersionTagInputs)(`rejects non-version tag input '%s'`, async (input) => {
|
||||||
|
await expect(async () => matchInputUsingGrep(input)).rejects.toThrowError(/^Failed to run/);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
describe('branch', () => {
|
describe('branch', () => {
|
||||||
it('returns headRef when set', () => {
|
it('returns headRef when set', () => {
|
||||||
const headReference = jest.spyOn(Versioning, 'headRef', 'get').mockReturnValue('feature-branch-1');
|
const headReference = jest.spyOn(Versioning, 'headRef', 'get').mockReturnValue('feature-branch-1');
|
||||||
|
|||||||
@@ -17,6 +17,10 @@ export default class Versioning {
|
|||||||
return { None: 'None', Semantic: 'Semantic', Tag: 'Tag', Custom: 'Custom' };
|
return { None: 'None', Semantic: 'Semantic', Tag: 'Tag', Custom: 'Custom' };
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static get grepCompatibleInputVersionRegex() {
|
||||||
|
return '^v?([0-9]+\\.)*[0-9]+.*';
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the branch name of the (related) branch
|
* Get the branch name of the (related) branch
|
||||||
*/
|
*/
|
||||||
@@ -272,18 +276,20 @@ export default class Versioning {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Whether or not the repository has any version tags yet.
|
* Whether the current tree has any version tags yet.
|
||||||
|
*
|
||||||
|
* Note: Currently this is run in all OSes, so the syntax must be cross-platform.
|
||||||
*/
|
*/
|
||||||
static async hasAnyVersionTags() {
|
static async hasAnyVersionTags() {
|
||||||
const numberOfCommitsAsString = await System.run('sh', undefined, {
|
const numberOfTagsAsString = await System.run('sh', undefined, {
|
||||||
input: Buffer.from('git tag --list --merged HEAD | grep v[0-9]* | wc -l'),
|
input: Buffer.from(`git tag --list --merged HEAD | grep -E '${this.grepCompatibleInputVersionRegex}' | wc -l`),
|
||||||
cwd: this.projectPath,
|
cwd: this.projectPath,
|
||||||
silent: false,
|
silent: false,
|
||||||
});
|
});
|
||||||
|
|
||||||
const numberOfCommits = Number.parseInt(numberOfCommitsAsString, 10);
|
const numberOfTags = Number.parseInt(numberOfTagsAsString, 10);
|
||||||
|
|
||||||
return numberOfCommits !== 0;
|
return numberOfTags !== 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
26
yarn.lock
26
yarn.lock
@@ -2,12 +2,13 @@
|
|||||||
# yarn lockfile v1
|
# yarn lockfile v1
|
||||||
|
|
||||||
|
|
||||||
"@actions/core@^1.6.0":
|
"@actions/core@^1.9.1":
|
||||||
version "1.6.0"
|
version "1.9.1"
|
||||||
resolved "https://registry.yarnpkg.com/@actions/core/-/core-1.6.0.tgz#0568e47039bfb6a9170393a73f3b7eb3b22462cb"
|
resolved "https://registry.yarnpkg.com/@actions/core/-/core-1.9.1.tgz#97c0201b1f9856df4f7c3a375cdcdb0c2a2f750b"
|
||||||
integrity sha512-NB1UAZomZlCV/LmJqkLhNTqtKfFXJZAUPcfl/zqG7EfsQdeUJtaWO98SGbuQ3pydJ3fHl2CvI/51OKYlCYYcaw==
|
integrity sha512-5ad+U2YGrmmiw6du20AQW5XuWo7UKN2052FjSV7MX+Wfjf8sCqcsZe62NfgHys4QI4/Y+vQvLKYL8jWtA1ZBTA==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@actions/http-client" "^1.0.11"
|
"@actions/http-client" "^2.0.1"
|
||||||
|
uuid "^8.3.2"
|
||||||
|
|
||||||
"@actions/exec@^1.1.0":
|
"@actions/exec@^1.1.0":
|
||||||
version "1.1.0"
|
version "1.1.0"
|
||||||
@@ -33,6 +34,13 @@
|
|||||||
dependencies:
|
dependencies:
|
||||||
tunnel "0.0.6"
|
tunnel "0.0.6"
|
||||||
|
|
||||||
|
"@actions/http-client@^2.0.1":
|
||||||
|
version "2.0.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/@actions/http-client/-/http-client-2.0.1.tgz#873f4ca98fe32f6839462a6f046332677322f99c"
|
||||||
|
integrity sha512-PIXiMVtz6VvyaRsGY268qvj57hXQEpsYogYOu2nrQhlf+XCGmZstmuZBbAybUl1nQGnvS1k1eEsQ69ZoD7xlSw==
|
||||||
|
dependencies:
|
||||||
|
tunnel "^0.0.6"
|
||||||
|
|
||||||
"@actions/io@^1.0.1":
|
"@actions/io@^1.0.1":
|
||||||
version "1.1.0"
|
version "1.1.0"
|
||||||
resolved "https://registry.npmjs.org/@actions/io/-/io-1.1.0.tgz"
|
resolved "https://registry.npmjs.org/@actions/io/-/io-1.1.0.tgz"
|
||||||
@@ -3656,9 +3664,9 @@ jmespath@0.16.0:
|
|||||||
integrity sha512-9FzQjJ7MATs1tSpnco1K6ayiYE3figslrXA72G2HQ/n76RzvYlofyi5QM+iX4YRs/pu3yzxlVQSST23+dMDknw==
|
integrity sha512-9FzQjJ7MATs1tSpnco1K6ayiYE3figslrXA72G2HQ/n76RzvYlofyi5QM+iX4YRs/pu3yzxlVQSST23+dMDknw==
|
||||||
|
|
||||||
jose@^1.27.1:
|
jose@^1.27.1:
|
||||||
version "1.28.1"
|
version "1.28.2"
|
||||||
resolved "https://registry.npmjs.org/jose/-/jose-1.28.1.tgz"
|
resolved "https://registry.yarnpkg.com/jose/-/jose-1.28.2.tgz#97f4aa608d0020ae5c1051a2a33247b957401e5a"
|
||||||
integrity sha512-6JK28rFu5ENp/yxMwM+iN7YeaInnY9B9Bggjkz5fuwLiJhbVrl2O4SJr65bdNBPl9y27fdC3Mymh+FVCvozLIg==
|
integrity sha512-wWy51U2MXxYi3g8zk2lsQ8M6O1lartpkxuq1TYexzPKYLgHLZkCjklaATP36I5BUoWjF2sInB9U1Qf18fBZxNA==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@panva/asn1.js" "^1.0.0"
|
"@panva/asn1.js" "^1.0.0"
|
||||||
|
|
||||||
@@ -5244,7 +5252,7 @@ tunnel-agent@^0.6.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
safe-buffer "^5.0.1"
|
safe-buffer "^5.0.1"
|
||||||
|
|
||||||
tunnel@0.0.6:
|
tunnel@0.0.6, tunnel@^0.0.6:
|
||||||
version "0.0.6"
|
version "0.0.6"
|
||||||
resolved "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz"
|
resolved "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz"
|
||||||
integrity sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==
|
integrity sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==
|
||||||
|
|||||||
Reference in New Issue
Block a user