From 20f0ff4f4dd6e183eb057ffc6a486ccf7468a78e Mon Sep 17 00:00:00 2001 From: James Struga Date: Tue, 16 Aug 2022 13:35:29 -0400 Subject: [PATCH] added github action Signed-off-by: James Struga --- .github/workflows/build_test.yml | 84 ++++++++++++++++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100644 .github/workflows/build_test.yml diff --git a/.github/workflows/build_test.yml b/.github/workflows/build_test.yml new file mode 100644 index 0000000..f882a20 --- /dev/null +++ b/.github/workflows/build_test.yml @@ -0,0 +1,84 @@ +name: Build sample-react-app workflow +on: + push: + branches: + - v1.x/staging + - v1.x/master + - v1.x/rc + pull_request: + types: [opened, reopened, synchronize] + + workflow_dispatch: + inputs: + BRANCH_NAME: + description: 'Specify branch name or PR (e.g. PR-41)' + required: false + BUILD_VERSION: + description: 'Specify version you would like to build or override' + required: false + PERFORM_RELEASE: + description: '[Release] perform release' + required: 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: + user: ${{ github.actor }} + github-repo: ${{ github.repository }} + github-token: ${{ secrets.GITHUB_TOKEN }} + + build: + runs-on: ubuntu-latest + needs: check-permission + steps: + - name: '[Prep 1] Checkout' + uses: actions/checkout@v2 + + - name: '[Prep 2] Cache node modules' + uses: actions/cache@v2 + with: + # npm cache files are stored in `~/.npm` on Linux/macOS + path: | + ~/.npm + ~/.nvm/.cache + ~/.nvm/versions + key: ${{ runner.os }}-build-cache-node-modules-${{ hashFiles('**/package-lock.json') }} + restore-keys: | + ${{ runner.os }}-build-cache-node-modules- + - name: '[Prep 3] Setup Node' + uses: actions/setup-node@v2 + with: + node-version: 10.24.1 + + - name: '[Prep 4] Setup jFrog CLI' + uses: jfrog/setup-jfrog-cli@v2 + env: + JF_ARTIFACTORY_1: ${{ secrets.JF_ARTIFACTORY_TOKEN }} + + - name: '[Prep 5] prepare workflow' + uses: zowe-actions/zlux-builds/prepare-workflow@main + with: + github-user: ${{ secrets.ZOWE_ROBOT_USER }} + github-password: ${{ secrets.ZOWE_ROBOT_TOKEN }} + github-email: ${{ secrets.ZOWE_ROBOT_EMAIL }} + github-branch: ${{ github.event.inputs.BRANCH_NAME }} + + - name: '[Prep 6] build' + uses: zowe-actions/zlux-builds/zlux-plugins@main + with: + build-zss: false + + - name: '[Prep 7] packaging' + uses: zowe-actions/zlux-builds/make-pax@main + with: + pax-ssh-username: ${{ secrets.SSH_MARIST_USERNAME }} + pax-ssh-password: ${{ secrets.SSH_MARIST_RACF_PASSWORD }} + pax-name: sample-react-app + + - name: '[Prep 8] deploy ' + uses: zowe-actions/zlux-builds/deploy-pax@main \ No newline at end of file