Skip to content

Merge pull request #125 from Jahia/QA-15178 #41

Merge pull request #125 from Jahia/QA-15178

Merge pull request #125 from Jahia/QA-15178 #41

Workflow file for this run

# This workflow is triggered every time a change is pushed to any branches
# Github actions command reference: https://docs.github.com/en/actions/learn-github-actions/workflow-syntax-for-github-actions
name: On merge to master
# The workflow could also be triggered on PRs
on:
push:
branches:
- "master"
tags-ignore:
- "**"
jobs:
update-signature:
name: Update module signature
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: jahia/jahia-modules-action/update-signature@v2
with:
nexus_username: ${{ secrets.NEXUS_USERNAME }}
nexus_password: ${{ secrets.NEXUS_PASSWORD }}
nexus_enterprise_releases_url: ${{ secrets.NEXUS_ENTERPRISE_RELEASES_URL }}
build:
name: Build Module
needs: update-signature
runs-on: ubuntu-latest
container:
image: jahia/cimg-mvn-cache:ga_cimg_openjdk_11.0.20-node
credentials:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_PASSWORD }}
steps:
- uses: actions/checkout@v4
- uses: jahia/jahia-modules-action/build@v2
with:
nexus_username: ${{ secrets.NEXUS_USERNAME }}
nexus_password: ${{ secrets.NEXUS_PASSWORD }}
module_id: siteSettings
sbom:
name: SBOM processing
needs: build
runs-on: ubuntu-latest
container:
image: cyclonedx/cyclonedx-cli:0.24.2
steps:
- uses: jahia/jahia-modules-action/sbom-processing@v2
with:
dependencytrack_hostname: ${{ vars.DEPENDENCYTRACK_HOSTNAME }}
dependencytrack_apikey: ${{ secrets.DEPENDENCYTRACK_APIKEY }}
sbom_artifacts: 'build-artifacts'
integration-tests-standalone:
name: Integration Tests
needs: build
# Use self-hosted if you want to run on our own runners
# you would typically want to use self-hosted runners for integration tests
runs-on: self-hosted
# Timeout is important as it forces the job to fail if it hangs for any reason,
# If not specified it will be left running until workflow run limit is reached (72h)
timeout-minutes: 45
steps:
# The helper is used to print instructions, such as how to connect to the runner.
# It should be defined as a workflow step (vs a step in an action itself) since some
# annotations are only posted upon completion of the step (i.e. you'd only see
# the connection instructions annotation posted once the integration tests are done)
- uses: jahia/jahia-modules-action/helper@v2
- uses: actions/checkout@v4
- uses: KengoTODA/actions-setup-docker-compose@main
with:
version: "1.29.2"
- uses: actions/setup-node@v4
with:
node-version: "lts/*"
- uses: jahia/jahia-modules-action/integration-tests@v2
with:
module_id: siteSettings
testrail_project: Site Settings Module
jahia_artifact_name: Integration-Tests-Standalone
tests_manifest: provisioning-manifest-build.yml
jahia_image: jahia/jahia-ee-dev:8-SNAPSHOT
should_use_build_artifacts: true
github_artifact_name: siteSettings-${{ github.run_number }}
jahia_artifact_name: siteSettings-${{ github.run_number }}

Check failure on line 86 in .github/workflows/on-merge.yml

View workflow run for this annotation

GitHub Actions / On merge to master

Invalid workflow file

The workflow is not valid. .github/workflows/on-merge.yml (Line: 86, Col: 11): 'jahia_artifact_name' is already defined

Check failure on line 86 in .github/workflows/on-merge.yml

View workflow run for this annotation

GitHub Actions / On merge to master

Invalid workflow file

The workflow is not valid. .github/workflows/on-merge.yml (Line: 86, Col: 11): 'jahia_artifact_name' is already defined
bastion_ssh_private_key: ${{ secrets.BASTION_SSH_PRIVATE_KEY_JAHIACI }}
jahia_license: ${{ secrets.JAHIA_LICENSE_8X_FULL }}
docker_username: ${{ secrets.DOCKERHUB_USERNAME }}
docker_password: ${{ secrets.DOCKERHUB_PASSWORD }}
nexus_username: ${{ secrets.NEXUS_USERNAME }}
nexus_password: ${{ secrets.NEXUS_PASSWORD }}
# Test report is useful when posting annotation if multiple similar jobs are performed
# For example, there could be one report for standalone and one report for cluster test
# It is not needed if there is only one type of integration tests within the workflow
tests_report_name: Test report (Standalone)
testrail_username: ${{ secrets.TESTRAIL_USERNAME }}
testrail_password: ${{ secrets.TESTRAIL_PASSWORD }}
incident_pagerduty_api_key: ${{ secrets.INCIDENT_PAGERDUTY_API_KEY }}
incident_pagerduty_reporter_email: ${{ secrets.INCIDENT_PAGERDUTY_REPORTER_EMAIL }}
incident_pagerduty_reporter_id: ${{ secrets.INCIDENT_PAGERDUTY_REPORTER_ID }}
incident_google_spreadsheet_id: ${{ secrets.INCIDENT_GOOGLE_SPREADSHEET_ID }}
incident_google_client_email: ${{ secrets.INCIDENT_GOOGLE_CLIENT_EMAIL }}
incident_google_api_key_base64: ${{ secrets.INCIDENT_GOOGLE_PRIVATE_KEY_BASE64 }}
zencrepes_secret: ${{ secrets.ZENCREPES_WEBHOOK_SECRET }}
- name: Test Report
uses: dorny/test-reporter@v1
if: success() || failure()
with:
name: Tests Report (Standalone)
path: tests/artifacts/results/xml_reports/**/*.xml
reporter: java-junit
fail-on-error: "false"
publish:
name: Publish module
needs: integration-tests-standalone
if: github.ref == 'refs/heads/master'
runs-on: ubuntu-latest
container:
image: jahia/cimg-mvn-cache:ga_cimg_openjdk_11.0.20-node
credentials:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_PASSWORD }}
steps:
- uses: actions/checkout@v4
- uses: jahia/jahia-modules-action/publish@v2
with:
nexus_username: ${{ secrets.NEXUS_USERNAME }}
nexus_password: ${{ secrets.NEXUS_PASSWORD }}