diff --git a/.github/workflows/dev_pr.js b/.github/workflows/dev_pr.js index 13acc946e..05c3a0c8d 100644 --- a/.github/workflows/dev_pr.js +++ b/.github/workflows/dev_pr.js @@ -122,15 +122,20 @@ module.exports = { const title = context.payload.pull_request.title; if (title.startsWith("MINOR: ")) { console.log("PR is a minor PR"); - return {"issue": null}; + return {"issue": null, "type": "minor"}; } - const match = title.match(/^GH-([0-9]+): .*$/); + const match = title.match(/^(GH|DX)-([0-9]+): .*$/); if (match === null) { - core.setFailed("Invalid PR title format. Must either be MINOR: or GH-NNN:"); - return {"issue": null}; + core.setFailed("Invalid PR title format. Must either be MINOR:, GH-NNN:, or DX-NNN:"); + return {"issue": null, "type": null}; } - return {"issue": parseInt(match[1], 10)}; + + const issueType = match[1]; // "GH" or "DX" + const issueNumber = parseInt(match[2], 10); + + console.log(`PR references ${issueType}-${issueNumber}`); + return {"issue": issueNumber, "type": issueType}; }, apply_labels: async function({core, github, context}) { @@ -203,9 +208,28 @@ See [CONTRIBUTING.md](https://github.com/apache/arrow-java/blob/main/CONTRIBUTIN console.log("This is a MINOR PR"); return; } - const expected = `https://github.com/apache/arrow-java/issues/${issue.issue}`; - const query = ` + // Handle Jira tickets (DX-NNN) + if (issue.type === "DX") { + const jiraUrl = `https://dremio.atlassian.net/browse/DX-${issue.issue}`; + console.log(`This PR references Jira ticket: ${jiraUrl}`); + + // Add a comment with the Jira link + const comment_tag = "jira_link_comment"; + const maybe_comment_id = await have_comment(github, context, context.payload.pull_request.number, comment_tag); + const body_text = ` +**Related Jira Ticket:** [DX-${issue.issue}](${jiraUrl})`; + + await upsert_comment(github, maybe_comment_id, body_text, true); + console.log("Added/updated Jira link comment"); + return; + } + + // Handle GitHub issues (GH-NNN) + if (issue.type === "GH") { + const expected = `https://github.com/apache/arrow-java/issues/${issue.issue}`; + + const query = ` query($owner: String!, $name: String!, $number: Int!) { repository(owner: $owner, name: $name) { pullRequest(number: $number) { @@ -220,22 +244,23 @@ query($owner: String!, $name: String!, $number: Int!) { } }`; - const result = await github.graphql(query, { - owner: context.repo.owner, - name: context.repo.repo, - number: context.payload.pull_request.number, - }); - const issues = result.repository.pullRequest.closingIssuesReferences.edges; - console.log(issues); - - for (const link of issues) { - console.log(`PR is linked to ${link.node.number}`); - if (link.node.number === issue.issue) { - console.log(`Found link to ${expected}`); - return; + const result = await github.graphql(query, { + owner: context.repo.owner, + name: context.repo.repo, + number: context.payload.pull_request.number, + }); + const issues = result.repository.pullRequest.closingIssuesReferences.edges; + console.log(issues); + + for (const link of issues) { + console.log(`PR is linked to ${link.node.number}`); + if (link.node.number === issue.issue) { + console.log(`Found link to ${expected}`); + return; + } } + console.log(`Did not find link to ${expected}`); + core.setFailed("Missing link to issue in title"); } - console.log(`Did not find link to ${expected}`); - core.setFailed("Missing link to issue in title"); }, }; diff --git a/ci/scripts/jni_macos_build.sh b/ci/scripts/jni_macos_build.sh index a9c5603cc..341b315ba 100755 --- a/ci/scripts/jni_macos_build.sh +++ b/ci/scripts/jni_macos_build.sh @@ -84,7 +84,7 @@ case "${vcpkg_arch}" in arm64) vcpkg_triplet="arm64-osx" ;; -i386|x86_64) +i386 | x86_64) vcpkg_triplet="x64-osx" ;; *) diff --git a/ci/scripts/jni_manylinux_build.sh b/ci/scripts/jni_manylinux_build.sh index 0c63fc340..c56d1d5c8 100755 --- a/ci/scripts/jni_manylinux_build.sh +++ b/ci/scripts/jni_manylinux_build.sh @@ -26,19 +26,19 @@ set -euo pipefail . "$(dirname "${0}")/util_log.sh" github_actions_group_begin "Update llvm" - vcpkg install \ - --debug \ - --clean-after-build \ - --x-install-root=${VCPKG_ROOT}/installed \ - --x-manifest-root=/arrow/ci/vcpkg \ - --overlay-ports=/arrow/ci/vcpkg/overlay/llvm/ \ - --x-feature=dev \ - --x-feature=flight \ - --x-feature=gcs \ - --x-feature=json \ - --x-feature=parquet \ - --x-feature=gandiva \ - --x-feature=s3 +vcpkg install \ + --debug \ + --clean-after-build \ + --x-install-root=${VCPKG_ROOT}/installed \ + --x-manifest-root=/arrow/ci/vcpkg \ + --overlay-ports=/arrow/ci/vcpkg/overlay/llvm/ \ + --x-feature=dev \ + --x-feature=flight \ + --x-feature=gcs \ + --x-feature=json \ + --x-feature=parquet \ + --x-feature=gandiva \ + --x-feature=s3 github_actions_group_end github_actions_group_begin "Prepare arguments" diff --git a/vector/src/main/codegen/templates/UnionListWriter.java b/vector/src/main/codegen/templates/UnionListWriter.java index 80383254f..4b5473923 100644 --- a/vector/src/main/codegen/templates/UnionListWriter.java +++ b/vector/src/main/codegen/templates/UnionListWriter.java @@ -340,12 +340,12 @@ public void writeExtension(Object value) { writer.writeExtension(value, extensionType); writer.setPosition(writer.idx() + 1); } - + @Override public void writeExtension(Object value, ArrowType type) { writeExtension(value); } - + public void write(ExtensionHolder var1) { writer.write(var1); writer.setPosition(writer.idx() + 1);