ci(actions): use ubuntu-latest label; add auto-merge job gated by success (requires GITEA_TOKEN secret)
This commit is contained in:
@@ -12,14 +12,31 @@ concurrency:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build_test_package:
|
build_test_package:
|
||||||
runs-on: self-hosted
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Show Java and Maven versions
|
- name: Show Java and Maven versions
|
||||||
run: |
|
run: |
|
||||||
java -version
|
java -version
|
||||||
mvn -v
|
mvn -v
|
||||||
# Gitea act_runner provides the repo workspace by default.
|
|
||||||
- name: Build and test
|
- name: Build and test
|
||||||
run: mvn -B -DskipTests=false clean verify
|
run: mvn -B -DskipTests=false clean verify
|
||||||
- name: Package
|
- name: Package
|
||||||
run: mvn -B -DskipTests clean package
|
run: mvn -B -DskipTests clean package
|
||||||
|
|
||||||
|
auto_merge:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
needs: build_test_package
|
||||||
|
if: ${{ github.event_name == 'pull_request' && needs.build_test_package.result == 'success' }}
|
||||||
|
steps:
|
||||||
|
- name: Auto-merge PR on success
|
||||||
|
env:
|
||||||
|
GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }}
|
||||||
|
PR_NUMBER: ${{ github.event.pull_request.number }}
|
||||||
|
REPO: ${{ github.repository }}
|
||||||
|
run: |
|
||||||
|
if [ -z "$GITEA_TOKEN" ]; then
|
||||||
|
echo "GITEA_TOKEN not set, skipping auto-merge"; exit 0;
|
||||||
|
fi
|
||||||
|
curl -sS -H "Authorization: token $GITEA_TOKEN" -H 'Content-Type: application/json' \
|
||||||
|
-X POST "http://localhost:3000/api/v1/repos/${REPO}/pulls/${PR_NUMBER}/merge" \
|
||||||
|
-d '{"Do":"squash","delete_branch_after_merge":true}'
|
||||||
|
|||||||
Reference in New Issue
Block a user