Skip to content

Commit 8a690f5

Browse files
authored
Release branch pipeline (appium#12820)
1 parent f31e598 commit 8a690f5

6 files changed

+56
-2
lines changed
16.7 MB
Binary file not shown.

ci-jobs/create-release-branch.yml

+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
steps:
2+
- task: NodeTool@0
3+
inputs:
4+
versionSpec: '12.x'
5+
- script: npm install
6+
displayName: NPM install
7+
- script: |
8+
git remote add triager https://triager:$GITHUB_TOKEN@github.com/appium/appium
9+
git checkout -b $MINOR_BRANCH_NAME
10+
git status
11+
node ./ci-jobs/scripts/set-package-json-version
12+
rm -rf package-lock.json
13+
npm shrinkwrap
14+
git add .
15+
git commit -n -m "Set version to $(MINOR_BRANCH_NAME).0-rc.0"
16+
git push -u triager $MINOR_BRANCH_NAME
17+
displayName: Create branch
18+
env:
19+
GITHUB_TOKEN: $(GITHUB_TOKEN)
20+
MINOR_BRANCH_NAME: $(MINOR_BRANCH_NAME)
21+
- script: |
22+
git tag $MINOR_BRANCH_NAME.0-rc.0
23+
git push --tags -u triager
24+
echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" > .npmrc
25+
npm publish --tag $(node ./ci-jobs/scripts/parse-tag)
26+
env:
27+
NPM_TOKEN: $(NPM_TOKEN)
28+
displayName: Tag and Publish
29+

ci-jobs/scripts/parse-tag.js

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
const semver = require('semver');
2+
const { version } = require('../../package.json');
3+
console.log(semver(version).prerelease[0]); //eslint-disable-line no-console
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
const path = require('path');
2+
const { fs, logger } = require('appium-support');
3+
const { asyncify } = require('asyncbox');
4+
const packageJson = require('../../package.json');
5+
6+
const log = new logger.getLogger('Create Release Branch:');
7+
8+
async function setPackageJsonVersion (version = `${process.env.MINOR_BRANCH_NAME}.0-rc.0`) {
9+
packageJson.version = version;
10+
log.info(`Setting version to: ${version}`);
11+
await fs.writeFile(
12+
path.resolve(__dirname, '..', '..', 'package.json'),
13+
JSON.stringify(packageJson, null, 2),
14+
'utf8',
15+
);
16+
}
17+
18+
if (require.main === module) {
19+
asyncify(setPackageJsonVersion);
20+
}
21+
22+
module.exports = setPackageJsonVersion;

ci-jobs/templates/bundle-template.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ jobs:
1111
displayName: Print GCC Version
1212
- task: NodeTool@0
1313
inputs:
14-
versionSpec: '11.x'
14+
versionSpec: '12.x'
1515
- script: npm ci || npm install # "npm ci" if shrinkwrap is present
1616
displayName: Install NPM Dependencies
1717
- script: |

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -65,9 +65,9 @@
6565
"lodash": "^4.17.11",
6666
"longjohn": "^0.2.12",
6767
"npmlog": "4.x",
68+
"semver": "^6.1.2",
6869
"request": "^2.81.0",
6970
"request-promise": "4.x",
70-
"semver": "^6.0.0",
7171
"source-map-support": "0.x",
7272
"teen_process": "1.x",
7373
"winston": "3.x",

0 commit comments

Comments
 (0)