1
0
mirror of https://github.com/laurent22/joplin.git synced 2025-03-26 21:12:59 +02:00

Tools: Fixed Docker image tagging for pre-releases

This commit is contained in:
Laurent Cozic 2021-06-19 15:14:19 +01:00
parent 372495afd3
commit d8752ab889

View File

@ -1,9 +1,10 @@
import { execCommand2, rootDir } from './tool-utils';
function getVersionFromTag(tagName: string): string {
function getVersionFromTag(tagName: string, isPreRelease: boolean): string {
if (tagName.indexOf('server-') !== 0) throw new Error(`Invalid tag: ${tagName}`);
const s = tagName.split('-');
return s[1].substr(1);
const suffix = isPreRelease ? '-beta' : '';
return s[1].substr(1) + suffix;
}
function getIsPreRelease(tagName: string): boolean {
@ -15,8 +16,8 @@ async function main() {
if (!argv.tagName) throw new Error('--tag-name not provided');
const tagName = argv.tagName;
const imageVersion = getVersionFromTag(tagName);
const isPreRelease = getIsPreRelease(tagName);
const imageVersion = getVersionFromTag(tagName, isPreRelease);
process.chdir(rootDir);
console.info(`Running from: ${process.cwd()}`);
@ -26,10 +27,12 @@ async function main() {
console.info('isPreRelease:', isPreRelease);
await execCommand2(`docker build -t "joplin/server:${imageVersion}" -f Dockerfile.server .`);
await execCommand2(`docker tag "joplin/server:${imageVersion}" "joplin/server:latest"`);
await execCommand2(`docker push joplin/server:${imageVersion}`);
if (!isPreRelease) await execCommand2('docker push joplin/server:latest');
if (!isPreRelease) {
await execCommand2(`docker tag "joplin/server:${imageVersion}" "joplin/server:latest"`);
await execCommand2('docker push joplin/server:latest');
}
}
main().catch((error) => {