diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index 205707a59b..c997ee3cb3 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -1,43 +1,43 @@ -name: Check +name: Pull Request Workflow -# XXX disabled for now because we use Jenkins still, but at the time this was tested it was functional -# on: -# pull_request: -# branches: [ master ] +on: + pull_request: + branches: + - '*' # Trigger on all branches for pull requests jobs: - check: + build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 - - # Note: Actually we don't need Maven CLI, only Java 17, but this may have additional benefits due to the Maven cache - - name: Setup Maven - uses: s4u/setup-maven-action@v1.5.1 - with: - java-version: 17 - java-distribution: temurin - maven-version: 3.8.6 - - - name: Clean - run: ./build.sh clean - working-directory: ./build - - - name: Test (commitStage) - run: ./build.sh commitStage - # run: ./build.sh integrationStage - working-directory: ./build - - # https://github.com/marketplace/actions/junit-report-action - - name: Publish Test Report - uses: mikepenz/action-junit-report@v3 - if: always() # always run even if the previous step fails - with: - report_paths: 'build/target/testReports/*.xml' - - # TODO allure report? - # build/target/allure-results - - # TODO archive logs? - # build/target/testReports/*.out,build/target/testReports/*.err + - name: Checkout code + uses: actions/checkout@v4 + + - name: Setup Maven + uses: s4u/setup-maven-action@v1.5.1 + with: + java-version: 17 + java-distribution: temurin + maven-version: 3.8.6 + + - name: Clean + run: ./build.sh clean + working-directory: ./build + + - name: Test + run: ./build.sh commitStage + working-directory: ./build + + - name: Publish Test Report + uses: mikepenz/action-junit-report@v4 + if: always() # always run even if the previous step fails + with: + # fail if there are no test results + require_tests: true + + # Workaround for check that is additionally created being associated + # to the wrong workflow/run. Instead no additional check is created. + # See https://github.com/mikepenz/action-junit-report/issues/40 + annotate_only: true + detailed_summary: true + report_paths: 'build/target/testReports/*.xml' \ No newline at end of file diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml new file mode 100644 index 0000000000..ceace2013e --- /dev/null +++ b/.github/workflows/publish.yml @@ -0,0 +1,77 @@ +name: Master Branch Workflow + +on: + push: + branches: + #- master # Trigger on pushes to the master branch + - build/ING-4164 + workflow_dispatch: {} + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Setup Maven + uses: s4u/setup-maven-action@v1.5.1 + with: + java-version: 17 + java-distribution: temurin + maven-version: 3.8.6 + + - name: Login to Docker Hub + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKER_HUB_USERNAME }} + password: ${{ secrets.DOCKER_HUB_PASSWORD }} + + - name: Clean + run: ./build.sh clean + working-directory: ./build + + - name: Run Maven with custom options + run: mvn clean verify + + - name: Test + run: ./build.sh commitStage + working-directory: ./build + + - name: Product + run: ./build.sh product --arch x86_64 --os linux HALE + ./build.sh product --arch x86_64 --os windows HALE + ./build.sh product --arch x86_64 --os macosx HALE + ./build.sh product --arch x86_64 --os linux --publish Infocenter + working-directory: ./build + + - name: Install AWS CLI + uses: unfor19/install-aws-cli-action@v1 + with: + version: 1 + + - name: Update site + env: + AWS_ACCESS_KEY_ID: ${{ secrets.BUILD_ARCHIVE_ACCESS_KEY }} + AWS_SECRET_ACCESS_KEY: ${{ secrets.BUILD_ARCHIVE_SECRET_KEY }} + run: ./upload-site.sh + working-directory: ./build + + - name: Deploy Artifacts + run: ./build.sh deployArtifacts + working-directory: ./build + + - name: Publish Test Report + uses: mikepenz/action-junit-report@v4 + if: always() # always run even if the previous step fails + with: + # fail if there are no test results + require_tests: true + + # Workaround for check that is additionally created being associated + # to the wrong workflow/run. Instead no additional check is created. + # See https://github.com/mikepenz/action-junit-report/issues/40 + annotate_only: true + detailed_summary: true + report_paths: 'build/target/testReports/*.xml' diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000000..454b26c47c --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,59 @@ +name: Release Branch Workflow + +on: + push: + branches: + - release/* # Trigger on pushes to the master branch + workflow_dispatch: {} + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Setup Maven + uses: s4u/setup-maven-action@v1.5.1 + with: + java-version: 17 + java-distribution: temurin + maven-version: 3.8.6 + + - name: Clean + run: ./build.sh clean + working-directory: ./build + + - name: Test + run: ./build.sh integrationStage + working-directory: ./build + + - name: Product + run: ./build.sh product --arch x86_64 --os linux HALE + ./build.sh product --arch x86_64 --os windows HALE + ./build.sh product --arch x86_64 --os macosx HALE + ./build.sh product --arch x86_64 --os linux --publish Infocenter + working-directory: ./build + + - name: Update site + run: ./upload-site.sh + working-directory: ./build + + - name: Deploy Artifacts + run: ./build.sh deployArtifacts + working-directory: ./build + + - name: Publish Test Report + uses: mikepenz/action-junit-report@v4 + if: always() # always run even if the previous step fails + with: + # fail if there are no test results + require_tests: true + + # Workaround for check that is additionally created being associated + # to the wrong workflow/run. Instead no additional check is created. + # See https://github.com/mikepenz/action-junit-report/issues/40 + annotate_only: true + detailed_summary: true + report_paths: 'build/target/testReports/*.xml' \ No newline at end of file diff --git a/hale-docker.conf b/hale-docker.conf new file mode 100644 index 0000000000..492cfcc983 --- /dev/null +++ b/hale-docker.conf @@ -0,0 +1,3 @@ +global { + dockerHost="unix:///var/run/docker.sock" +} \ No newline at end of file