From 3511cab89b145e5f87961a58c0e21dab6f744ba8 Mon Sep 17 00:00:00 2001 From: Rain Ramm Date: Wed, 8 Oct 2025 12:21:54 +0300 Subject: [PATCH 1/5] Actions fix --- .github/workflows/build.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index f90462e..3292b57 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -2,7 +2,7 @@ name: Build & Publish Docker Images on: push: - branches: [ main ] + branches: [ main, ci-fix ] workflow_dispatch: {} permissions: @@ -52,6 +52,7 @@ jobs: for v in "${JDK8[@]}"; do VERSIONS+=("\"${v}-jdk8\""); done JSON=$(printf '%s\n' "${VERSIONS[@]}" | jq -s .) + echo $JSON echo "matrix={\"version\":$JSON}" >> "$GITHUB_OUTPUT" build-and-push: From 3257eb9a475969ff163e14a95de61eb107afb17b Mon Sep 17 00:00:00 2001 From: Rain Ramm Date: Wed, 8 Oct 2025 12:25:10 +0300 Subject: [PATCH 2/5] Actions fix --- .github/workflows/build.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 3292b57..e58625f 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -45,13 +45,13 @@ jobs: ) VERSIONS=() - for v in "${JDK25[@]}"; do VERSIONS+=("\"${v}-jdk25\""); done - for v in "${JDK21[@]}"; do VERSIONS+=("\"${v}-jdk21\""); done - for v in "${JDK17[@]}"; do VERSIONS+=("\"${v}-jdk17\""); done - for v in "${JDK11[@]}"; do VERSIONS+=("\"${v}-jdk11\""); done - for v in "${JDK8[@]}"; do VERSIONS+=("\"${v}-jdk8\""); done + for v in "${JDK25[@]}"; do VERSIONS+=("${v}-jdk25"); done + for v in "${JDK21[@]}"; do VERSIONS+=("${v}-jdk21"); done + for v in "${JDK17[@]}"; do VERSIONS+=("${v}-jdk17"); done + for v in "${JDK11[@]}"; do VERSIONS+=("${v}-jdk11"); done + for v in "${JDK8[@]}"; do VERSIONS+=("${v}-jdk8"); done - JSON=$(printf '%s\n' "${VERSIONS[@]}" | jq -s .) + JSON=$(printf '%s\n' "${VERSIONS[@]}" | jq -R -s -c 'split("\n")[:-1]') echo $JSON echo "matrix={\"version\":$JSON}" >> "$GITHUB_OUTPUT" From f5e2512a3ef58c856877655ff3ea239d4eed7eb5 Mon Sep 17 00:00:00 2001 From: Rain Ramm Date: Wed, 8 Oct 2025 13:15:00 +0300 Subject: [PATCH 3/5] Reduce updates versions, make unzip quieter --- .github/workflows/build.yml | 10 +++++----- Dockerfile | 4 +++- README.md | 4 ++-- 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index e58625f..9c97f0f 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -28,20 +28,21 @@ jobs: shell: bash run: | # Define Gradle versions per JDK in compact arrays to avoid a huge YAML matrix + # Keep only major tag and latest patch version in that major. Gradle does not republish patch versions. JDK25=( 9 9.1.0 ) JDK21=( - 8 8.6 8.7 8.8 8.9 8.10 8.10.1 8.10.2 8.11.0 8.11.1 8.12.0 8.12.1 8.13 8.14.0 8.14.1 8.14.2 8.14.3 9 9.0.0 9.1.0 + 8 8.14.3 9 9.1.0 ) JDK17=( - 8 8.0 8.1 8.2 8.3 8.4 8.5 8.6 8.7 8.8 8.9 8.10 8.10.1 8.10.2 8.11.0 8.11.1 8.12.0 8.12.1 8.13 8.14.0 8.14.1 8.14.2 8.14.3 9 9.0.0 9.1.0 + 8 8.14.3 9 9.1.0 ) JDK11=( - 8 8.0 8.1 8.2 8.3 8.4 8.5 8.6 8.7 8.8 8.9 8.10 8.10.1 8.10.2 8.11.0 8.11.1 8.12.0 8.12.1 8.13 8.14.0 8.14.1 8.14.2 8.14.3 + 8 8.14.3 ) JDK8=( - 8.14.3 + 8 8.14.3 ) VERSIONS=() @@ -52,7 +53,6 @@ jobs: for v in "${JDK8[@]}"; do VERSIONS+=("${v}-jdk8"); done JSON=$(printf '%s\n' "${VERSIONS[@]}" | jq -R -s -c 'split("\n")[:-1]') - echo $JSON echo "matrix={\"version\":$JSON}" >> "$GITHUB_OUTPUT" build-and-push: diff --git a/Dockerfile b/Dockerfile index 03a6e84..c89ee50 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,13 +1,15 @@ ARG VERSION=latest FROM gradle:${VERSION} +LABEL maintainer="Bitweb " + ARG TARGETARCH RUN if [ "$TARGETARCH" = "arm64" ]; then \ curl -sSL "https://awscli.amazonaws.com/awscli-exe-linux-aarch64.zip" -o "awscliv2.zip"; \ else \ curl -sSL "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"; \ fi && \ - unzip awscliv2.zip && \ + unzip -q awscliv2.zip && \ ./aws/install && \ rm awscliv2.zip && \ rm -rf aws/ && \ diff --git a/README.md b/README.md index 3539509..f0e97c1 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ elsewhere as well. `amd64` and `arm64` architectures are supported at this moment. -Maintained by: [Bitweb OÜ](https://bitweb.ee). Updates are published every Sunday. +Maintained by: [Bitweb OÜ](https://bitweb.ee). # Supported tags @@ -14,7 +14,7 @@ Only Gradle versions supported by [Gradle](https://endoflife.date/gradle) are pu Supported Java versions: 8, 11, 17, 21, 25. -If the version you need is not listed, or you need different architecture, please contact Bitweb at [tech@bitweb.ee](mailto:tech@bitweb.ee). +If the version you need is not available, or you need different architecture, please contact Bitweb at [tech@bitweb.ee](mailto:tech@bitweb.ee). # Usage in Bitbucket Pipelines From 7b9cd95a1320b99e572e675c101b6a34b5975c6c Mon Sep 17 00:00:00 2001 From: Rain Ramm Date: Wed, 8 Oct 2025 13:39:16 +0300 Subject: [PATCH 4/5] Reduce updates versions, make unzip quieter --- .github/workflows/build.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 9c97f0f..7e77428 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,8 +1,9 @@ name: Build & Publish Docker Images on: + pull_request: push: - branches: [ main, ci-fix ] + branches: [ main ] workflow_dispatch: {} permissions: @@ -56,6 +57,7 @@ jobs: echo "matrix={\"version\":$JSON}" >> "$GITHUB_OUTPUT" build-and-push: + if: github.ref == 'refs/heads/main' name: ${{ matrix.version }} runs-on: ubuntu-latest env: @@ -87,7 +89,7 @@ jobs: with: context: . platforms: linux/amd64,linux/arm64 -# push: true + push: true build-args: | VERSION=${{ matrix.version }} tags: | From 4e2a22025a4896293a6faed71a3c491e8678d880 Mon Sep 17 00:00:00 2001 From: Rain Ramm Date: Wed, 8 Oct 2025 16:46:42 +0300 Subject: [PATCH 5/5] Readme updates --- LICENSE.md | 10 ++++++++++ README.md | 33 ++++++--------------------------- 2 files changed, 16 insertions(+), 27 deletions(-) create mode 100644 LICENSE.md diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 0000000..c9e2978 --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,10 @@ +View license information for [Gradle](https://gradle.org/license/) and [aws-cli v2](https://github.com/aws/aws-cli/blob/develop/LICENSE.txt). + +As with all Docker images, these likely also contain other software which may be under other licenses (such as Bash, etc +from the base distribution, along with any direct or indirect dependencies of the primary software being contained). + +As for any pre-built image usage, it is the image user's responsibility to ensure that any use of this image complies +with any relevant licenses for all software contained within. + +THIS PROJECT IS NOT ENDORSED IN ANY WAY BY AMAZON OR GRADLE. +ALL TRADEMARKS AND COPYRIGHT BELONG TO THEIR RESPECTIVE OWNERS. diff --git a/README.md b/README.md index f0e97c1..72d7504 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ Maintained by: [Bitweb OÜ](https://bitweb.ee). # Supported tags -Only Gradle versions supported by [Gradle](https://endoflife.date/gradle) are published. +Only Gradle versions actively supported by [Gradle](https://endoflife.date/gradle) are published. Supported Java versions: 8, 11, 17, 21, 25. @@ -36,37 +36,16 @@ It's recommended to specify only major version, this way you'll stay up-to-date ## Deployment -Deployment is done automatically to Docker Hub from master branch. Updates are automatically done every Sunday. +Deployment is done automatically to Docker Hub from main branch. Updates are made when new Gradle versions are published. New Gradle/JDK versions need to be added manually. -Tags with patch versions will not be tolerated and provided. - ## Adding a new version (tag) -1. Create a new Pipeline step (in `bitbcuket-pipelines.yml`), that extends base step and specifies deployment name and -description. Deployment name must follow the following convention: _{gradle-version}-{jdk-version}_ Dots are not -allowed, so remove them: 7.3-jdk11 -> 73-jdk11 -2. Add the step to master list -3. Update readme -4. Create the deployment environment in production [Bitbucket Pipelines](https://bitbucket.org/bitwebou/infra-docker-gradle-awscli/admin/pipelines/deployment-settings) -5. Add deployment variable with name _VERSION_ and value as tag name from base Gradle image -6. Push and validate -7. Update README in Docker Hub. Skip _Deployment_ and _Adding a new version_ headings. +1. Add new version to respective JDK arrays in [build workflow](https://github.com/BitWeb/docker-gradle-awscli/blob/main/.github/workflows/build.yml) +2. Update readme when needed (new Gradle major version or JDK) +3. Create a PR with changes # License -View license information for [Gradle](https://gradle.org/license/) and [aws-cli v2](https://github.com/aws/aws-cli/blob/develop/LICENSE.txt). - -As with all Docker images, these likely also contain other software which may be under other licenses (such as Bash, etc -from the base distribution, along with any direct or indirect dependencies of the primary software being contained). - -As for any pre-built image usage, it is the image user's responsibility to ensure that any use of this image complies -with any relevant licenses for all software contained within. - -THIS PROJECT IS NOT ENDORSED IN ANY WAY BY AMAZON OR GRADLE. -ALL TRADEMARKS AND COPYRIGHT BELONG TO THEIR RESPECTIVE OWNERS. - -# TODO - -* `latest` tag (needs separating gradle image and our image tag in deployment) +See [LICENSE.MD](https://github.com/BitWeb/docker-gradle-awscli/blob/main/LICENSE.MD)