Compare commits

..
2 Commits
3 changed files with 10 additions and 1 deletions
+2
View File
@@ -4,6 +4,8 @@ When using [environment variables](../usage/ci-configuration.md#authentication)
Alternatively the Git repository can be accessed via [SSH](https://git-scm.com/book/en/v2/Git-on-the-Server-The-Protocols#_the_ssh_protocol) by creating SSH keys, adding the public one to your Git hosted account and making the private one available on the CI environment.
**Note:** SSH keys allow to push the [Git release tag](https://git-scm.com/book/en/v2/Git-Basics-Tagging) associated to the released version. Some plugins might also require an API token. See each plugin documentation for additional information.
## Generating the SSH keys
In your local repository root:
+7 -1
View File
@@ -36,9 +36,15 @@ async function gitTags() {
*/
async function isRefInHistory(ref) {
try {
return (await execa('git', ['merge-base', '--is-ancestor', ref, 'HEAD'])).code === 0;
await execa('git', ['merge-base', '--is-ancestor', ref, 'HEAD']);
return true;
} catch (err) {
if (err.code === 1) {
return false;
}
debug(err);
throw err;
}
}
+1
View File
@@ -91,6 +91,7 @@ test.serial('Verify if the commit `sha` is in the direct history of the current
t.true(await isRefInHistory(commits[0].hash));
t.falsy(await isRefInHistory(otherCommits[0].hash));
await t.throws(isRefInHistory('non-existant-sha'));
});
test.serial('Get the commit sha for a given tag or falsy if the tag does not exists', async t => {