1
+ name : " Release new TAG"
2
+ on :
3
+ push :
4
+ branches :
5
+ - main
6
+
7
+ jobs :
8
+ build-and-release :
9
+ name : " Release new TAG"
10
+ runs-on : ubuntu-latest
11
+ steps :
12
+ - name : Checkout code
13
+ uses : actions/checkout@v3
14
+ with :
15
+ fetch-depth : 0
16
+
17
+ - id : set-vars
18
+ name : " Set variable from .plugin-data file"
19
+ run : |
20
+ # Get all data from .plugin-data file
21
+ content=`cat ./.plugin-data`
22
+ # the following lines are only required for multi line json
23
+ content="${content//'%'/'%25'}"
24
+ content="${content//$'\n'/'%0A'}"
25
+ content="${content//$'\r'/'%0D'}"
26
+ # end of optional handling for multi line json
27
+ echo "::set-output name=pluginData::$content"
28
+
29
+ - id : check-version
30
+ name : " Check version does not exists"
31
+ run : |
32
+ # Get the version from .plugin-data file.
33
+ VERSION=${{fromJson(steps.set-vars.outputs.pluginData).version}}
34
+
35
+ echo "Get Branch tag"
36
+ if git rev-parse "$VERSION" >/dev/null 2>&1; then
37
+ echo "Tag already exists, stop now";
38
+ exit 1;
39
+ fi
40
+
41
+ - id : build-node
42
+ name : " Build project CSS and JS"
43
+ uses : actions/setup-node@v3
44
+ with :
45
+ node-version-file : ' .nvmrc'
46
+ cache : ' npm'
47
+ - run : npm install
48
+ - run : npm run build
49
+
50
+ - id : build-php
51
+ name : " Build project PHP"
52
+ uses : shivammathur/setup-php@v2
53
+ with :
54
+ php-version : 7.2
55
+ - run : composer install --prefer-dist --no-dev -o --ignore-platform-reqs
56
+
57
+ - id : commit-and-push
58
+ name : " Commit and push new TAG"
59
+ run : |
60
+ # Get the version from .plugin-data file.
61
+ VERSION=${{fromJson(steps.set-vars.outputs.pluginData).version}}
62
+
63
+ echo "Copy .distignore to .gitignore"
64
+ cp .distignore .gitignore
65
+
66
+ echo "Configure git"
67
+ git config --local user.email "$(git log --format='%ae' HEAD^!)"
68
+ git config --local user.name "$(git log --format='%an' HEAD^!)"
69
+
70
+ echo "Creating branch"
71
+ git checkout -b release/{$VERSION}
72
+
73
+ echo "Creating tag ${VERSION}"
74
+ git add .
75
+ git add -u
76
+ git commit -m "Release version ${VERSION}"
77
+ git tag ${VERSION}
78
+ git push --tags
0 commit comments