7
7
- ' *'
8
8
branches :
9
9
- develop
10
+ - release/4.28.1.0
10
11
11
12
jobs :
12
- build_and_test :
13
- strategy :
14
- fail-fast : false
15
- matrix :
16
- os : [ 'ubuntu-latest', 'macos-latest', 'windows-latest' ]
17
- java-version : [ 17 ]
18
- browser : ['googlechromeheadless', 'firefoxheadless', 'edgeheadless']
19
- include :
20
- - os : ubuntu-latest
21
- set_display : export DISPLAY=:99; Xvfb :99 -screen 0 1024x768x24 -ac -noreset & sleep 3
22
- install_dependencies : |
23
- curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg
24
- sudo install -o root -g root -m 644 microsoft.gpg /etc/apt/trusted.gpg.d/
25
- sudo sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/edge stable main" > /etc/apt/sources.list.d/microsoft-edge-dev.list'
26
- sudo rm microsoft.gpg
27
- sudo apt update
28
- sudo apt-get -y -q install xvfb zip curl microsoft-edge-beta
29
- - os : windows-latest
30
- install_dependencies : choco install firefox googlechrome curl zip -y --no-progress
31
- - os : macos-latest
32
- install_dependencies : |
33
- brew install --cask firefox
34
- brew install --cask google-chrome
35
- brew install --cask microsoft-edge
36
- brew install zip
37
- brew install curl
38
- exclude :
39
- - os : macos-latest
40
- browser : firefoxheadless # Webdriver download if not working with Firefox at GHA
41
- java-version : 8
13
+ # build_and_test:
14
+ # strategy:
15
+ # fail-fast: false
16
+ # matrix:
17
+ # os: [ 'ubuntu-latest', 'macos-latest', 'windows-latest' ]
18
+ # java-version: [ 17 ]
19
+ # browser: ['googlechromeheadless', 'firefoxheadless', 'edgeheadless']
20
+ # include:
21
+ # - os: ubuntu-latest
22
+ # set_display: export DISPLAY=:99; Xvfb :99 -screen 0 1024x768x24 -ac -noreset & sleep 3
23
+ # install_dependencies: |
24
+ # curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg
25
+ # sudo install -o root -g root -m 644 microsoft.gpg /etc/apt/trusted.gpg.d/
26
+ # sudo sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/edge stable main" > /etc/apt/sources.list.d/microsoft-edge-dev.list'
27
+ # sudo rm microsoft.gpg
28
+ # sudo apt update
29
+ # sudo apt-get -y -q install xvfb zip curl microsoft-edge-beta
30
+ # - os: windows-latest
31
+ # install_dependencies: choco install firefox googlechrome curl zip -y --no-progress
32
+ # - os: macos-latest
33
+ # install_dependencies: |
34
+ # brew install --cask firefox
35
+ # brew install --cask google-chrome
36
+ # brew install --cask microsoft-edge
37
+ # brew install zip
38
+ # brew install curl
39
+ # exclude:
40
+ # - os: macos-latest
41
+ # browser: firefoxheadless # Webdriver download if not working with Firefox at GHA
42
+ # java-version: 8
42
43
43
- runs-on : ${{ matrix.os }}
44
- name : Test on ${{ matrix.os }} with Java ${{ matrix.java-version }} using browser ${{ matrix.browser }}
45
- steps :
46
- - uses : actions/checkout@v4
47
- - name : Set up JDK ${{ matrix.java-version }}
48
- uses : actions/setup-java@v4
49
- with :
50
- distribution : zulu
51
- java-version : ${{ matrix.java-version }}
52
- java-package : jdk+fx # needed for jbrowser
53
- - name : Set up other dependencies
54
- run : |
55
- ${{ matrix.install_dependencies }}
56
- ${{ matrix.set_display }}
57
- - name : Build with Maven
58
- run : |
59
- mvn -B -ntp -q verify --file pom.xml -P 'build,${{ matrix.browser }}'
60
- - name : Delete output.xml (on Win)
61
- run : |
62
- Get-ChildItem target/robotframework-reports -Include *output.xml -Recurse | Remove-Item
63
- echo "REPORT_FILE=$(Get-ChildItem target/robotframework-reports -Include *report.html -Recurse -Name)" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
64
- echo "SHA=$(("${{ github.event_name }}" -eq "push") ? '${{ github.sha }}' : '${{ github.event.pull_request.head.sha }}')" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
65
- if : always() && runner.os == 'Windows'
44
+ # runs-on: ${{ matrix.os }}
45
+ # name: Test on ${{ matrix.os }} with Java ${{ matrix.java-version }} using browser ${{ matrix.browser }}
46
+ # steps:
47
+ # - uses: actions/checkout@v4
48
+ # - name: Set up JDK ${{ matrix.java-version }}
49
+ # uses: actions/setup-java@v4
50
+ # with:
51
+ # distribution: zulu
52
+ # java-version: ${{ matrix.java-version }}
53
+ # java-package: jdk+fx # needed for jbrowser
54
+ # - name: Set up other dependencies
55
+ # run: |
56
+ # ${{ matrix.install_dependencies }}
57
+ # ${{ matrix.set_display }}
58
+ # - name: Build with Maven
59
+ # run: |
60
+ # mvn -B -ntp -q verify --file pom.xml -P 'build,${{ matrix.browser }}'
61
+ # - name: Delete output.xml (on Win)
62
+ # run: |
63
+ # Get-ChildItem target/robotframework-reports -Include *output.xml -Recurse | Remove-Item
64
+ # echo "REPORT_FILE=$(Get-ChildItem target/robotframework-reports -Include *report.html -Recurse -Name)" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
65
+ # echo "SHA=$(("${{ github.event_name }}" -eq "push") ? '${{ github.sha }}' : '${{ github.event.pull_request.head.sha }}')" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
66
+ # if: always() && runner.os == 'Windows'
66
67
67
- - name : Delete output.xml (on Unix-like)
68
- run : |
69
- find target/robotframework-reports -type f -name '*output.xml' -exec rm {} +
70
- echo "REPORT_FILE=$(find target/robotframework-reports -type f -name '*report.html' | sed 's#.*/##')" >> $GITHUB_ENV
71
- echo "SHA=$([ "${{ github.event_name }}" == "push" ] && echo "${{ github.sha }}" || echo "${{ github.event.pull_request.head.sha }}")" >> $GITHUB_ENV
72
- if : always() && runner.os != 'Windows'
68
+ # - name: Delete output.xml (on Unix-like)
69
+ # run: |
70
+ # find target/robotframework-reports -type f -name '*output.xml' -exec rm {} +
71
+ # echo "REPORT_FILE=$(find target/robotframework-reports -type f -name '*report.html' | sed 's#.*/##')" >> $GITHUB_ENV
72
+ # echo "SHA=$([ "${{ github.event_name }}" == "push" ] && echo "${{ github.sha }}" || echo "${{ github.event.pull_request.head.sha }}")" >> $GITHUB_ENV
73
+ # if: always() && runner.os != 'Windows'
73
74
74
- - name : Print actual triggering commit
75
- run : echo "${{ env.SHA }}"
75
+ # - name: Print actual triggering commit
76
+ # run: echo "${{ env.SHA }}"
76
77
77
- - name : Archive acceptances test results
78
- uses : actions/upload-artifact@v4
79
- with :
80
- name : at-results-${{ matrix.browser }}-${{ matrix.os }}-${{ matrix.java-version }}
81
- path : target/robotframework-reports
82
- if : always() && job.status == 'failure'
78
+ # - name: Archive acceptances test results
79
+ # uses: actions/upload-artifact@v4
80
+ # with:
81
+ # name: at-results-${{ matrix.browser }}-${{ matrix.os }}-${{ matrix.java-version }}
82
+ # path: target/robotframework-reports
83
+ # if: always() && job.status == 'failure'
83
84
84
- - name : Upload results on failure
85
- id : upload_results
86
- run : |
87
- echo '<html><head><meta http-equiv = "refresh" content =" 0 ; url = /${{ env.REPORT_FILE }}"></head></html>' > target/robotframework-reports/index.html
88
- zip -r -j site.zip target/robotframework-reports > no_output 2>&1
89
- curl -s -H "Content-Type: application/zip" -H "Authorization: Bearer ${{ secrets.NETLIFY_TOKEN }}" --data-binary "@site.zip" https://api.netlify.com/api/v1/sites > response.json
90
- echo "::set-output name=REPORT_URL::$(cat response.json|python -c "import sys, json; print('https://' + json.load(sys.stdin)['subdomain'] + '.netlify.com')")"
91
- echo "::set-output name=JOB_STATUS::$(python -c "print('${{ job.status }}'.lower())")"
92
- if : always() && job.status == 'failure'
85
+ # - name: Upload results on failure
86
+ # id: upload_results
87
+ # run: |
88
+ # echo '<html><head><meta http-equiv = "refresh" content =" 0 ; url = /${{ env.REPORT_FILE }}"></head></html>' > target/robotframework-reports/index.html
89
+ # zip -r -j site.zip target/robotframework-reports > no_output 2>&1
90
+ # curl -s -H "Content-Type: application/zip" -H "Authorization: Bearer ${{ secrets.NETLIFY_TOKEN }}" --data-binary "@site.zip" https://api.netlify.com/api/v1/sites > response.json
91
+ # echo "::set-output name=REPORT_URL::$(cat response.json|python -c "import sys, json; print('https://' + json.load(sys.stdin)['subdomain'] + '.netlify.com')")"
92
+ # echo "::set-output name=JOB_STATUS::$(python -c "print('${{ job.status }}'.lower())")"
93
+ # if: always() && job.status == 'failure'
93
94
94
- - uses : octokit/request-action@dad4362715b7fb2ddedf9772c8670824af564f0d # v2.4.0
95
- name : Update status with Github Status API
96
- id : update_status_pr
97
- with :
98
- route : POST /repos/{repository}/statuses/{sha}
99
- repository : ${{ github.repository }}
100
- sha : " ${{env.SHA}}"
101
- state : " ${{steps.upload_results.outputs.JOB_STATUS}}"
102
- target_url : " ${{steps.upload_results.outputs.REPORT_URL}}"
103
- description : " Link to test report."
104
- context : at-results-${{ matrix.browser }}-${{ matrix.os }}-${{ matrix.java-version }}
105
- env :
106
- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
107
- if : always() && job.status == 'failure'
95
+ # - uses: octokit/request-action@dad4362715b7fb2ddedf9772c8670824af564f0d #v2.4.0
96
+ # name: Update status with Github Status API
97
+ # id: update_status_pr
98
+ # with:
99
+ # route: POST /repos/{repository}/statuses/{sha}
100
+ # repository: ${{ github.repository }}
101
+ # sha: "${{env.SHA}}"
102
+ # state: "${{steps.upload_results.outputs.JOB_STATUS}}"
103
+ # target_url: "${{steps.upload_results.outputs.REPORT_URL}}"
104
+ # description: "Link to test report."
105
+ # context: at-results-${{ matrix.browser }}-${{ matrix.os }}-${{ matrix.java-version }}
106
+ # env:
107
+ # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
108
+ # if: always() && job.status == 'failure'
108
109
109
110
release :
110
- needs : [build_and_test]
111
+ # needs: [build_and_test]
111
112
if : github.event_name == 'push'
112
113
runs-on : ubuntu-latest
113
114
name : Release package
@@ -119,10 +120,9 @@ jobs:
119
120
distribution : zulu
120
121
java-version : 17
121
122
- name : Release Maven package
122
- run :
123
- echo $GPG_PRIVATE_KEY > .m2/private-key.txt
124
- gpg --import --batch .m2/private-key.txt
125
- rm .m2/private-key.txt
123
+ run : |
124
+ export GPG_TTY=$(tty)
125
+ echo -n "$GPG_PRIVATE_KEY" | gpg --import
126
126
mvn clean deploy --batch-mode --activate-profiles deploy --settings ${{ github.workspace }}/.m2/settings.xml -DskipTests -B -ntp
127
127
env :
128
128
GPG_PRIVATE_KEY : ${{ secrets.gpg_private_key }}
0 commit comments