Skip to content

🤗 Javet v3.1.6 (#388) #6

🤗 Javet v3.1.6 (#388)

🤗 Javet v3.1.6 (#388) #6

name: Linux Build (1/2) Base Images
on:
workflow_dispatch:
inputs:
skip_base_jvm:
default: false
type: boolean
skip_base_v8:
default: false
type: boolean
skip_base_node:
default: false
type: boolean
push:
paths:
- '.github/workflows/**'
- 'docker/**'
- 'scripts/python/**'
- 'scripts/shell/**'
env:
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
DOCKERHUB_REPO_JAVET: ${{ secrets.DOCKERHUB_REPO_JAVET }}
JAVET_NODE_VERSION: 20.17.0
JAVET_V8_VERSION: 12.8.374.17
JAVET_VERSION: 3.1.6
# if we skip a job using a job level `if` condition, then any dependent jobs also don't run.
# we can skip a step of the job, using a step level `if` condition.
# however GitHub doesn't support skipping all subsequent steps of a job.
# we need to add the condition to every step.
jobs:
publish_jvm_base_image:
name: Publish Ubuntu, Build Tools and JDK 8 Base Image
runs-on: ubuntu-latest
steps:
- name: Login to Docker Hub
if: inputs.skip_base_jvm == false
uses: docker/login-action@f4ef78c080cd8ba55a85445d5b36e214a81df20a
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_ACCESS_TOKEN }}
- name: Checkout the code
if: inputs.skip_base_jvm == false
uses: actions/checkout@v4
- name: Build Ubuntu, Build Tools and JDK 8 Base Image
if: inputs.skip_base_jvm == false
run: |
export BASE_JVM_IMAGE_TAG=${{ env.DOCKERHUB_USERNAME }}/${{ env.DOCKERHUB_REPO_JAVET }}:x86_64-base-jvm
docker build \
-t ${BASE_JVM_IMAGE_TAG} \
-f docker/linux-x86_64/base_jvm.Dockerfile .
- name: Publish Ubuntu, Build Tools and JDK 8 Base Image
if: inputs.skip_base_jvm == false
run: |
export BASE_JVM_IMAGE_TAG=${{ env.DOCKERHUB_USERNAME }}/${{ env.DOCKERHUB_REPO_JAVET }}:x86_64-base-jvm
docker push ${BASE_JVM_IMAGE_TAG}
publish_node_base_image:
needs: [publish_jvm_base_image]
name: Publish Node.js Base Image
runs-on: ubuntu-latest
steps:
- name: Login to Docker Hub
if: inputs.skip_base_node == false
uses: docker/login-action@f4ef78c080cd8ba55a85445d5b36e214a81df20a
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_ACCESS_TOKEN }}
- name: Checkout the code
if: inputs.skip_base_node == false
uses: actions/checkout@v4
- name: Build Node.js Base Image
if: inputs.skip_base_node == false
run: |
export BASE_NODE_IMAGE_TAG=${{ env.DOCKERHUB_USERNAME }}/${{ env.DOCKERHUB_REPO_JAVET }}:x86_64-base-node_${{ env.JAVET_NODE_VERSION }}
docker build \
-t ${BASE_NODE_IMAGE_TAG} \
--build-arg JAVET_REPO=${{ env.DOCKERHUB_USERNAME }}/${{ env.DOCKERHUB_REPO_JAVET }} \
--build-arg JAVET_NODE_VERSION=${{ env.JAVET_NODE_VERSION }} \
-f docker/linux-x86_64/base_node.Dockerfile .
- name: Publish Node.js Base Image
if: inputs.skip_base_node == false
run: |
export BASE_NODE_IMAGE_TAG=${{ env.DOCKERHUB_USERNAME }}/${{ env.DOCKERHUB_REPO_JAVET }}:x86_64-base-node_${{ env.JAVET_NODE_VERSION }}
docker push ${BASE_NODE_IMAGE_TAG}
publish_v8_base_image:
needs: [publish_jvm_base_image]
name: Publish V8 Base Image
runs-on: ubuntu-latest
steps:
- name: Login to Docker Hub
if: inputs.skip_base_v8 == false
uses: docker/login-action@f4ef78c080cd8ba55a85445d5b36e214a81df20a
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_ACCESS_TOKEN }}
- name: Checkout the code
if: inputs.skip_base_v8 == false
uses: actions/checkout@v4
- name: Build V8 Base Image
if: inputs.skip_base_v8 == false
run: |
export BASE_V8_IMAGE_TAG=${{ env.DOCKERHUB_USERNAME }}/${{ env.DOCKERHUB_REPO_JAVET }}:x86_64-base-v8_${{ env.JAVET_V8_VERSION }}
docker build \
-t ${BASE_V8_IMAGE_TAG} \
--build-arg JAVET_REPO=${{ env.DOCKERHUB_USERNAME }}/${{ env.DOCKERHUB_REPO_JAVET }} \
--build-arg JAVET_V8_VERSION=${{ env.JAVET_V8_VERSION }} \
-f docker/linux-x86_64/base_v8.Dockerfile .
- name: Publish V8 Base Image
if: inputs.skip_base_v8 == false
run: |
export BASE_V8_IMAGE_TAG=${{ env.DOCKERHUB_USERNAME }}/${{ env.DOCKERHUB_REPO_JAVET }}:x86_64-base-v8_${{ env.JAVET_V8_VERSION }}
docker push ${BASE_V8_IMAGE_TAG}
publish_gradle_base_image:
needs: [publish_jvm_base_image]
name: Publish Gradle Base Image
runs-on: ubuntu-latest
steps:
- name: Login to Docker Hub
uses: docker/login-action@f4ef78c080cd8ba55a85445d5b36e214a81df20a
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_ACCESS_TOKEN }}
- name: Checkout the code
uses: actions/checkout@v4
- name: Build Gradle Base Image
run: |
export BASE_GRADLE_IMAGE_TAG=${{ env.DOCKERHUB_USERNAME }}/${{ env.DOCKERHUB_REPO_JAVET }}:x86_64-${{ env.JAVET_VERSION }}
docker build \
-t ${BASE_GRADLE_IMAGE_TAG} \
--build-arg JAVET_REPO=${{ env.DOCKERHUB_USERNAME }}/${{ env.DOCKERHUB_REPO_JAVET }} \
-f docker/linux-x86_64/base_gradle.Dockerfile .
- name: Publish Gradle Base Image
run: |
export BASE_GRADLE_IMAGE_TAG=${{ env.DOCKERHUB_USERNAME }}/${{ env.DOCKERHUB_REPO_JAVET }}:x86_64-${{ env.JAVET_VERSION }}
docker push ${BASE_GRADLE_IMAGE_TAG}