diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 5b882e9..5fbfb01 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -2,11 +2,20 @@ name: Build on: push: + branches: [main] + paths-ignore: ['**.md', 'docs/**'] pull_request: + paths-ignore: ['**.md', 'docs/**'] + +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: true jobs: build: + if: github.event_name != 'pull_request' || !github.event.pull_request.draft runs-on: ubuntu-latest + timeout-minutes: 15 steps: - uses: actions/checkout@v4 - name: Leak check (emails and build output; private terms are only checked locally) diff --git a/.github/workflows/leak-check.yml b/.github/workflows/leak-check.yml new file mode 100644 index 0000000..9a0123b --- /dev/null +++ b/.github/workflows/leak-check.yml @@ -0,0 +1,21 @@ +name: Leak check + +# Every change, docs included: the build skips docs-only changes, and README or docs text is where a stray +# email address most often slips in. A few seconds on ubuntu, no Gradle. +on: + push: + branches: [main] + pull_request: + +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: true + +jobs: + leak-check: + if: github.event_name != 'pull_request' || !github.event.pull_request.draft + runs-on: ubuntu-latest + timeout-minutes: 5 + steps: + - uses: actions/checkout@v4 + - run: bash scripts/leak-check.sh diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 4f75400..08069de 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -7,9 +7,14 @@ on: permissions: contents: write +concurrency: + group: release-${{ github.ref }} + cancel-in-progress: false + jobs: release: runs-on: ubuntu-latest + timeout-minutes: 20 steps: - uses: actions/checkout@v4 - uses: actions/setup-java@v4