Update Release_Build_Push.yml #19
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: Create Release on PR Merge and build | |
on: | |
pull_request: | |
types: [closed] | |
env: | |
GRADLE_OPTS: -Dorg.gradle.daemon=false -Xmx6g -Xms6g | |
CONTAINER_REGISTRY: quay.io/opsmxpublic | |
jobs: | |
create_release: | |
if: github.event.pull_request.merged == true | |
#&& github.event.pull_request.base.ref == '1.30.1' | |
runs-on: ubuntu-latest | |
outputs: | |
rc_number: ${{ steps.determine_rc_number.outputs.rc_number }} | |
new_tag: ${{ steps.determine_rc_number.outputs.new_tag }} | |
branch_name: ${{ steps.get_branch_name.outputs.branch }} | |
#version: ${{ steps.extract_version.outputs.version }} | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v2 | |
- name: Get branch name | |
id: get_branch_name | |
run: echo "::set-output name=branch::${GITHUB_REF#refs/heads/}" | |
- name: Determine RC number | |
id: determine_rc_number | |
run: | | |
branch_name=$INPUT_BRANCH_NAME | |
git fetch --tags -q | |
latest_tag=$(git tag -l | grep "${branch_name}_rc*" | sort -V | tail -n1) | |
rc_number=$(echo "$latest_tag" | sed 's/.*_rc\([0-9]*\)$/\1/') | |
next_rc=$((rc_number + 1)) | |
new_tag=$(echo "$latest_tag" | sed "s/rc${rc_number}/rc${next_rc}/") | |
echo "Latest tag: $latest_tag" | |
echo "New tag: $new_tag" | |
echo "::set-output name=last_tag::$new_tag" | |
echo "::set-output name=rc_number::$next_rc" | |
echo "new_tag=$new_tag" >> $GITHUB_OUTPUT | |
echo "rc_number=$next_rc" >> $GITHUB_OUTPUT | |
echo "branch_name=$branch_name" >> $GITHUB_OUTPUT | |
shell: bash | |
env: | |
INPUT_BRANCH_NAME: ${{ steps.get_branch_name.outputs.branch }} | |
#- name: Extract Version from YAML | |
# id: extract_version | |
#run: | | |
# version=$(curl -s https://storage.googleapis.com/halconfig/bom/1.30.1.yml | yq '.services.rosco.version') | |
# echo "::set-output name=version::$version" | |
#echo "version=$version" >> $GITHUB_OUTPUT | |
- name: Create Release | |
id: create_release | |
uses: actions/create-release@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
tag_name: ${{ steps.determine_rc_number.outputs.new_tag }} | |
release_name: "Branch: ${{ steps.get_branch_name.outputs.branch }} and tag: ${{ steps.determine_rc_number.outputs.new_tag }}" | |
body: | | |
This is an automatically generated release for PR ${{ github.event.pull_request.number }}. | |
Add your release notes here. | |
draft: false | |
prerelease: false | |
Build_code: | |
needs: [create_release] | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v2 | |
with: | |
fetch-depth: 0 | |
- name: Set up QEMU | |
uses: docker/setup-qemu-action@v2 | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v2 | |
- uses: actions/setup-java@v2 | |
with: | |
java-version: 11 | |
distribution: 'zulu' | |
- name: Prepare build variables | |
id: build_variables | |
run: | | |
echo "::set-output name=REPO::ubi8-spin-rosco" | |
echo "::set-output name=GITHASH::$(git rev-parse --short HEAD)" | |
echo "::set-output name=BUILDDATE::$(date -u +"%Y%m%d%H%M")" | |
- name: Login to Quay | |
uses: docker/login-action@v1 | |
# use service account flow defined at: https://github.com/docker/login-action#service-account-based-authentication-1 | |
with: | |
registry: quay.io | |
username: ${{ secrets.QUAY_USERNAME }} | |
password: ${{ secrets.QUAY_KEY }} | |
- name: Build | |
run: | | |
./gradlew --no-daemon -PenableCrossCompilerPlugin=true rosco-web:installDist -x test | |
- name: dockerBuildpush | |
uses: docker/build-push-action@v2 | |
with: | |
context: . | |
file: docker/ubi8/Dockerfile | |
push: true | |
tags: | | |
"${{ env.CONTAINER_REGISTRY }}/${{ steps.build_variables.outputs.REPO }}:${{ needs.create_release.outputs.branch_name }}_v${{ needs.create_release.outputs.version }}-rc${{ needs.create_release.outputs.rc_number }}-${{ steps.build_variables.outputs.GITHASH }}-${{ steps.build_variables.outputs.BUILDDATE }}" | |