diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 0000000..5915631 --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,63 @@ +name: ci + +on: + push: + branches: + - "*" # run for branches + tags: + - "*" # run for tags + pull_request: + branches: + - "*" # run for branches + tags: + - "*" # run for tags + +jobs: + test: + runs-on: ubuntu-latest + env: + GROUP: weaveworksdemos + COMMIT: ${{ github.sha }} + REPO: shipping + steps: + - uses: actions/checkout@v2 + + - name: Set up JDK 1.8 + uses: actions/setup-java@v1 + with: + java-version: 1.8 + + - name: Cache Maven packages + uses: actions/cache@v2 + with: + path: ~/.m2 + key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }} + restore-keys: ${{ runner.os }}-m2 + + - name: Build with Maven + run: mvn -B -DskipTests package --file pom.xml + + - name: Unit Tests + run: mvn -q test + + - name: Integration Tests + run: mvn integration-test + + # Upload coverage results to coveralls + - name: Submit Coveralls + env: + COVERALLS_TOKEN: ${{ secrets.COVERALLS_TOKEN }} + run: mvn -DrepoToken=${COVERALLS_TOKEN} -DserviceJobId=${GITHUB_RUN_ID} -Dbranch=${GITHUB_REF} -DpullRequest=${GITHUB_HEAD_REF} -DserviceName=GITHUB verify jacoco:report coveralls:report + + # Push to dockerhub + - name: Push to Docker Hub + uses: docker/build-push-action@v1 + if: startsWith(github.ref, 'refs/tags/v') || github.ref == 'refs/heads/master' + with: + username: ${{ secrets.DOCKER_USER }} + password: ${{ secrets.DOCKER_PASS }} + dockerfile: docker/shipping/Dockerfile + path: target/ + repository: ${{ env.GROUP }}/${{ env.REPO }} + tag_with_ref: true + tag_with_sha: true