Skip to content

rewrite dragonwell11 ci #20

rewrite dragonwell11 ci

rewrite dragonwell11 ci #20

Workflow file for this run

#
## Copyright (c) 2019 Alibaba Group Holding Limited. All Rights Reserved.
## DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
##
## This code is free software; you can redistribute it and/or modify it
## under the terms of the GNU General Public License version 2 only, as
## published by the Free Software Foundation. Alibaba designates this
## particular file as subject to the "Classpath" exception as provided
## by Oracle in the LICENSE file that accompanied this code.
##
## This code is distributed in the hope that it will be useful, but WITHOUT
## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
## version 2 for more details (a copy is included in the LICENSE file that
## accompanied this code).
##
## You should have received a copy of the GNU General Public License version
## 2 along with this work; if not, write to the Free Software Foundation,
## Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
##
name: 'Dragonwell GHA Sanity Checks'
on:
pull_request:
branches:
- master
push:
branches-ignore:
- pr/*
- dragonwell_extended-*
- dragonwell_standard-*
workflow_dispatch:
inputs:
platforms:
description: 'Platform(s) to execute on (comma separated, e.g. "linux-x64, macos, aarch64")'
required: true
#default: 'linux-x64, linux-cross-compile, windows-x64'
default: 'linux-x64'
configure-arguments:
description: 'Additional configure arguments'
required: false
make-arguments:
description: 'Additional make arguments'
required: false
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
###
### Determine platforms to include
###
prerequisites:
name: Prerequisites
uses: ./.github/workflows/check_pr.yml
with:
platforms: 'linux-x64'
#select:
# name: 'Select platforms'
# runs-on: ubuntu-22.04
# outputs:
# linux-x64: ${{ steps.include.outputs.linux-x64 }}
# linux-cross-compile: ${{ steps.include.outputs.linux-cross-compile }}
# windows-x64: ${{ steps.include.outputs.windows-x64 }}
# steps:
# # This function must be inlined in main.yml, or we'd be forced to checkout the repo
# - name: 'Check what jobs to run'
# id: include
# run: |
# # Determine which platform jobs to run
# # Returns 'true' if the input platform list matches any of the platform monikers given as argument,
# # 'false' otherwise.
# # arg $1: platform name or names to look for
# function check_platform() {
# if [[ $GITHUB_EVENT_NAME == workflow_dispatch ]]; then
# input='${{ github.event.inputs.platforms }}'
# elif [[ $GITHUB_EVENT_NAME == push ]]; then
# if [[ '${{ !secrets.JDK_SUBMIT_FILTER || startsWith(github.ref, 'refs/heads/submit/') }}' == 'false' ]]; then
# # If JDK_SUBMIT_FILTER is set, and this is not a "submit/" branch, don't run anything
# >&2 echo 'JDK_SUBMIT_FILTER is set and not a "submit/" branch'
# echo 'false'
# return
# else
# input='${{ secrets.JDK_SUBMIT_PLATFORMS }}'
# fi
# fi
# normalized_input="$(echo ,$input, | tr -d ' ')"
# if [[ "$normalized_input" == ",," ]]; then
# # For an empty input, assume all platforms should run
# echo 'true'
# return
# else
# # Check for all acceptable platform names
# for part in $* ; do
# if echo "$normalized_input" | grep -q -e ",$part," ; then
# echo 'true'
# return
# fi
# done
# fi
# echo 'false'
# }
# echo "linux-x64=$(check_platform linux-x64 linux x64)" >> $GITHUB_OUTPUT
# echo "linux-cross-compile=$(check_platform linux-cross-compile cross-compile)" >> $GITHUB_OUTPUT
# echo "windows-x64=$(check_platform windows-x64 windows x64)" >> $GITHUB_OUTPUT
###
### Build jobs
###
build-linux-x64:
name: linux-x64
needs: prerequisites
uses: ./.github/workflows/build-linux.yml
with:
platform: linux-x64
gcc-major-version: '10'
configure-arguments: ${{ github.event.inputs.configure-arguments }}
make-arguments: ${{ github.event.inputs.make-arguments }}
extra-conf-options: --with-default-make-target="product-bundles test-bundles" --with-jvm-features=shenandoahgc
make-target: CONF_NAME=linux-x64
if: needs.prerequisites.outputs.should_run != 'false' && needs.prerequisites.outputs.platform_linux_x64 != 'false'
# build-linux-cross-compile:
# name: linux-cross-compile
# needs:
# - select
# - build-linux-x64
# uses: ./.github/workflows/build-cross-compile.yml
# with:
# gcc-major-version: '10'
# configure-arguments: ${{ github.event.inputs.configure-arguments }}
# make-arguments: ${{ github.event.inputs.make-arguments }}
# if: needs.select.outputs.linux-cross-compile == 'true'
#
# build-windows-x64:
# name: windows-x64
# needs: select
# uses: ./.github/workflows/build-windows.yml
# with:
# platform: windows-x64
# msvc-toolset-version: '14.29'
# msvc-toolset-architecture: 'x86.x64'
# configure-arguments: ${{ github.event.inputs.configure-arguments }}
# make-arguments: ${{ github.event.inputs.make-arguments }}
# if: needs.select.outputs.windows-x64 == 'true'
#
# ###
# ### Test jobs
# ###
#
# test-linux-x64:
# name: linux-x64
# needs:
# - build-linux-x64
# uses: ./.github/workflows/test.yml
# with:
# platform: linux-x64
# bootjdk-platform: linux-x64
# runs-on: ubuntu-22.04
#
# test-windows-x64:
# name: windows-x64
# needs:
# - build-windows-x64
# uses: ./.github/workflows/test.yml
# with:
# platform: windows-x64
# bootjdk-platform: windows-x64
# runs-on: windows-2019
#
# # Remove bundles so they are not misconstrued as binary distributions from the JDK project
# remove-bundles:
# name: 'Remove bundle artifacts'
# runs-on: ubuntu-22.04
# if: always()
# needs:
# - build-linux-x64
# - build-linux-cross-compile
# - build-windows-x64
# - test-linux-x64
# - test-windows-x64
#
# steps:
# # Hack to get hold of the api environment variables that are only defined for actions
# - name: 'Get API configuration'
# id: api
# uses: actions/github-script@v6
# with:
# script: 'return { url: process.env["ACTIONS_RUNTIME_URL"], token: process.env["ACTIONS_RUNTIME_TOKEN"] }'
#
# - name: 'Remove bundle artifacts'
# run: |
# # Find and remove all bundle artifacts
# ALL_ARTIFACT_URLS="$(curl -s \
# -H 'Accept: application/json;api-version=6.0-preview' \
# -H 'Authorization: Bearer ${{ fromJson(steps.api.outputs.result).token }}' \
# '${{ fromJson(steps.api.outputs.result).url }}_apis/pipelines/workflows/${{ github.run_id }}/artifacts?api-version=6.0-preview')"
# BUNDLE_ARTIFACT_URLS="$(echo "$ALL_ARTIFACT_URLS" | jq -r -c '.value | map(select(.name|startswith("bundles-"))) | .[].url')"
# for url in $BUNDLE_ARTIFACT_URLS; do
# echo "Removing $url"
# curl -s \
# -H 'Accept: application/json;api-version=6.0-preview' \
# -H 'Authorization: Bearer ${{ fromJson(steps.api.outputs.result).token }}' \
# -X DELETE "$url" \
# || echo "Failed to remove bundle"
# done