apparently I took out the labeler #531
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Android CI (PR) | |
on: | |
pull_request: | |
branches: | |
- main | |
workflow_dispatch: # Allow manual triggering | |
concurrency: | |
group: build-pr-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
test_secrets: | |
runs-on: ubuntu-latest | |
env: | |
TEST_SECRET: ${{ secrets.TEST_SECRET }} | |
steps: | |
- name: Test Secrets | |
run: | | |
echo "$TEST_SECRET" | |
build_and_detekt: | |
if: github.repository == 'meshtastic/Meshtastic-Android' && github.head_ref != 'scheduled-updates' | |
uses: ./.github/workflows/reusable-android-build.yml | |
secrets: inherit | |
androidTest: | |
# Assuming androidTest should also only run for the main repository | |
if: github.repository == 'meshtastic/Meshtastic-Android' && github.head_ref != 'scheduled-updates' | |
uses: ./.github/workflows/reusable-android-test.yml | |
with: | |
api_levels: '[35]' # Run only on API 35 for PRs | |
# upload_artifacts defaults to true, so no need to explicitly set | |
secrets: | |
GRADLE_ENCRYPTION_KEY: ${{ secrets.GRADLE_ENCRYPTION_KEY }} | |
check-workflow-status: | |
name: Check Workflow Status | |
runs-on: ubuntu-latest | |
needs: | |
[ | |
build_and_detekt, | |
androidTest | |
] | |
if: always() | |
steps: | |
- name: Check Workflow Status | |
run: | | |
exit_on_result() { | |
if [[ "$2" == "failure" || "$2" == "cancelled" ]]; then | |
echo "Job '$1' failed or was cancelled." | |
exit 1 | |
fi | |
} | |
exit_on_result "build_and_detekt" "${{ needs.build_and_detekt.result }}" | |
exit_on_result "androidTest" "${{ needs.androidTest.result }}" | |
labeler: | |
permissions: | |
contents: read | |
pull-requests: write | |
continue-on-error: true | |
runs-on: ubuntu-latest | |
steps: | |
- id: label-the-PR | |
uses: actions/labeler@v5 | |
check-label: | |
runs-on: ubuntu-latest | |
needs: | |
[ | |
check-workflow-status, | |
labeler | |
] | |
if: always() | |
steps: | |
- name: Check for PR labels | |
uses: actions/github-script@v7 | |
with: | |
script: | | |
const labels = context.payload.pull_request.labels.map(label => label.name); | |
const requiredLabels = ['bugfix', 'enhancement', 'automation', 'dependencies', 'repo', 'release']; | |
const hasRequiredLabel = labels.some(label => requiredLabels.includes(label)); | |
console.log(labels); | |
if (!hasRequiredLabel) { | |
core.setFailed(`PR must have at least one of the following labels before it can be merged: ${requiredLabels.join(', ')}.`); | |
} |