diff --git a/.github/workflows/autoupdate-pr.yml b/.github/workflows/autoupdate-pr.yml new file mode 100644 index 00000000..185ab949 --- /dev/null +++ b/.github/workflows/autoupdate-pr.yml @@ -0,0 +1,39 @@ +name: Autoupdate PR +on: + push: + branches: + - main + +jobs: + update_pull_requests: + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + with: + token: ${{ secrets.DISPATCH_ACCESS_TOKEN }} + + - name: Set up Git + run: | + git config --global user.name 'box-sdk-build' + git config --global user.email 'box-sdk-build@box.com' + + - name: Fetch all branches and tags + run: git fetch --prune --unshallow + + - name: Auto update pull requests + run: | + PR_LIST=$(curl -s -H "Authorization: Bearer ${{ secrets.DISPATCH_ACCESS_TOKEN }}" "https://api.github.com/repos/$GITHUB_REPOSITORY/pulls?state=open" | jq -r '.[] | .head.ref') + for pr_branch in $PR_LIST; do + git checkout "$pr_branch" + if git merge origin/main; then + git push + else + # Conflict occurred, resolve by keeping our changes + git checkout --ours . + git add . + git commit -m "Auto resolve conflict by keeping our changes" + git push + fi + done diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 00000000..a7228000 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,26 @@ +name: build +on: + pull_request: + types: [ opened, synchronize ] + push: + branches: + - main +jobs: + build-and-test: + runs-on: ubuntu-latest + strategy: + matrix: + distribution: [ 'zulu', 'temurin' ] + java: [ '8', '11', '17' ] + name: Java ${{ matrix.java }} (${{ matrix.distribution }}) + steps: + - name: Checkout + uses: actions/checkout@v2 + - name: Setup Java + uses: actions/setup-java@v2 + with: + distribution: ${{ matrix.distribution }} + java-version: ${{ matrix.java }} + cache: 'gradle' + - name: Build and test + run: ./gradlew check --stacktrace diff --git a/.github/workflows/spell-check-lint.yml b/.github/workflows/spell-check-lint.yml new file mode 100644 index 00000000..d2cad31c --- /dev/null +++ b/.github/workflows/spell-check-lint.yml @@ -0,0 +1,21 @@ +name: spell-check-lint +on: + pull_request_target: + types: [opened, synchronize, edited] + branches: + - main +jobs: + spellcheck-request-title: + runs-on: ubuntu-latest + steps: + - name: Checkout current repository + uses: actions/checkout@v2 + - name: Checkout spellchecker + uses: actions/checkout@v2 + with: + ref: refs/heads/main + repository: box/box-sdk-spellchecker + token: ${{ secrets.DISPATCH_ACCESS_TOKEN }} + path: spellchecker + - name: Execute spellchecker + uses: ./spellchecker