Skip to content

Commit

Permalink
Merge pull request #416 from zowe/feature/v2/getESM-build
Browse files Browse the repository at this point in the history
Add automation to build "getesm"
  • Loading branch information
1000TurquoisePogs authored Nov 28, 2023
2 parents 1d9df11 + c88a9aa commit 1a6f991
Show file tree
Hide file tree
Showing 4 changed files with 166 additions and 0 deletions.
84 changes: 84 additions & 0 deletions .github/workflows/build-getesm.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
name: Build getesm
on:
push:
branches:
- v2.x/staging
- v2.x/master
- v2.x/rc
- v3.x/staging
- v3.x/master
- v3.x/rc
pull_request:
types: [opened, reopened, synchronize]
workflow_dispatch:
inputs:
PERFORM_RELEASE:
description: '[Release] perform release'
required: false
default: 'false'

jobs:
check-permission:
runs-on: ubuntu-latest
steps:
# this action will fail the whole workflow if permission check fails
- name: check permission
uses: zowe-actions/shared-actions/permission-check@main
with:
github-token: ${{ secrets.GITHUB_TOKEN }}

build-test:
runs-on: ubuntu-latest
needs: check-permission
steps:
- name: '[Prep 1] Checkout'
uses: actions/checkout@v2

- name: '[Prep 2] Setup jFrog CLI'
uses: jfrog/setup-jfrog-cli@v2
env:
JF_ARTIFACTORY_1: ${{ secrets.JF_ARTIFACTORY_TOKEN }}

- name: '[Prep 3] Set date'
id: date
run: echo "date=$(date +'%Y%m%d%S')" >> $GITHUB_OUTPUT

- name: '[Prep 4] Set version'
id: version
run: echo "version=$(cat build/getesm.proj.env | grep VERSION | cut -f 2 -d=)" >> $GITHUB_OUTPUT

- name: '[Prep 5] Set branchname'
id: branch
run: echo "branch=$(if [ -n '${{ github.head_ref }}' ]; then echo '${{ github.head_ref }}' | tr '[:lower:]' '[:upper:]'; else echo '${{ github.ref_name }}' | tr '[:lower:]' '[:upper:]'; fi | sed 's@/@-@g')" >> $GITHUB_OUTPUT


- name: '[Prep 6] Prepare workflow'
uses: zowe-actions/shared-actions/prepare-workflow@main


- name: '[Packaging] Make pax'
uses: zowe-actions/shared-actions/make-pax@main
with:
pax-name: 'getesm'
pax-options: '-x os390 -pp'
pax-local-workspace: './.pax/getesm'
pax-ssh-username: ${{ secrets.SSH_MARIST_USERNAME }}
pax-ssh-password: ${{ secrets.SSH_MARIST_RACF_PASSWORD }}

- name: '[Publish] Publish'
uses: zowe-actions/shared-actions/publish@main
if: success()
with:
artifacts: |
.pax/getesm/getesm.pax
publish-target-path-pattern: libs-snapshot-local/org/zowe/utils/${{ steps.version.outputs.version }}-${{ steps.branch.outputs.branch }}
publish-target-file-pattern: getesm-${{ steps.version.outputs.version }}-${{ steps.date.outputs.date }}.pax
perform-release: ${{ github.event.inputs.PERFORM_RELEASE }}

- name: '[Prep Release] Bump version'
if: ${{ github.event.inputs.PERFORM_RELEASE == 'true' }}
uses: zowe-actions/zlux-builds/[email protected]/main
with:
version: 'MINOR'
env:
GITHUB_TOKEN: ${{ secrets.ZOWE_ROBOT_TOKEN }}
35 changes: 35 additions & 0 deletions .pax/getesm/pre-packaging.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
#!/bin/sh -e
set -xe

################################################################################
# This program and the accompanying materials are made available under the terms of the
# Eclipse Public License v2.0 which accompanies this distribution, and is available at
# https://www.eclipse.org/legal/epl-v20.html
#
# SPDX-License-Identifier: EPL-2.0
#
# Copyright Contributors to the Zowe Project.
################################################################################


# contants
SCRIPT_NAME=$(basename "$0")
SCRIPT_DIR=$(pwd)

# build
echo "$SCRIPT_NAME build getesm ..."
echo "build folder:"
ls -ltr "$SCRIPT_DIR/content/build"
echo "parent folder:"
ls -ltr "$SCRIPT_DIR/content"
STEPLIB=CBC.SCCNCMP "$SCRIPT_DIR/content/build/build_getesm.sh"

# clean up content folder
echo "$SCRIPT_NAME cleaning up pax folder ..."
cd "$SCRIPT_DIR"
mv content bak && mkdir -p content

# move real files to the content folder
echo "$SCRIPT_NAME coping files should be in pax ..."
cd "$SCRIPT_DIR/content"
cp ../bak/bin/getesm .
44 changes: 44 additions & 0 deletions .pax/getesm/prepare-workspace.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
#!/bin/sh -e
set -xe

################################################################################
# This program and the accompanying materials are made available under the terms of the
# Eclipse Public License v2.0 which accompanies this distribution, and is available at
# https://www.eclipse.org/legal/epl-v20.html
#
# SPDX-License-Identifier: EPL-2.0
#
# Copyright Contributors to the Zowe Project.
################################################################################

################################################################################
# Prepare folders/files will be uploaded to Build/PAX server
################################################################################

# contants
SCRIPT_NAME=$(basename "$0")
SCRIPT_DIR=$(dirname "$0")
PAX_WORKSPACE_DIR=.pax/getesm

# make sure in project root folder
cd $SCRIPT_DIR/../..

# prepare pax workspace
echo "[${SCRIPT_NAME}] preparing folders ..."
rm -fr "${PAX_WORKSPACE_DIR}/ascii" && mkdir -p "${PAX_WORKSPACE_DIR}/ascii"
rm -fr "${PAX_WORKSPACE_DIR}/content" && mkdir -p "${PAX_WORKSPACE_DIR}/content"

echo "[${SCRIPT_NAME}] copying files ..."
cp -R * "${PAX_WORKSPACE_DIR}/ascii"
# move files shouldn't change encoding to IBM-1047 to content folder
rsync -rv \
--include '*/' \
--include '*.png' \
--exclude '*' \
--prune-empty-dirs --remove-source-files \
"${PAX_WORKSPACE_DIR}/ascii/" \
"${PAX_WORKSPACE_DIR}/content/"

# update build information
# BRANCH_NAME and BUILD_NUMBER is Jenkins environment variable
commit_hash=$(git rev-parse --verify HEAD)
3 changes: 3 additions & 0 deletions build/getesm.proj.env
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
PROJECT="getesm"
VERSION=2.13.0
DEPS=""

0 comments on commit 1a6f991

Please sign in to comment.