🤗 Javet v3.1.6 (#388) #6
This file contains 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
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} |