diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 23fce7b6974..38a05ffe971 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -2,6 +2,9 @@ name: CI Build on: pull_request: types: [opened, synchronize, reopened] + push: + branches: + - develop jobs: build-java: @@ -20,15 +23,18 @@ jobs: uses: gradle/gradle-build-action@v2 with: gradle-version: 8.1.1 + cache-read-only: ${{ github.ref != 'refs/heads/develop' }} arguments: build - name: Resolve OpenEMS bundles + if: ${{ github.ref != 'refs/heads/develop' }} uses: gradle/gradle-build-action@v2 with: gradle-version: 8.1.1 arguments: resolve - name: Validate Bndrun files + if: ${{ github.ref != 'refs/heads/develop' }} run: | git diff --exit-code io.openems.edge.application/EdgeApp.bndrun git diff --exit-code io.openems.backend.application/BackendApp.bndrun @@ -37,6 +43,7 @@ jobs: uses: gradle/gradle-build-action@v2 with: gradle-version: 8.1.1 + cache-read-only: ${{ github.ref != 'refs/heads/develop' }} arguments: jacocoTestReport - name: Summarize JaCoCo Report @@ -47,6 +54,7 @@ jobs: generate-summary: true - name: Generate JaCoCo Badge + if: ${{ github.ref != 'refs/heads/develop' }} id: jacoco-badge env: PR_NUMBER: ${{ github.event.number }} @@ -67,6 +75,7 @@ jobs: echo $PR_NUMBER > ./pr/pr_number - name: Save JaCoCo Report + if: ${{ github.ref != 'refs/heads/develop' }} uses: actions/upload-artifact@v3 with: name: pr_comment @@ -149,3 +158,38 @@ jobs: build/openems-edge.jar build/openems-backend.jar build/openems-ui.zip + + build-docs: + runs-on: ubuntu-latest + needs: [build-java] + if: ${{ github.ref == 'refs/heads/develop' }} + steps: + - uses: actions/checkout@v3 + + - name: Setup Java 17 + uses: actions/setup-java@v3 + with: + distribution: "temurin" + java-version: "17" + + - name: Build Javadocs + uses: gradle/gradle-build-action@v2 + with: + gradle-version: 8.1.1 + cache-read-only: true + arguments: buildAggregatedJavadocs --continue + + - name: Build Antora-docs for openems.io + uses: gradle/gradle-build-action@v2 + with: + gradle-version: 8.1.1 + cache-read-only: true + arguments: buildAntoraDocs --continue + + - name: Deploy to GitHub pages + uses: peaceiris/actions-gh-pages@v3 + with: + personal_token: ${{ secrets.DOCS }} + external_repository: OpenEMS/openems.io + publish_branch: master + publish_dir: build/www diff --git a/.github/workflows/develop.yml b/.github/workflows/develop.yml deleted file mode 100644 index 69664cbcd7a..00000000000 --- a/.github/workflows/develop.yml +++ /dev/null @@ -1,93 +0,0 @@ -name: Develop Build -on: - push: - branches: - - develop - -jobs: - build-docs: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - - name: Setup Java 17 - uses: actions/setup-java@v3 - with: - distribution: "temurin" - java-version: "17" - - - name: Build Javadocs - uses: gradle/gradle-build-action@v2 - with: - gradle-version: 8.1.1 - cache-read-only: false - arguments: buildAggregatedJavadocs --continue - - - name: Build Antora-docs for openems.io - uses: gradle/gradle-build-action@v2 - with: - gradle-version: 8.1.1 - cache-read-only: false - arguments: buildAntoraDocs --continue - - - name: Deploy to GitHub pages - uses: peaceiris/actions-gh-pages@v3 - with: - personal_token: ${{ secrets.DOCS }} - external_repository: OpenEMS/openems.io - publish_branch: master - publish_dir: build/www - - build-java: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - - name: Setup Java 17 - uses: actions/setup-java@v3 - with: - distribution: "temurin" - java-version: "17" - cache: "maven" - - - name: Build all Java packages - uses: gradle/gradle-build-action@v2 - with: - gradle-version: 8.1.1 - cache-read-only: false - arguments: build --rerun-tasks - - - name: Build JaCoCo Code-coverage-report - uses: gradle/gradle-build-action@v2 - with: - gradle-version: 8.1.1 - cache-read-only: false - arguments: jacocoTestReport - - - name: Summarize JaCoCo Report - uses: cicirello/jacoco-badge-generator@v2 - with: - jacoco-csv-file: "io.openems.*/generated/reports/jacoco/**/*.csv" - generate-summary: true - - build-ui: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - - name: Setup Node.js - uses: actions/setup-node@v3 - with: - node-version: "16" - cache: 'npm' - cache-dependency-path: ui/package-lock.json - - - name: Build OpenEMS UI - run: | - cd ui - npm ci --prefer-offline --cache .npm - node_modules/.bin/ng config cli.cache.path .ng - node_modules/.bin/ng build -c "openems,openems-edge-prod,prod" - node_modules/.bin/ng lint - export CHROME_BIN=/usr/bin/google-chrome-stable - npm run test -- --no-watch --no-progress --browsers=ChromeHeadlessCI \ No newline at end of file