From 09c93cebe3c0d1bb0f731b6a45ada0d7003ce796 Mon Sep 17 00:00:00 2001 From: Anthony Stirling <77850077+Frooodle@users.noreply.github.com> Date: Fri, 16 Aug 2024 12:00:10 +0200 Subject: [PATCH] PR changes (#1693) * Update licenses-update.yml * Update build.yml * Update test.yml * Delete .github/workflows/test.yml * Update build.yml * Update build.yml * Update auto-labeler.yml * Update build.yml * Update auto-labeler.yml * Update labeler-config.yml --- .github/labeler-config.yml | 4 ++ .github/workflows/auto-labeler.yml | 13 ++++- .github/workflows/build.yml | 84 ++++++++++++++++++++++----- .github/workflows/licenses-update.yml | 9 +++ .github/workflows/test.yml | 47 --------------- 5 files changed, 93 insertions(+), 64 deletions(-) delete mode 100644 .github/workflows/test.yml diff --git a/.github/labeler-config.yml b/.github/labeler-config.yml index d96a2a19..a6cce904 100644 --- a/.github/labeler-config.yml +++ b/.github/labeler-config.yml @@ -47,3 +47,7 @@ Test: - changed-files: - any-glob-to-any-file: 'cucumber/**/*' - any-glob-to-any-file: 'src/test**/*' + +Github: + - changed-files: + - any-glob-to-any-file: '.github/**/*' diff --git a/.github/workflows/auto-labeler.yml b/.github/workflows/auto-labeler.yml index 6ade1de4..d962b03c 100644 --- a/.github/workflows/auto-labeler.yml +++ b/.github/workflows/auto-labeler.yml @@ -8,11 +8,22 @@ jobs: permissions: contents: read pull-requests: write + workflows: write runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - uses: actions/labeler@v5 + + - name: Apply Labels + uses: actions/labeler@v5 with: repo-token: ${{ secrets.GITHUB_TOKEN }} configuration-path: .github/labeler-config.yml sync-labels: true + + - name: Trigger Build Workflow + run: | + curl -X POST \ + -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \ + -H "Accept: application/vnd.github+json" \ + https://api.github.com/repos/${{ github.repository }}/dispatches \ + -d '{"event_type": "trigger-build", "client_payload": {"pr_number": "${{ github.event.pull_request.number }}"}}' diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index de3b3569..10006eca 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,36 +1,88 @@ -name: "Build repo" +name: Build repo on: - push: - branches: ["main"] - pull_request: - branches: ["main"] + repository_dispatch: + types: [trigger-build] 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') + ) + runs-on: ubuntu-latest - permissions: - actions: read - contents: read - security-events: write - - strategy: - fail-fast: false - steps: - name: Checkout repository uses: actions/checkout@v4 - - name: Set up JDK 17 + - name: Set up JDK ${{ matrix.jdk-version }} uses: actions/setup-java@v4 with: - java-version: "17" + java-version: ${{ matrix.jdk-version }} distribution: "temurin" - - uses: gradle/actions/setup-gradle@v3 + - name: Set up Gradle + uses: gradle/actions/setup-gradle@v3 with: gradle-version: 8.7 - name: Build with Gradle 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') + ) + + runs-on: ubuntu-latest + + steps: + - name: Checkout Repository + uses: actions/checkout@v4 + + - name: Set up Java 17 + uses: actions/setup-java@v4 + with: + java-version: "17" + distribution: "adopt" + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Install Docker Compose + run: | + sudo curl -SL "https://github.com/docker/compose/releases/download/v2.29.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose + sudo chmod +x /usr/local/bin/docker-compose + + - name: Set up Python + uses: actions/setup-python@v4 + with: + python-version: "3.7" + + - name: Pip requirements + run: | + pip install -r ./cucumber/requirements.txt + + - name: Run Docker Compose Tests + run: | + chmod +x ./test.sh + ./test.sh diff --git a/.github/workflows/licenses-update.yml b/.github/workflows/licenses-update.yml index a3996bc6..594a0017 100644 --- a/.github/workflows/licenses-update.yml +++ b/.github/workflows/licenses-update.yml @@ -58,5 +58,14 @@ jobs: body: | Auto-generated by [create-pull-request][1] [1]: https://github.com/peter-evans/create-pull-request + labels: licenses draft: false delete-branch: true + + + - name: Enable auto-merge + uses: peter-evans/enable-pull-request-automerge@v2 + with: + token: ${{ secrets.GITHUB_TOKEN }} + pull-request-number: ${{ steps.create-pull-request.outputs.pull-request-number }} + merge-method: squash # Choose the merge method: merge, squash, or rebase diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml deleted file mode 100644 index c4a4ff31..00000000 --- a/.github/workflows/test.yml +++ /dev/null @@ -1,47 +0,0 @@ -name: Docker Compose Tests - -on: - pull_request: - paths: - - "src/**" - - "**.gradle" - - "!src/main/java/resources/messages*" - - "exampleYmlFiles/**" - - "Dockerfile" - - "Dockerfile**" - -jobs: - test: - runs-on: ubuntu-latest - - steps: - - name: Checkout Repository - uses: actions/checkout@v4 - - - name: Set up Java 17 - uses: actions/setup-java@v4 - with: - java-version: "17" - distribution: "adopt" - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - - - name: Install Docker Compose - run: | - sudo curl -SL "https://github.com/docker/compose/releases/download/v2.29.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose - sudo chmod +x /usr/local/bin/docker-compose - - - name: Set up Python - uses: actions/setup-python@v4 - with: - python-version: "3.7" - - - name: Pip requirements - run: | - pip install -r ./cucumber/requirements.txt - - - name: Run Docker Compose Tests - run: | - chmod +x ./test.sh - ./test.sh