Release/0.14.0#54
Merged
Merged
Conversation
# Conflicts: # gradle.properties
This is to support deployments of forge (via cumulus-tf) on ARM-based Macs
Upgraded Terraform null provider to v3.2.0
This workflow automatically: - Adds new issues and PRs to the podaac project - Sets their status to 'needs:triage' Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This workflow automatically, when team label is assigned to an issue: - Set podaac project status to triage - Assign to the team github project when it exists, with a New status. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This workflow automatically, when team label is assigned to an issue: - Set podaac project status to triage - Assign to the team github project when it exists, with a New status. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This workflow is being removed from the organization. Co-Authored-By: Claude (claude-sonnet-4.5) <noreply@anthropic.com>
This workflow is being deployed across the organization. Co-Authored-By: Claude (claude-sonnet-4.5) <noreply@anthropic.com>
This workflow is being deployed across the organization. Co-Authored-By: Claude (claude-sonnet-4.5) <noreply@anthropic.com>
This workflow is being removed from the organization. Co-Authored-By: Claude (claude-sonnet-4.5) <noreply@anthropic.com>
This workflow is being deployed across the organization. Co-Authored-By: Claude (claude-sonnet-4.5) <noreply@anthropic.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Feature/java21
Feature/java21
jamesfwood
approved these changes
Jul 1, 2026
Contributor
There was a problem hiding this comment.
Pull request overview
This PR updates Forge’s release/automation and build toolchain to modern versions (Java 21, Gradle 8.8), adds GitHub org/project triage workflows, and adjusts Terraform/Docker packaging to match the updated runtime.
Changes:
- Upgrade runtime/tooling to Java 21 + Gradle 8.8 (build, Docker, Lambda runtime, docs).
- Add GitHub Actions workflows for org project automation (add-to-project, team assignment, close-status).
- Update Terraform provider declarations and supporting build/release automation.
Reviewed changes
Copilot reviewed 14 out of 16 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
terraform/main.tf |
Switches to source = hashicorp/* provider syntax (needs version pinning). |
terraform/forge.tf |
Updates Lambda runtime to java21. |
src/test/java/gov/nasa/podaac/forge/FootprintHandlerTest.java |
Refactors URL-path test to use a writable temp output file and updates mocks. |
src/main/java/gov/nasa/podaac/forge/FootprintHandler.java |
Centralizes footprint output env lookups into helper methods. |
README.md |
Updates local Java requirement to 21. |
gradle/wrapper/gradle-wrapper.properties |
Bumps Gradle wrapper to 8.8. |
gradle.properties |
Bumps project version to 0.14.0-rc.1. |
docker/Dockerfile |
Moves container build/runtime to Corretto 21 on AL2023; updates Gradle + message adapter download. |
CHANGELOG.md |
Adds “Unreleased” section and 0.14.0 notes. |
build.gradle |
Updates plugins/dependencies for Gradle 8+, enables Java toolchains (21), updates Jacoco config and build tasks. |
.github/workflows/release-created.yml |
Updates release workflow to Java 21/Gradle 8.8 and newer actions. |
.github/workflows/org-team-assignment.yml |
New workflow to triage issues into org/team projects based on team:* labels. |
.github/workflows/org-close-pr-status.yml |
New workflow to set project status to closed when PR closes. |
.github/workflows/org-add-to-project.yml |
New workflow to auto-add new issues/PRs to the org project and set needs:triage. |
.github/workflows/build.yml |
Updates CI to Java 21/Gradle 8.8 and newer actions; retains Terraform deploy step. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Comment on lines
+3
to
+13
| RUN yum -y update | ||
| RUN yum install -y wget | ||
| RUN yum install -y unzip | ||
| RUN yum install -y /usr/sbin/adduser | ||
|
|
||
| # AL2023 uses dnf | ||
| RUN dnf -y update \ | ||
| && dnf -y install wget unzip shadow-utils tar gzip python3.12 \ | ||
| && dnf clean all | ||
|
|
||
| RUN dnf install -y findutils && dnf clean all |
Comment on lines
+51
to
+55
| // 1. Initialize the temp folder | ||
| tempFolder.create(); | ||
|
|
||
| @Test | ||
| public void testPerformFunctionURL() throws Exception { | ||
| ClassLoader classLoader = getClass().getClassLoader(); | ||
|
|
Comment on lines
+308
to
312
| String footprintBucketName = getFootprintOutputBucket(); | ||
| String footprintDirectory = getFootprintOutputDir(); | ||
| // wrote a local working directory | ||
| File f = new File(Paths.get(workingDir, granuleId + ".fp").toString()); | ||
| FileUtils.writeStringToFile(f, outJsonString, StandardCharsets.UTF_8.name()); |
Comment on lines
11
to
+15
| required_providers { | ||
| aws = ">= 3.0" | ||
| null = "~> 2.1" | ||
| } | ||
| } | ||
|
|
||
| provider "aws" { | ||
| region = var.region | ||
| profile = var.profile | ||
|
|
||
| ignore_tags { | ||
| key_prefixes = ["gsfc-ngap"] | ||
| aws = { | ||
| source = "hashicorp/aws" | ||
| } | ||
| null = { |
Comment on lines
+69
to
+71
| // Mocking S3 | ||
| final AmazonS3 amazonS3 = Mockito.mock(AmazonS3.class); | ||
| // Ensure all mocks return valid, non-null strings |
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request introduces significant improvements and updates to the project's automation workflows, dependency versions, and documentation. The most notable changes are the automation of project and team triage for issues and pull requests, upgrades to Java and Gradle versions, and updates to the CI/CD pipeline to use the latest GitHub Actions. These updates streamline the development and release process, improve team workflow visibility, and ensure compatibility with modern tooling.
Automation and Workflow Enhancements:
.github/workflows/org-add-to-project.ymlto automatically add new issues and PRs to the main PODAAC project and set their status to "needs:triage" for better external feedback tracking..github/workflows/org-close-pr-status.ymlto automatically update the status of closed PRs in the PODAAC project to "closed", reducing manual triage..github/workflows/org-team-assignment.ymlto automate issue triage by team label, updating the main project status to "triaged" and adding issues to corresponding team projects if they exist.CI/CD and Dependency Upgrades:
actions/checkout,actions/setup-java,gradle/actions/setup-gradle,docker/build-push-action,hashicorp/setup-terraform,ncipollo/release-action) to their latest major versions in.github/workflows/build.ymland.github/workflows/release-created.yml. [1] [2] [3] [4] [5] [6]Documentation Updates:
README.mdto reflect the requirement for Java 21 for running the local jar.CHANGELOG.mddocumenting the Java 21 and Gradle 8.8 upgrade, cumulus message adapter update, and terraform changes for cumulus consolidation.