@@ -12,35 +12,58 @@ jobs:
12
12
name : Deploy Docker images
13
13
runs-on : ubuntu-18.04
14
14
steps :
15
- - uses : actions/checkout@v1
15
+ - name : Checkout code
16
+ uses : actions/checkout@v2
17
+ with :
18
+ persist-credentials : false
19
+ fetch-depth : 0
16
20
- name : Output Docker info
17
21
run : docker info
18
22
- name : Sets build date
19
23
run : echo ::set-env name=BUILD_DATE::$(date '+%Y%m%d')
24
+ - name : Sets prerelease to false by default
25
+ run : echo ::set-env name=PRERELEASE::false
20
26
- name : Build base image to get Grid version
21
27
run : VERSION="local" BUILD_DATE=${BUILD_DATE} make base
22
28
- name : Get Grid version
23
29
# sed used to remove last comma of Selenium version output
24
30
run : echo ::set-env name=GRID_VERSION::$(docker run --rm selenium/base:local-${BUILD_DATE} java -jar /opt/selenium/selenium-server.jar hub --version | awk '{print $3}' | sed 's/\(.*\),/\1 /')
31
+ - name : Is it a prerelease?
32
+ run : echo ::set-env name=GRID_VERSION::${GRID_VERSION}-prerelease && echo ::set-env name=PRERELEASE::true
33
+ if : contains(toJson(github.event.commits), '[prerelease]') == true
25
34
- name : Display Grid version
26
35
run : echo ${GRID_VERSION}
27
36
- name : Remove local Docker tag
28
37
run : docker rmi selenium/base:local-${BUILD_DATE}
38
+ - name : Sets env var for the next tag
39
+ run : echo ::set-env name=NEXT_TAG::"${GRID_VERSION}"-${BUILD_DATE}
40
+ - name : Get latest tag
41
+ run : echo ::set-env name=LATEST_TAG::$(git tag | tail -1)
42
+ - name : Display latest tag
43
+ run : echo ${LATEST_TAG}
44
+ - name : Update tag in docs and files
45
+ run : ./update_tag_in_docs_and_files.sh ${LATEST_TAG} ${NEXT_TAG}
29
46
- name : Build images
30
47
run : VERSION="${GRID_VERSION}" BUILD_DATE=${BUILD_DATE} make build
48
+ - name : Commit files
49
+ run : |
50
+ git config --local user.email "[email protected] "
51
+ git config --local user.name "GitHub Action"
52
+ git commit -m "Update tag in docs and files" -a
53
+ - name : Push changes
54
+ uses : ad-m/github-push-action@master
55
+ with :
56
+ github_token : ${{ secrets.GITHUB_TOKEN }}
57
+ branch : trunk
31
58
- name : Login Docker Hub
32
59
run : docker login -u="$DOCKER_USERNAME" -p="$DOCKER_PASSWORD"
33
60
env :
34
61
DOCKER_USERNAME : ${{secrets.DOCKER_USERNAME}}
35
62
DOCKER_PASSWORD : ${{secrets.DOCKER_PASSWORD}}
36
63
- name : Deploy new images
37
- run : VERSION="${TAG}" make release
64
+ run : make release
38
65
- name : Tag browser images
39
66
run : VERSION="${GRID_VERSION}" BUILD_DATE=${BUILD_DATE} PUSH_IMAGE=true make tag_and_push_browser_images
40
- - name : Get latest tag
41
- run : echo ::set-env name=LATEST_TAG::$(git tag | tail -1)
42
- - name : Display latest tag
43
- run : echo ${LATEST_TAG}
44
67
- name : Create release notes (release_notes.md)
45
68
run : ./generate_release_notes.sh ${LATEST_TAG} origin/trunk ${GRID_VERSION} ${BUILD_DATE}
46
69
- name : Create Release
53
76
release_name : ${{ env.GRID_VERSION }}-${{ env.BUILD_DATE }}
54
77
body_path : release_notes.md
55
78
draft : false
56
- prerelease : false
79
+ prerelease : ${{ env.PRERELEASE }}
80
+
57
81
# Enable this part when Selenium 4 is released
58
82
# - name: Deploy tag latest
59
83
# run: VERSION="${TRAVIS_TAG}" make tag_latest
0 commit comments