@@ -2,23 +2,32 @@ name: Deploys
2
2
3
3
on :
4
4
push :
5
- tags :
6
- - 4.*
5
+ branches :
6
+ - trunk
7
7
8
8
jobs :
9
9
deploy :
10
+ # Only continue if the commit message has '[deploy]' in it
11
+ if : contains(toJson(github.event.commits), '[deploy]') == true
10
12
name : Deploy Docker images
11
13
runs-on : ubuntu-18.04
12
14
steps :
13
15
- uses : actions/checkout@v1
14
16
- name : Output Docker info
15
17
run : docker info
16
- - name : Gets tag as env var if present
17
- run : echo ::set-env name=TAG::${GITHUB_REF#refs/*/}
18
- - name : Output tag if present
19
- run : echo ${TAG}
20
- - name : Build
21
- run : VERSION="${TAG}" make build
18
+ - name : Sets build date
19
+ run : echo ::set-env name=BUILD_DATE::$(date '+%Y%m%d')
20
+ - name : Build base image to get Grid version
21
+ run : VERSION="local" BUILD_DATE=${BUILD_DATE} make base
22
+ - name : Get Grid version
23
+ # sed used to remove last comma of Selenium version output
24
+ 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 /')
25
+ - name : Display Grid version
26
+ run : echo ${GRID_VERSION}
27
+ - name : Remove local Docker tag
28
+ run : docker rmi selenium/base:local-${BUILD_DATE}
29
+ - name : Build images
30
+ run : VERSION="${GRID_VERSION}" BUILD_DATE=${BUILD_DATE} make build
22
31
- name : Login Docker Hub
23
32
run : docker login -u="$DOCKER_USERNAME" -p="$DOCKER_PASSWORD"
24
33
env :
27
36
- name : Deploy new images
28
37
run : VERSION="${TAG}" make release
29
38
- name : Tag browser images
30
- run : VERSION="${TAG}" PUSH_IMAGE=true make tag_and_push_browser_images
31
- - name : List Docker images
32
- run : docker images --filter=reference='selenium/*:*' --format "table {{.ID}}\t{{.Repository}}\t{{.Tag}}\t{{.Size}}"
39
+ 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
+ - name : Create release notes (release_notes.md)
45
+ run : ./generate_release_notes.sh ${LATEST_TAG} origin/automated-release ${GRID_VERSION} ${BUILD_DATE}
46
+ - name : Create Release
47
+ id : create_release
48
+ uses : actions/create-release@v1
49
+ env :
50
+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
51
+ with :
52
+ tag_name : ${{ env.GRID_VERSION }}-${{ env.BUILD_DATE }}
53
+ release_name : ${{ env.GRID_VERSION }}-${{ env.BUILD_DATE }}
54
+ body_path : release_notes.md
55
+ draft : false
56
+ prerelease : false
33
57
# Enable this part when Selenium 4 is released
34
58
# - name: Deploy tag latest
35
59
# run: VERSION="${TRAVIS_TAG}" make tag_latest
0 commit comments