You've already forked joplin
mirror of
https://github.com/laurent22/joplin.git
synced 2025-08-10 22:11:50 +02:00
Chore: Updated script to allow deploying Transcribe server (#12828)
This commit is contained in:
@@ -1765,6 +1765,7 @@ packages/tools/release-electron.js
|
||||
packages/tools/release-ios.js
|
||||
packages/tools/release-plugin-repo-cli.js
|
||||
packages/tools/release-server.js
|
||||
packages/tools/release-transcribe.js
|
||||
packages/tools/saveClaConsentRecords.js
|
||||
packages/tools/setupNewRelease.js
|
||||
packages/tools/spellcheck.js
|
||||
|
18
.github/scripts/run_ci.sh
vendored
18
.github/scripts/run_ci.sh
vendored
@@ -7,9 +7,13 @@
|
||||
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"
|
||||
ROOT_DIR="$SCRIPT_DIR/../.."
|
||||
|
||||
TRANSCRIBE_TAG_PREFIX=transcribe
|
||||
TRANSCRIBE_REPOSITORY=joplin/transcribe
|
||||
|
||||
IS_PULL_REQUEST=0
|
||||
IS_DESKTOP_RELEASE=0
|
||||
IS_SERVER_RELEASE=0
|
||||
IS_TRANSCRIBE_RELEASE=0
|
||||
IS_LINUX=0
|
||||
IS_MACOS=0
|
||||
|
||||
@@ -23,6 +27,10 @@ if [[ $GIT_TAG_NAME = $SERVER_TAG_PREFIX-* ]]; then
|
||||
IS_SERVER_RELEASE=1
|
||||
fi
|
||||
|
||||
if [[ $GIT_TAG_NAME = $TRANSCRIBE_TAG_PREFIX-* ]]; then
|
||||
IS_TRANSCRIBE_RELEASE=1
|
||||
fi
|
||||
|
||||
if [[ $GIT_TAG_NAME = v* ]]; then
|
||||
IS_DESKTOP_RELEASE=1
|
||||
fi
|
||||
@@ -80,12 +88,14 @@ echo "GIT_TAG_NAME=$GIT_TAG_NAME"
|
||||
echo "BUILD_SEQUENCIAL=$BUILD_SEQUENCIAL"
|
||||
echo "SERVER_REPOSITORY=$SERVER_REPOSITORY"
|
||||
echo "SERVER_TAG_PREFIX=$SERVER_TAG_PREFIX"
|
||||
echo "TRANSCRIBE_TAG_PREFIX=$TRANSCRIBE_TAG_PREFIX"
|
||||
echo "DOCKER_IMAGE_PLATFORM=$DOCKER_IMAGE_PLATFORM"
|
||||
|
||||
echo "IS_CONTINUOUS_INTEGRATION=$IS_CONTINUOUS_INTEGRATION"
|
||||
echo "IS_PULL_REQUEST=$IS_PULL_REQUEST"
|
||||
echo "IS_DESKTOP_RELEASE=$IS_DESKTOP_RELEASE"
|
||||
echo "IS_SERVER_RELEASE=$IS_SERVER_RELEASE"
|
||||
echo "IS_TRANSCRIBE_RELEASE=$IS_TRANSCRIBE_RELEASE"
|
||||
echo "RUN_TESTS=$RUN_TESTS"
|
||||
echo "IS_LINUX=$IS_LINUX"
|
||||
echo "IS_MACOS=$IS_MACOS"
|
||||
@@ -301,9 +311,13 @@ if [ "$IS_DESKTOP_RELEASE" == "1" ]; then
|
||||
USE_HARD_LINKS=false yarn dist
|
||||
fi
|
||||
elif [[ $IS_LINUX = 1 ]] && [ "$IS_SERVER_RELEASE" == "1" ]; then
|
||||
echo "Step: Building Docker Image..."
|
||||
echo "Step: Building Joplin Server Docker Image..."
|
||||
cd "$ROOT_DIR"
|
||||
yarn buildServerDocker --platform $DOCKER_IMAGE_PLATFORM --tag-name $GIT_TAG_NAME --push-images --repository $SERVER_REPOSITORY
|
||||
yarn buildServerDocker --docker-file Dockerfile.server --platform $DOCKER_IMAGE_PLATFORM --tag-name $GIT_TAG_NAME --push-images --repository $SERVER_REPOSITORY
|
||||
elif [[ $IS_LINUX = 1 ]] && [ "$IS_TRANSCRIBE_RELEASE" == "1" ]; then
|
||||
echo "Step: Building Joplin Transcribe Docker Image..."
|
||||
cd "$ROOT_DIR"
|
||||
yarn buildServerDocker --docker-file Dockerfile.transcribe --platform $DOCKER_IMAGE_PLATFORM --tag-name $GIT_TAG_NAME --push-images --repository $TRANSCRIBE_REPOSITORY
|
||||
else
|
||||
echo "Step: Building but *not* publishing desktop application..."
|
||||
|
||||
|
2
.github/workflows/github-actions-main.yml
vendored
2
.github/workflows/github-actions-main.yml
vendored
@@ -141,7 +141,7 @@ jobs:
|
||||
echo "DOCKER_IMAGE_PLATFORM=$DOCKER_IMAGE_PLATFORM"
|
||||
|
||||
yarn install
|
||||
yarn buildServerDocker --platform $DOCKER_IMAGE_PLATFORM --tag-name server-v0.0.0 --repository joplin/server
|
||||
yarn buildServerDocker --docker-file Dockerfile.server --platform $DOCKER_IMAGE_PLATFORM --tag-name server-v0.0.0 --repository joplin/server
|
||||
|
||||
# Basic test to ensure that the created build is valid. It should exit with
|
||||
# code 0 if it works.
|
||||
|
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1738,6 +1738,7 @@ packages/tools/release-electron.js
|
||||
packages/tools/release-ios.js
|
||||
packages/tools/release-plugin-repo-cli.js
|
||||
packages/tools/release-server.js
|
||||
packages/tools/release-transcribe.js
|
||||
packages/tools/saveClaConsentRecords.js
|
||||
packages/tools/setupNewRelease.js
|
||||
packages/tools/spellcheck.js
|
||||
|
@@ -51,6 +51,7 @@
|
||||
"releasePluginGenerator": "node packages/tools/release-plugin-generator.js",
|
||||
"releasePluginRepoCli": "node packages/tools/release-plugin-repo-cli.js",
|
||||
"releaseServer": "node packages/tools/release-server.js",
|
||||
"releaseTranscribe": "node packages/tools/release-transcribe.js",
|
||||
"saveClaConsentRecords": "node packages/tools/saveClaConsentRecords.js",
|
||||
"setupNewRelease": "node ./packages/tools/setupNewRelease",
|
||||
"spellcheck": "node packages/tools/spellcheck.js",
|
||||
|
@@ -10,25 +10,28 @@ interface Argv {
|
||||
platform?: string;
|
||||
source?: string;
|
||||
addLatestTag?: boolean;
|
||||
dockerFile?: string;
|
||||
}
|
||||
|
||||
function parseArgv(): Argv {
|
||||
return require('yargs')
|
||||
.scriptName('yarn buildServerDocker')
|
||||
.usage('$0 --repository OWNER/IMAGE [args]')
|
||||
.option('r', {
|
||||
alias: 'repository',
|
||||
.option('dockerFile', {
|
||||
describe: 'Dockerfile - either Dockerfile.server or Dockerfile.transcribe',
|
||||
demandOption: true,
|
||||
type: 'string',
|
||||
})
|
||||
.option('repository', {
|
||||
describe: 'Target image repository. Usually in format `OWNER/NAME`',
|
||||
demandOption: true,
|
||||
type: 'string',
|
||||
})
|
||||
.option('t', {
|
||||
alias: 'tagName',
|
||||
.option('tagName', {
|
||||
describe: 'Base image tag. Usually should be in format `server-v1.2.3` or `server-v1.2.3-beta`. The latest `server-v*` git tag will be used by default.',
|
||||
type: 'string',
|
||||
})
|
||||
.option('l', {
|
||||
alias: 'addLatestTag',
|
||||
.option('addLatestTag', {
|
||||
describe: 'Add `latest` tag even for pre-release images.',
|
||||
type: 'boolean',
|
||||
default: false,
|
||||
@@ -43,14 +46,12 @@ function parseArgv(): Argv {
|
||||
type: 'string',
|
||||
default: 'https://github.com/laurent22/joplin.git',
|
||||
})
|
||||
.option('p', {
|
||||
alias: 'pushImages',
|
||||
.option('pushImages', {
|
||||
describe: 'Publish images to target repository.',
|
||||
type: 'boolean',
|
||||
default: false,
|
||||
})
|
||||
.option('dryRun', {
|
||||
alias: 'dryRun',
|
||||
describe: 'Do not call docker, just show command instead.',
|
||||
type: 'boolean',
|
||||
default: false,
|
||||
@@ -80,8 +81,11 @@ async function main() {
|
||||
const argv = parseArgv();
|
||||
if (!argv.tagName) console.info('No `--tag-name` was specified. A latest git tag will be used instead.');
|
||||
|
||||
console.info('Raw arguments:', argv);
|
||||
|
||||
const dryRun = argv.dryRun;
|
||||
const addLatestTag = argv.addLatestTag;
|
||||
const dockerFile = argv.dockerFile;
|
||||
const pushImages = argv.pushImages;
|
||||
const repository = argv.repository;
|
||||
const tagName = argv.tagName || `server-${await execCommand('git describe --tags --match v*', { showStdout: false })}`;
|
||||
@@ -123,6 +127,7 @@ async function main() {
|
||||
process.chdir(rootDir);
|
||||
console.info(`Running from: ${process.cwd()}`);
|
||||
|
||||
console.info('dockerFile:', dockerFile);
|
||||
console.info('repository:', repository);
|
||||
console.info('tagName:', tagName);
|
||||
console.info('platform:', platform);
|
||||
@@ -138,7 +143,7 @@ async function main() {
|
||||
if (pushImages) {
|
||||
cliArgs.push('--push');
|
||||
}
|
||||
cliArgs.push('-f Dockerfile.server');
|
||||
cliArgs.push(`--file ${dockerFile}`);
|
||||
cliArgs.push('.');
|
||||
|
||||
const dockerCommand = `docker buildx build ${cliArgs.join(' ')}`;
|
||||
|
@@ -22,6 +22,7 @@ enum Platform {
|
||||
Desktop = 'desktop',
|
||||
Clipper = 'clipper',
|
||||
Server = 'server',
|
||||
Transcribe = 'transcribe',
|
||||
Cloud = 'cloud',
|
||||
Cli = 'cli',
|
||||
PluginGenerator = 'plugin-generator',
|
||||
@@ -104,6 +105,7 @@ function platformFromTag(tagName: string): Platform {
|
||||
if (tagName.indexOf('clipper') === 0) return Platform.Clipper;
|
||||
if (tagName.indexOf('cli') === 0) return Platform.Cli;
|
||||
if (tagName.indexOf('server') === 0) return Platform.Server;
|
||||
if (tagName.indexOf('transcribe') === 0) return Platform.Transcribe;
|
||||
if (tagName.indexOf('cloud') === 0) return Platform.Cloud;
|
||||
if (tagName.indexOf('plugin-generator') === 0) return Platform.PluginGenerator;
|
||||
if (tagName.indexOf('plugin-repo-cli') === 0) return Platform.PluginRepoCli;
|
||||
@@ -128,6 +130,7 @@ export const filesApplyToPlatform = (files: string[], platform: string): boolean
|
||||
if (file.startsWith('packages/react-native-') && isMobile) return true;
|
||||
if (file.startsWith('packages/renderer') && isMainApp) return true;
|
||||
if (file.startsWith('packages/server') && platform === 'server') return true;
|
||||
if (file.startsWith('packages/transcribe') && platform === 'transcribe') return true;
|
||||
if (file.startsWith('packages/tools') && isMainApp) return true;
|
||||
if (file.startsWith('packages/turndown') && isMainApp) return true;
|
||||
}
|
||||
@@ -264,6 +267,7 @@ function filterLogs(logs: LogEntry[], platform: Platform) {
|
||||
if (platform === 'cli' && prefix.indexOf('cli') >= 0) addIt = true;
|
||||
if (platform === 'clipper' && prefix.indexOf('clipper') >= 0) addIt = true;
|
||||
if (platform === 'server' && prefix.indexOf('server') >= 0) addIt = true;
|
||||
if (platform === 'transcribe' && prefix.indexOf('transcribe') >= 0) addIt = true;
|
||||
if (platform === 'cloud' && (prefix.indexOf('cloud') >= 0 || prefix.indexOf('server') >= 0)) addIt = true;
|
||||
|
||||
if (isRenovate && filesApplyToPlatform(log.files, platform)) {
|
||||
@@ -318,7 +322,7 @@ function formatCommitMessage(commit: string, msg: string, author: Author, option
|
||||
const isPlatformPrefix = (prefixString: string) => {
|
||||
const prefix = prefixString.split(',').map(p => p.trim().toLowerCase());
|
||||
for (const p of prefix) {
|
||||
if (['android', 'mobile', 'ios', 'desktop', 'windows', 'linux', 'macos', 'cli', 'clipper', 'all', 'api', 'plugins', 'server', 'cloud'].indexOf(p) >= 0) return true;
|
||||
if (['android', 'mobile', 'ios', 'desktop', 'windows', 'linux', 'macos', 'cli', 'clipper', 'all', 'api', 'plugins', 'server', 'transcribe', 'cloud'].indexOf(p) >= 0) return true;
|
||||
}
|
||||
return false;
|
||||
};
|
||||
|
23
packages/tools/release-transcribe.ts
Normal file
23
packages/tools/release-transcribe.ts
Normal file
@@ -0,0 +1,23 @@
|
||||
import { execCommand } from '@joplin/utils';
|
||||
import { rootDir, gitPullTry, completeReleaseWithChangelog } from './tool-utils';
|
||||
|
||||
const transcribeDir = `${rootDir}/packages/transcribe`;
|
||||
|
||||
async function main() {
|
||||
await gitPullTry();
|
||||
|
||||
process.chdir(transcribeDir);
|
||||
const version = (await execCommand('npm version patch')).trim();
|
||||
const versionSuffix = '';
|
||||
const tagName = `transcribe-${version}${versionSuffix}`;
|
||||
|
||||
const changelogPath = `${rootDir}/readme/about/changelog/transcribe.md`;
|
||||
|
||||
await completeReleaseWithChangelog(changelogPath, version, tagName, 'Transcribe', false);
|
||||
}
|
||||
|
||||
main().catch((error) => {
|
||||
console.error('Fatal error');
|
||||
console.error(error);
|
||||
process.exit(1);
|
||||
});
|
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@joplin/transcribe",
|
||||
"version": "3.3.0",
|
||||
"version": "3.4.4",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"rebuild": "yarn clean && yarn build && yarn tsc",
|
||||
|
5
readme/about/changelog/transcribe.md
Normal file
5
readme/about/changelog/transcribe.md
Normal file
@@ -0,0 +1,5 @@
|
||||
# Transcribe Changelog
|
||||
|
||||
## [transcribe-v3.4.4](https://github.com/laurent22/joplin/releases/tag/transcribe-v3.4.4) - 2025-07-31T17:40:57Z
|
||||
|
||||
- Fixed: Removes file from temporary folder after storing it (#12795) (#12765 by [@pedr](https://github.com/pedr))
|
Reference in New Issue
Block a user