name: Build repo on: push: branches: ["main"] workflow_run: workflows: ["Pull Request Labeler"] types: - completed jobs: build: 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 - name: Set up JDK ${{ matrix.jdk-version }} uses: actions/setup-java@v4 with: java-version: ${{ matrix.jdk-version }} distribution: "temurin" - 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_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 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