name: "release" on: workflow_call: inputs: dry-run-flag: description: 'enable dry-run on artifact push' required: false type: boolean default: true pull_request: types: [closed] branches: - develop - master - develop-patch* - master-patch* env: BASE_REF: ${{ github.base_ref }} HEAD_REF: ${{ github.head_ref }} AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} GITHUB_BRANCH: ${{ github.ref_name }} GH_BUILD_DIR: ${{ github.workspace }} GH_COMMIT: ${{ github.sha }} BUILD_ID: ${{ github.run_id }} GH_RUN_NUMBER: ${{ github.run_attempt }} GH_BUILD_NUMBER: ${{ github.run_id }} JOB_ID: ${{ github.run_id }} PROXY_HOST_BPM: ${{ secrets.E2E_HOST }} E2E_IDENTITY_HOST_APA: ${{ secrets.E2E_IDENTITY_HOST_APA }} E2E_HOST_APA: ${{ secrets.E2E_HOST_APA }} E2E_HOST: ${{ secrets.E2E_HOST }} E2E_USERNAME: ${{ secrets.E2E_ADMIN_EMAIL_IDENTITY }} E2E_PASSWORD: ${{ secrets.E2E_PASSWORD }} E2E_ADMIN_EMAIL_IDENTITY: ${{ secrets.E2E_ADMIN_EMAIL_IDENTITY }} E2E_ADMIN_PASSWORD_IDENTITY: ${{ secrets.E2E_ADMIN_PASSWORD_IDENTITY }} #USERNAME_ADF: ${{ secrets.E2E_USERNAME }} USERNAME_ADF: ${{ secrets.E2E_ADMIN_EMAIL_IDENTITY }} PASSWORD_ADF: ${{ secrets.E2E_PASSWORD }} URL_HOST_ADF: "http://localhost:4200" IDENTITY_ADMIN_EMAIL: ${{ secrets.E2E_ADMIN_EMAIL_IDENTITY }} IDENTITY_ADMIN_PASSWORD: ${{ secrets.E2E_ADMIN_PASSWORD_IDENTITY }} AWS_S3_BUCKET_ACTIVITI_LICENSE: ${{ secrets.AWS_S3_BUCKET_ACTIVITI_LICENSE }} HOST_SSO: ${{ secrets.HOST_SSO }} LOG_LEVEL: "ERROR" E2E_LOG_LEVEL: "ERROR" E2E_MODELER_USERNAME: ${{ secrets.E2E_MODELER_USERNAME }} E2E_MODELER_PASSWORD: ${{ secrets.E2E_MODELER_PASSWORD }} EXTERNAL_ACS_HOST: ${{ secrets.EXTERNAL_ACS_HOST }} E2E_DEVOPS_USERNAME: ${{ secrets.E2E_DEVOPS_USERNAME }} E2E_DEVOPS_PASSWORD: ${{ secrets.E2E_DEVOPS_PASSWORD }} USERNAME_SUPER_ADMIN_ADF: ${{ secrets.USERNAME_SUPER_ADMIN_ADF }} PASSWORD_SUPER_ADMIN_ADF: ${{ secrets.PASSWORD_SUPER_ADMIN_ADF }} HR_USER: ${{ secrets.HR_USER }} HR_USER_PASSWORD: ${{ secrets.HR_USER_PASSWORD }} SMART_RUNNER_PATH: ".protractor-smartrunner" S3_DBP_PATH: ${{ secrets.S3_DBP_PATH }} S3_BUILD_BUCKET_SHORT_NAME: ${{ secrets.S3_BUILD_BUCKET_SHORT_NAME }} NODE_OPTIONS: "--max-old-space-size=5120" DOCKER_REPOSITORY_DOMAIN: ${{ secrets.DOCKER_REPOSITORY_DOMAIN }} DOCKER_REPOSITORY_USER: ${{ secrets.DOCKER_REPOSITORY_USER }} DOCKER_REPOSITORY_PASSWORD: ${{ secrets.DOCKER_REPOSITORY_PASSWORD }} DOCKER_REPOSITORY_STORYBOOK: "${{ secrets.DOCKER_REPOSITORY_DOMAIN }}/alfresco/storybook" DOCKER_REPOSITORY: "${{ secrets.DOCKER_REPOSITORY_DOMAIN }}/alfresco/demo-shell" GITHUB_TOKEN: ${{ secrets.BOT_GITHUB_TOKEN }} REPO_OWNER: "Alfresco" REPO_NAME: "alfresco-ng2-components" DEMO_SHELL_DIR: "./dist/demo-shell" STORYBOOK_DIR: "./dist/storybook/stories" BUILT_LIBS_DIR: "./dist/libs" NODE_MODULES_DIR: "./node_modules" SMART_RUNNER_DIRECTORY: ".protractor-smartrunner" SAVE_SCREENSHOT: true REDIRECT_URI: / BROWSER_RUN: false MAXINSTANCES: 2 PLAYWRIGHT_WORKERS: 2 PLAYWRIGHT_STORYBOOK_E2E_HOST: http://localhost PLAYWRIGHT_STORYBOOK_E2E_PORT: 4400 jobs: setup: timeout-minutes: 20 if: github.event.pull_request.merged == true || github.ref_name == 'master' || github.ref_name == 'master-patch-*' name: "Setup" runs-on: ubuntu-22.04 steps: - name: Checkout repository uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 with: fetch-depth: 0 - uses: ./.github/actions/setup with: enable-cache: false enable-node-modules-cache: false - name: install run: | npm ci npx nx run cli:bundle npx nx run testing:bundle - uses: ./.github/actions/upload-node-modules-and-artifacts release-demoshell: needs: [setup] timeout-minutes: 15 if: github.event.pull_request.merged == true || github.ref_name == 'master' || github.ref_name == 'master-patch-*' runs-on: ubuntu-22.04 steps: - name: Checkout repository uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 with: fetch-depth: 1 - run: git fetch --all - id: set-dryrun uses: ./.github/actions/enable-dryrun with: dry-run-flag: ${{ inputs.dry-run-flag }} - uses: ./.github/actions/setup with: enable-cache: false enable-node-modules-cache: false - uses: ./.github/actions/download-node-modules-and-artifacts - name: release Demoshell docker run: | npx nx build demoshell --configuration production . ./scripts/github/release/docker-tag.sh ./scripts/github/release/release-demoshell-docker.sh ${{ steps.set-dryrun.outputs.dryrun }} release-storybook: needs: [setup] timeout-minutes: 15 if: github.event.pull_request.merged == true || github.ref_name == 'master' || github.ref_name == 'master-patch-*' runs-on: ubuntu-22.04 steps: - name: Checkout repository uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 with: fetch-depth: 1 - run: git fetch --all - id: set-dryrun uses: ./.github/actions/enable-dryrun with: dry-run-flag: ${{ inputs.dry-run-flag }} - uses: ./.github/actions/setup with: enable-cache: false enable-node-modules-cache: false act: ${{ inputs.dry-run-flag }} - uses: ./.github/actions/download-node-modules-and-artifacts - name: release Storybook docker run: | npx nx run stories:build-storybook --configuration ci . ./scripts/github/release/docker-tag.sh ./scripts/github/release/release-storybook-docker.sh ${{ steps.set-dryrun.outputs.dryrun }} release-npm: needs: [setup] timeout-minutes: 30 if: github.event.pull_request.merged == true || github.ref_name == 'master' || github.ref_name == 'master-patch-*' runs-on: ubuntu-22.04 permissions: contents: read packages: write steps: - name: Checkout repository uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 with: fetch-depth: 0 - uses: ./.github/actions/setup with: enable-cache: false enable-node-modules-cache: false - id: set-dryrun uses: ./.github/actions/enable-dryrun with: dry-run-flag: ${{ inputs.dry-run-flag }} - uses: ./.github/actions/download-node-modules-and-artifacts - name: build libraries run: | set -u; ./scripts/github/build/bumpversion.sh npx nx affected:build $NX_CALCULATION_FLAGS --prod --exclude="demoshell" --skip-nx-cache npx nx affected $NX_CALCULATION_FLAGS --target=pretheme - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 name: release libraries GH registry with: node-version-file: '.nvmrc' registry-url: 'https://npm.pkg.github.com' scope: '@alfresco' - run: npx nx affected --target=npm-publish $NX_CALCULATION_FLAGS --tag=$TAG_NPM || exit 1 env: NODE_AUTH_TOKEN: ${{ secrets.PAT_WRITE_PKG }} - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 name: release libraries Npm registry with: node-version-file: '.nvmrc' registry-url: 'https://${{ vars.NPM_REGISTRY_ADDRESS }}' scope: '@alfresco' - run: npx nx affected --target=npm-publish $NX_CALCULATION_FLAGS --tag=$TAG_NPM || exit 1 env: NODE_AUTH_TOKEN: ${{ secrets.NPM_REGISTRY_TOKEN }} npm-check-bundle: needs: [release-npm] timeout-minutes: 15 if: github.event.pull_request.merged == true || github.ref_name == 'master' || github.ref_name == 'master-patch-*' runs-on: ubuntu-22.04 steps: - name: Checkout repository uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - uses: ./.github/actions/npm-check-bundle finalize: if: always() runs-on: ubuntu-latest name: Final Results needs: [release-demoshell, release-storybook, release-npm, npm-check-bundle] steps: - uses: slackapi/slack-github-action@e28cf165c92ffef168d23c5c9000cffc8a25e117 # v1.24.0 name: Nofify FE eng-guild-front-end workflow failed if: ${{ contains(toJson(needs.*.result), 'failure') }} env: SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }} with: channel-id: 'C016SMNNL8L' #eng-guild-front-end slack-message: "🔴 Warning: The release workflow of alfresco-ng2-components pipe failed\n Author: name:${{ github.event.pusher.name }} username:${{ github.event.pusher.username }}\n Workflow run : \n>"