diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 000000000..701b6d3a1 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,69 @@ +name: Building Java SDK + +on: [push] + +jobs: + build: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + - name: Set up JDK + uses: actions/setup-java@v3 + with: + java-version: '21' + distribution: 'temurin' + cache: maven + - name: Build with Maven + run: mvn -B -DskipITs clean package javadoc:javadoc --file pom.xml + + # Optional: Uploads the full dependency graph to GitHub to improve the quality of Dependabot alerts this repository can receive + - name: Update dependency graph + uses: advanced-security/maven-dependency-submission-action@571e99aab1055c2e71a1e2309b9691de18d6b7d6 + + e2e-tests: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - name: Set up JDK + uses: actions/setup-java@v3 + with: + java-version: '21' + distribution: 'temurin' + cache: maven + - name: Checkout sinch-sdk-mockserver repository + uses: actions/checkout@v3 + with: + repository: sinch/sinch-sdk-mockserver + token: ${{ secrets.MOCKSERVER_REPO_PAT_CI }} + fetch-depth: 0 + path: sinch-sdk-mockserver + + - name: Build custom Docker image + run: | + cd sinch-sdk-mockserver + docker build -t sinch-sdk-mockserver -f Dockerfile . + + - name: Install Docker Compose + run: | + sudo apt-get update + sudo apt-get install -y docker-compose + + - name: Start mock servers with Docker Compose + run: | + cd sinch-sdk-mockserver + docker-compose up -d + + - name: Wait for the mock servers to be healthy + run: | + cd sinch-sdk-mockserver + . ./scripts/healthcheck.sh + + - name: Link to feature files + run: | + ln -s ${{ github.workspace }}/sinch-sdk-mockserver/features client/src/test/resources + + - name: Run e2e tests + run: mvn -B -DskipUTs -Dspotless.check.skip=true verify --file pom.xml diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml deleted file mode 100644 index 9c732b62a..000000000 --- a/.github/workflows/maven.yml +++ /dev/null @@ -1,23 +0,0 @@ -name: Java CI with Maven - -on: [push] - -jobs: - build: - - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v3 - - name: Set up JDK - uses: actions/setup-java@v3 - with: - java-version: '21' - distribution: 'temurin' - cache: maven - - name: Build with Maven - run: mvn -B clean package verify javadoc:javadoc --file pom.xml - - # Optional: Uploads the full dependency graph to GitHub to improve the quality of Dependabot alerts this repository can receive - - name: Update dependency graph - uses: advanced-security/maven-dependency-submission-action@571e99aab1055c2e71a1e2309b9691de18d6b7d6 diff --git a/.github/workflows/samples-compilation.yaml b/.github/workflows/samples-compilation.yaml index 7ec7c8f84..b75c59ab4 100644 --- a/.github/workflows/samples-compilation.yaml +++ b/.github/workflows/samples-compilation.yaml @@ -17,7 +17,7 @@ jobs: cache: maven - name: Building run: | - mvn clean verify install -DskipTests=true -Dspotless.apply.skip=true + mvn clean install -DskipTests=true -Dspotless.apply.skip=true cd sample-app mvn -B clean package mvn -B -f pom-webhooks.xml clean package