Skip to content

Commit 03ab2d4

Browse files
committed
Merge branch 'develop'
2 parents 09bc49e + f04fe5b commit 03ab2d4

File tree

989 files changed

+35262
-25377
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

989 files changed

+35262
-25377
lines changed

.github/workflows/maven-build.yml

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
name: maven-build
2+
3+
on:
4+
push:
5+
branches: [ master, develop ]
6+
pull_request:
7+
branches: [ develop ]
8+
9+
jobs:
10+
build:
11+
timeout-minutes: 10
12+
runs-on: ubuntu-20.04
13+
steps:
14+
- name: git checkout
15+
uses: actions/checkout@v2
16+
- name: set up jdk 8
17+
uses: actions/setup-java@v1
18+
with:
19+
java-version: 1.8
20+
- name: cache maven packages
21+
uses: actions/cache@v2
22+
with:
23+
path: ~/.m2
24+
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
25+
restore-keys: ${{ runner.os }}-m2
26+
- name: build with maven
27+
run: mvn -B clean install -P pre-release -Djavacpp.platform=linux-x86_64
28+
- name: build and test with docker
29+
run: ./build-docker.sh
Lines changed: 152 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,152 @@
1+
name: Make the release
2+
on:
3+
workflow_dispatch:
4+
inputs:
5+
newMasterVersion:
6+
description: 'The new version to set in master branch'
7+
required: true
8+
9+
env:
10+
MAVEN_CLI_OPTS: ${{ '-Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn' }}
11+
12+
jobs:
13+
maven-package:
14+
runs-on: ubuntu-latest
15+
steps:
16+
-
17+
name: Install xmlstarlet
18+
run: sudo apt install xmlstarlet
19+
-
20+
name: Checkout master
21+
uses: actions/checkout@v2
22+
with:
23+
ref : master
24+
-
25+
name: Setup Java
26+
uses: actions/setup-java@v1
27+
with:
28+
java-version: 8
29+
-
30+
name: Generate Maven settings.xml file
31+
32+
with:
33+
servers: '[{"id": "ossrh", "username": "${{ secrets.SERVERUSERNAME }}", "password": "${{ secrets.SERVERPASSWORD }}"}]'
34+
sonatypeSnapshots: true
35+
githubServer: true
36+
override: true
37+
-
38+
name: Set release version
39+
run: |
40+
KARATE_VERSION=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout)
41+
mvn ${{ env.MAVEN_CLI_OPTS }} versions:set -DnewVersion=${{ github.event.inputs.newMasterVersion }}
42+
xmlstarlet ed -L -N N="http://maven.apache.org/POM/4.0.0" -u "/N:project//N:properties/N:karate.version" -v ${{ github.event.inputs.newMasterVersion }} examples/jobserver/pom.xml
43+
sed -i "s/karateVersion = '.*'/karateVersion = '${{ github.event.inputs.newMasterVersion }}'/" examples/jobserver/build.gradle
44+
xmlstarlet ed -L -N N="http://maven.apache.org/POM/4.0.0" -u "/N:project//N:properties/N:karate.version" -v ${{ github.event.inputs.newMasterVersion }} examples/gatling/pom.xml
45+
sed -i "s/karateVersion = '.*'/karateVersion = '${{ github.event.inputs.newMasterVersion }}'/" examples/gatling/build.gradle
46+
xmlstarlet ed -L -N N="http://maven.apache.org/POM/4.0.0" -u "/N:project//N:properties/N:karate.version" -v ${{ github.event.inputs.newMasterVersion }} examples/consumer-driven-contracts/pom.xml
47+
xmlstarlet ed -L -N N="http://maven.apache.org/POM/4.0.0" -u "/N:project//N:properties/N:karate.version" -v ${{ github.event.inputs.newMasterVersion }} examples/mobile-test/pom.xml
48+
xmlstarlet ed -L -N N="http://maven.apache.org/POM/4.0.0" -u "/N:project//N:properties/N:karate.version" -v ${{ github.event.inputs.newMasterVersion }} examples/mock-servlet/pom.xml
49+
xmlstarlet ed -L -N N="http://maven.apache.org/POM/4.0.0" -u "/N:project//N:properties/N:karate.version" -v ${{ github.event.inputs.newMasterVersion }} examples/robot-test/pom.xml
50+
xmlstarlet ed -L -N N="http://maven.apache.org/POM/4.0.0" -u "/N:project//N:properties/N:karate.version" -v ${{ github.event.inputs.newMasterVersion }} examples/ui-test/pom.xml
51+
xmlstarlet ed -L -N N="http://maven.apache.org/POM/4.0.0" -u "/N:project//N:properties/N:karate.version" -v ${{ github.event.inputs.newMasterVersion }} karate-archetype/src/main/resources/archetype-resources/pom.xml
52+
sed -i "s/${KARATE_VERSION}/${{ github.event.inputs.newMasterVersion }}/" README.md
53+
mvn ${{ env.MAVEN_CLI_OPTS }} versions:commit
54+
-
55+
name: Main packages Maven deploy
56+
run: |
57+
mvn ${{ env.MAVEN_CLI_OPTS }} clean install -P pre-release,release -Dgpg.skip
58+
mvn -f examples/jobserver/pom.xml test-compile exec:java -Dexec.mainClass=common.Main -Dexec.classpathScope=test
59+
mvn -f examples/gatling/pom.xml test
60+
-
61+
name: Netty deploy
62+
run: |
63+
cd karate-netty
64+
mvn ${{ env.MAVEN_CLI_OPTS }} install -P fatjar
65+
cd ..
66+
-
67+
name: Robot deploy
68+
run: |
69+
cd karate-robot
70+
mvn ${{ env.MAVEN_CLI_OPTS }} install -P fatjar
71+
cd ..
72+
-
73+
name: Commit changes after the new version
74+
uses: stefanzweifel/[email protected]
75+
with:
76+
commit_message: Release ${{ github.event.inputs.newMasterVersion }}
77+
commit_user_name: ptrthomas
78+
commit_user_email: [email protected]
79+
commit_author: Peter Thomas <[email protected]>
80+
-
81+
name: Get new commit SHA
82+
run: |
83+
NEW_COMMIT_ID=$(git rev-parse --verify HEAD)
84+
echo "::set-env name=NEW_COMMIT_ID::$NEW_COMMIT_ID"
85+
-
86+
name: Create Release
87+
id: create_release
88+
uses: actions/[email protected]
89+
env:
90+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
91+
with:
92+
tag_name: v${{ github.event.inputs.newMasterVersion }}
93+
release_name: v${{ github.event.inputs.newMasterVersion }}
94+
commitish: ${{ env.NEW_COMMIT_ID }}
95+
draft: true
96+
prerelease: false
97+
-
98+
name: Upload Netty Release Asset
99+
id: upload-netty-release-asset
100+
uses: actions/upload-release-asset@v1
101+
env:
102+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
103+
with:
104+
upload_url: ${{ steps.create_release.outputs.upload_url }} # This pulls from the CREATE RELEASE step above, referencing it's ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps
105+
asset_path: ./karate-netty/target/karate-${{ github.event.inputs.newMasterVersion }}.zip
106+
asset_name: karate-${{ github.event.inputs.newMasterVersion }}.zip
107+
asset_content_type: application/zip
108+
-
109+
name: Upload Robot Release Asset
110+
id: upload-robot-release-asset
111+
uses: actions/upload-release-asset@v1
112+
env:
113+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
114+
with:
115+
upload_url: ${{ steps.create_release.outputs.upload_url }} # This pulls from the CREATE RELEASE step above, referencing it's ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps
116+
asset_path: ./karate-robot/target/karate-robot-${{ github.event.inputs.newMasterVersion }}.jar
117+
asset_name: karate-robot-${{ github.event.inputs.newMasterVersion }}.jar
118+
asset_content_type: application/java-archive
119+
-
120+
name: Prepare Docker Build
121+
run: |
122+
mkdir -p karate-docker/karate-chrome/target/repository
123+
mvn ${{ env.MAVEN_CLI_OPTS }} -Dmaven.repo.local=karate-docker/karate-chrome/target/repository clean install -DskipTests -P pre-release -Djavacpp.platform=linux-x86_64
124+
mvn ${{ env.MAVEN_CLI_OPTS }} -Dmaven.repo.local=karate-docker/karate-chrome/target/repository -f karate-netty/pom.xml install -DskipTests -P fatjar
125+
cp karate-netty/target/karate-${{ github.event.inputs.newMasterVersion }}.jar karate-docker/karate-chrome/target/karate.jar
126+
-
127+
name: Set up QEMU
128+
uses: docker/setup-qemu-action@v1
129+
-
130+
name: Set up Docker Buildx
131+
uses: docker/setup-buildx-action@v1
132+
-
133+
name: Login to DockerHub
134+
uses: docker/login-action@v1
135+
with:
136+
username: ${{ secrets.DOCKERHUB_USERNAME }}
137+
password: ${{ secrets.DOCKERHUB_TOKEN }}
138+
-
139+
name: Build and push
140+
id: docker_build
141+
uses: docker/build-push-action@v2
142+
with:
143+
push: true
144+
context: ./karate-docker/karate-chrome/
145+
file: ./karate-docker/karate-chrome/Dockerfile
146+
tags: |
147+
karate-chrome
148+
ptrthomas/karate-chrome:latest
149+
ptrthomas/karate-chrome:${{ github.event.inputs.newMasterVersion }}
150+
-
151+
name: Image digest
152+
run: echo ${{ steps.docker_build.outputs.digest }}

.gitignore

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ target/
55
.settings
66
.classpath
77
.vscode
8+
.java-version
89
*.iml
910
build/
1011
bin/
@@ -18,9 +19,9 @@ karate-demo/activemq-data/
1819
karate-demo/*.pem
1920
karate-demo/*.jks
2021
karate-demo/*.der
21-
karate-netty/*.pem
22-
karate-netty/*.jks
23-
karate-netty/*.der
22+
karate-core/*.pem
23+
karate-core/*.jks
24+
karate-core/*.der
2425
karate-robot/tessdata
2526
karate-junit4/src/test/java/com/intuit/karate/junit4/dev
2627
karate-robot/src/test/java/robot/dev

.travis.yml

Lines changed: 0 additions & 7 deletions
This file was deleted.

0 commit comments

Comments
 (0)