diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 10006eca..5bb9461c 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,26 +1,41 @@ name: Build repo on: - repository_dispatch: - types: [trigger-build] + push: + branches: ["main"] + workflow_run: + workflows: ["Pull Request Labeler"] + types: + - completed jobs: build: - if: | - github.event.client_payload.pr_number && - contains(github.event.client_payload.labels, 'licenses') == false && - ( - contains(github.event.client_payload.labels, 'Front End') || - contains(github.event.client_payload.labels, 'Java') || - contains(github.event.client_payload.labels, 'Back End') || - contains(github.event.client_payload.labels, 'Security') || - contains(github.event.client_payload.labels, 'API') || - contains(github.event.client_payload.labels, 'Docker') || - contains(github.event.client_payload.labels, 'Test') - ) + if: github.event_name == 'push' && github.ref == 'refs/heads/main' || + (github.event_name == 'workflow_run' && + contains(github.event.workflow_run.pull_request.labels.*.name, 'licenses') == false && + ( + contains(github.event.workflow_run.pull_request.labels.*.name, 'Front End') || + contains(github.event.workflow_run.pull_request.labels.*.name, 'Java') || + contains(github.event.workflow_run.pull_request.labels.*.name, 'Back End') || + contains(github.event.workflow_run.pull_request.labels.*.name, 'Security') || + contains(github.event.workflow_run.pull_request.labels.*.name, 'API') || + contains(github.event.workflow_run.pull_request.labels.*.name, 'Docker') || + contains(github.event.workflow_run.pull_request.labels.*.name, 'Test') + ) + ) runs-on: ubuntu-latest + permissions: + actions: read + contents: read + security-events: write + + strategy: + fail-fast: false + matrix: + jdk-version: [17, 21] + steps: - name: Checkout repository uses: actions/checkout@v4 @@ -40,18 +55,19 @@ jobs: run: ./gradlew build --no-build-cache docker-compose-tests: - if: | - github.event.client_payload.pr_number && - contains(github.event.client_payload.labels, 'licenses') == false && - ( - contains(github.event.client_payload.labels, 'Front End') || - contains(github.event.client_payload.labels, 'Java') || - contains(github.event.client_payload.labels, 'Back End') || - contains(github.event.client_payload.labels, 'Security') || - contains(github.event.client_payload.labels, 'API') || - contains(github.event.client_payload.labels, 'Docker') || - contains(github.event.client_payload.labels, 'Test') - ) + if: github.event_name == 'push' && github.ref == 'refs/heads/main' || + (github.event_name == 'pull_request' && + contains(github.event.pull_request.labels.*.name, 'licenses') == false && + ( + contains(github.event.pull_request.labels.*.name, 'Front End') || + contains(github.event.pull_request.labels.*.name, 'Java') || + contains(github.event.pull_request.labels.*.name, 'Back End') || + contains(github.event.pull_request.labels.*.name, 'Security') || + contains(github.event.pull_request.labels.*.name, 'API') || + contains(github.event.pull_request.labels.*.name, 'Docker') || + contains(github.event.pull_request.labels.*.name, 'Test') + ) + ) runs-on: ubuntu-latest