From fadefb4e26c60252fd1e730ba010ba088809a778 Mon Sep 17 00:00:00 2001 From: Gianfranco Paoloni Date: Fri, 26 Aug 2022 19:19:20 -0300 Subject: [PATCH] Second iteration of qa tag: try to create pre-release (#892) --- .github/actions/main-action/action.yml | 5 ++ .../plugin-hrm-form-pre-release-qa.yml | 72 +++++++++++++++++++ 2 files changed, 77 insertions(+) create mode 100644 .github/workflows/plugin-hrm-form-pre-release-qa.yml diff --git a/.github/actions/main-action/action.yml b/.github/actions/main-action/action.yml index 48639586f..66dae7f49 100644 --- a/.github/actions/main-action/action.yml +++ b/.github/actions/main-action/action.yml @@ -16,6 +16,10 @@ inputs: aws-region: description: 'AWS region where Aselo documents bucket is hosted' required: true + send-slack-message: + description: 'Specifies if should send a Slack message at the end of successful run. Defaults to true' + required: false + default: true runs: using: "composite" steps: @@ -118,6 +122,7 @@ runs: - name: Slack Aselo channel id: slack uses: slackapi/slack-github-action@v1.14.0 + if: ${{ inputs.send-slack-message }} with: channel-id: ${{ env.ASELO_DEPLOYS_CHANNEL_ID }} slack-message: "`[FLEX]` Action ${{ github.workflow }} completed with SHA ${{ github.sha }}. Changelog is: ${{ github.event.inputs.changelog }} :rocket:." diff --git a/.github/workflows/plugin-hrm-form-pre-release-qa.yml b/.github/workflows/plugin-hrm-form-pre-release-qa.yml new file mode 100644 index 000000000..4ef9b1562 --- /dev/null +++ b/.github/workflows/plugin-hrm-form-pre-release-qa.yml @@ -0,0 +1,72 @@ +# This is a basic workflow to publish a Twilio Flex-plugins with Github Actions + +name: Pre-release QA + +# Controls when the action will run. +on: + workflow_dispatch: + inputs: + tag-name: + description: Release tag name. + required: true + title: + description: Release Changelog - Add a comment about the changes to be included in this release. + required: true + +jobs: + # This workflow contains a single job called "build" + build: + # The type of runner that the job will run on + runs-on: ubuntu-latest + + # Steps represent a sequence of tasks that will be executed as part of the job + steps: + # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it + - uses: actions/checkout@v2 + - name: Use Node.js + uses: actions/setup-node@v1 + with: + node-version: '14.x' + # Call main-action to compile and deploy + - name: Executing main-action + uses: ./.github/actions/main-action + with: + account-sid: ${{ secrets.E2E_DEV_ACCOUNT_SID }} + auth-token: ${{ secrets.E2E_DEV_AUTH_TOKEN }} + aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} + aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + aws-region: ${{ secrets.AWS_DEFAULT_REGION }} + send-slack-message: false + + # Build Playwright + - name: Install e2e-tests dependencies + run: npm install + working-directory: ./e2e-tests + - name: Setup dependencies for playwright/browsers + uses: microsoft/playwright-github-action@v1 + - name: Install Playwright CLI + run: npx playwright install + working-directory: ./e2e-tests + + # Run E2E tests against actual E2E Flex instance + - name: Run Playwright tests + run: DEBUG=pw:api PLAYWRIGHT_BASEURL=${{secrets.PLAYWRIGHT_BASEURL_E2E}} PLAYWRIGHT_USER_USERNAME=${{secrets.PLAYWRIGHT_USER_USERNAME}} PLAYWRIGHT_USER_PASSWORD=${{secrets.PLAYWRIGHT_USER_PASSWORD}} TWILIO_ACCOUNT_SID=${{secrets.E2E_DEV_ACCOUNT_SID}} TWILIO_AUTH_TOKEN=${{secrets.E2E_DEV_AUTH_TOKEN}} npx playwright test + working-directory: ./e2e-tests + + # Upload artifacts + - uses: actions/upload-artifact@v2 + if: ${{ always() }} + with: + name: test-artifacts + path: e2e-tests/test-results + + # Create a pre-release + - uses: "marvinpinto/action-automatic-releases@v1.2.1" + with: + repo_token: ${{ secrets.GITHUB_TOKEN }} + automatic_release_tag: ${{ inputs.tag-name }} + prerelease: true + title: ${{ inputs.title }} + # files: | + # LICENSE.txt + # *.jar \ No newline at end of file