Skip to content

Commit 28401e1

Browse files
authored
Merge pull request #82 from ydb-platform/add-publish-action
Add publish action
2 parents a9ea4c4 + cd01f8e commit 28401e1

File tree

3 files changed

+70
-1
lines changed

3 files changed

+70
-1
lines changed

.github/workflows/publish.yml

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
name: publish
2+
on:
3+
workflow_dispatch:
4+
inputs:
5+
version-change:
6+
description: Version part
7+
required: true
8+
type: choice
9+
options:
10+
- PATCH
11+
- MINOR
12+
13+
permissions:
14+
contents: write
15+
16+
jobs:
17+
publish:
18+
runs-on: ubuntu-latest
19+
env:
20+
GH_TOKEN: ${{ github.token }}
21+
VERSION_CHANGE: ${{ github.event.inputs.version-change }}
22+
RELEASE_CANDIDATE: ${{ github.event.inputs.release-candidate }}
23+
VERSION_FILE: src/Version.php
24+
CHANGELOG_FILE: CHANGELOG.md
25+
steps:
26+
- uses: actions/checkout@v3
27+
- run: |
28+
CHANGELOG=$(cat $CHANGELOG_FILE | sed -e '/^## */,$d');
29+
MAJOR=$(cat $VERSION_FILE | grep "const MAJOR" | sed -e 's/^.*\ \(=\ \)*\(\"\)*\([0-9]*\)\(\"\)*.*/\3/g');
30+
MINOR=$(cat $VERSION_FILE | grep "const MINOR" | sed -e 's/^.*\ \(=\ \)*\(\"\)*\([0-9]*\)\(\"\)*.*/\3/g');
31+
PATCH=$(cat $VERSION_FILE | grep "const PATCH" | sed -e 's/^.*\ \(=\ \)*\(\"\)*\([0-9]*\)\(\"\)*.*/\3/g');
32+
LAST_TAG="v$MAJOR.$MINOR.$PATCH";
33+
if [ "$VERSION_CHANGE" = "MINOR" ]
34+
then
35+
MINOR=$((MINOR+1));
36+
PATCH=0;
37+
fi;
38+
if [ "$VERSION_CHANGE" = "PATCH" ]
39+
then
40+
PATCH=$((PATCH+1));
41+
fi;
42+
echo "<?php
43+
const MAJOR = "$MAJOR";
44+
const MINOR = "$MINOR";
45+
const PATCH = "$PATCH";
46+
" >> $VERSION_FILE.tmp
47+
mv $VERSION_FILE.tmp $VERSION_FILE;
48+
git add $VERSION_FILE;
49+
echo "## $MAJOR.$MINOR.$PATCH" >> $CHANGELOG_FILE.tmp
50+
cat $CHANGELOG_FILE >> $CHANGELOG_FILE.tmp
51+
mv $CHANGELOG_FILE.tmp $CHANGELOG_FILE;
52+
git add $CHANGELOG_FILE;
53+
git config --global user.email "robot@umbrella";
54+
git config --global user.name "robot";
55+
git commit -m "Release v$MAJOR.$MINOR.$PATCH";
56+
TAG="v$MAJOR.$MINOR.$PATCH";
57+
git tag $TAG
58+
git push --tags && git push
59+
CHANGELOG="$CHANGELOG
60+
61+
Full Changelog: [$LAST_TAG...$TAG](https://github.com/${{ github.repository }}/compare/$LAST_TAG...$TAG)"
62+
63+
gh release create $TAG -t "$TAG" --notes "$CHANGELOG"

src/Version.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
<?php
2+
const MAJOR = "1";
3+
const MINOR = "6";
4+
const PATCH = "0";

src/Ydb.php

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,13 @@
1212
use YdbPlatform\Ydb\Retry\Retry;
1313
use YdbPlatform\Ydb\Retry\RetryParams;
1414

15+
require "Version.php";
16+
1517
class Ydb
1618
{
1719
use Traits\LoggerTrait;
1820

19-
const VERSION = '1.6.0';
21+
const VERSION = MAJOR.".".MINOR.".".PATCH;
2022

2123
/**
2224
* @var string

0 commit comments

Comments
 (0)