-
Notifications
You must be signed in to change notification settings - Fork 4.4k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
build: prepare for 1.20.0 dev (#21219)
- Loading branch information
Showing
6 changed files
with
786 additions
and
20 deletions.
There are no files selected for viewing
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,234 @@ | ||
# Copyright (c) HashiCorp, Inc. | ||
# SPDX-License-Identifier: MPL-2.0 | ||
|
||
name: Nightly Frontend Test 1.19.x | ||
on: | ||
schedule: | ||
- cron: '0 4 * * *' | ||
workflow_dispatch: {} | ||
|
||
env: | ||
EMBER_PARTITION_TOTAL: 4 # Has to be changed in tandem with the matrix.partition | ||
BRANCH: "release/1.19.x" | ||
BRANCH_NAME: "release-1.19.x" # Used for naming artifacts | ||
GOPRIVATE: github.com/hashicorp # Required for enterprise deps | ||
|
||
jobs: | ||
frontend-test-workspace-node: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 | ||
with: | ||
ref: ${{ env.BRANCH }} | ||
|
||
# Not necessary to use yarn, but enables caching | ||
- uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 | ||
with: | ||
node-version: 18 | ||
cache: 'yarn' | ||
cache-dependency-path: ./ui/yarn.lock | ||
|
||
- name: Install | ||
id: install | ||
working-directory: ./ui | ||
run: make deps | ||
|
||
- name: Workspace Tests | ||
id: workspace-test | ||
working-directory: ./ui | ||
run: make test-workspace | ||
|
||
- name: Node Tests | ||
id: node-test | ||
working-directory: ./ui/packages/consul-ui | ||
run: make test-node | ||
|
||
frontend-build-ce: | ||
runs-on: ubuntu-latest | ||
env: | ||
JOBS: 2 | ||
CONSUL_NSPACES_ENABLED: 0 | ||
steps: | ||
- uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 | ||
with: | ||
ref: ${{ env.BRANCH }} | ||
|
||
# Not necessary to use yarn, but enables caching | ||
- uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 | ||
with: | ||
node-version: 18 | ||
cache: 'yarn' | ||
cache-dependency-path: ./ui/yarn.lock | ||
|
||
- name: Install | ||
id: install | ||
working-directory: ./ui | ||
run: make deps | ||
|
||
- name: Ember Build CE | ||
id: build-ce | ||
working-directory: ./ui/packages/consul-ui | ||
run: make build-ci | ||
|
||
- name: Upload CE Frontend | ||
uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 # v4.3.3 | ||
with: | ||
name: frontend-ce-${{ env.BRANCH_NAME }} | ||
path: ./ui/packages/consul-ui/dist | ||
if-no-files-found: error | ||
|
||
frontend-test-ce: | ||
runs-on: ubuntu-latest | ||
needs: [frontend-build-ce] | ||
strategy: | ||
matrix: | ||
partition: [ 1, 2, 3, 4 ] | ||
env: | ||
CONSUL_NSPACES_ENABLED: 0 | ||
EMBER_TEST_REPORT: test-results/report-ce.xml #outputs test report for CI test summary | ||
EMBER_TEST_PARALLEL: true #enables test parallelization with ember-exam | ||
steps: | ||
- uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 | ||
with: | ||
ref: ${{ env.BRANCH }} | ||
|
||
# Not necessary to use yarn, but enables caching | ||
- uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 | ||
with: | ||
node-version: 18 | ||
cache: 'yarn' | ||
cache-dependency-path: ./ui/yarn.lock | ||
|
||
- name: Install | ||
id: install | ||
working-directory: ./ui | ||
run: make deps | ||
|
||
- name: Download CE Frontend | ||
uses: actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # v4.1.7 | ||
with: | ||
name: frontend-ce-${{ env.BRANCH_NAME }} | ||
path: ./ui/packages/consul-ui/dist | ||
|
||
- name: Ember Test CE | ||
id: cache | ||
working-directory: ./ui/packages/consul-ui | ||
run: node_modules/.bin/ember exam --split=$EMBER_PARTITION_TOTAL --partition=${{ matrix.partition }} --path dist --silent -r xunit | ||
|
||
frontend-build-ent: | ||
runs-on: ubuntu-latest | ||
env: | ||
JOBS: 2 | ||
CONSUL_NSPACES_ENABLED: 1 | ||
steps: | ||
- uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 | ||
with: | ||
ref: ${{ env.BRANCH }} | ||
|
||
# Not necessary to use yarn, but enables caching | ||
- uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 | ||
with: | ||
node-version: 18 | ||
cache: 'yarn' | ||
cache-dependency-path: ./ui/yarn.lock | ||
|
||
- name: Install | ||
id: install | ||
working-directory: ./ui | ||
run: make deps | ||
|
||
- name: Ember Build ENT | ||
id: build-ce | ||
working-directory: ./ui/packages/consul-ui | ||
run: make build-ci | ||
|
||
- name: Upload ENT Frontend | ||
uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 # v4.3.3 | ||
with: | ||
name: frontend-ent-${{ env.BRANCH_NAME }} | ||
path: ./ui/packages/consul-ui/dist | ||
if-no-files-found: error | ||
|
||
frontend-test-ent: | ||
runs-on: ubuntu-latest | ||
needs: [frontend-build-ent] | ||
strategy: | ||
matrix: | ||
partition: [ 1, 2, 3, 4 ] | ||
env: | ||
CONSUL_NSPACES_ENABLED: 1 | ||
EMBER_TEST_REPORT: test-results/report-ce.xml #outputs test report for CI test summary | ||
EMBER_TEST_PARALLEL: true #enables test parallelization with ember-exam | ||
steps: | ||
- uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 | ||
with: | ||
ref: ${{ env.BRANCH }} | ||
|
||
# Not necessary to use yarn, but enables caching | ||
- uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 | ||
with: | ||
node-version: 18 | ||
cache: 'yarn' | ||
cache-dependency-path: ./ui/yarn.lock | ||
|
||
- name: Install | ||
id: install | ||
working-directory: ./ui | ||
run: make deps | ||
|
||
- name: Download ENT Frontend | ||
uses: actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # v4.1.7 | ||
with: | ||
name: frontend-ent-${{ env.BRANCH_NAME }} | ||
path: ./ui/packages/consul-ui/dist | ||
|
||
- name: Ember Test ENT | ||
id: cache | ||
working-directory: ./ui/packages/consul-ui | ||
run: node_modules/.bin/ember exam --split=$EMBER_PARTITION_TOTAL --partition=${{ matrix.partition }} --path dist --silent -r xunit | ||
|
||
frontend-test-coverage-ent: | ||
runs-on: ubuntu-latest | ||
needs: [frontend-build-ent] | ||
steps: | ||
- uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 | ||
with: | ||
ref: ${{ env.BRANCH }} | ||
|
||
# Not necessary to use yarn, but enables caching | ||
- uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 | ||
with: | ||
node-version: 18 | ||
cache: 'yarn' | ||
cache-dependency-path: ./ui/yarn.lock | ||
|
||
- name: Install | ||
id: install | ||
working-directory: ./ui | ||
run: make deps | ||
|
||
- name: Download ENT Frontend | ||
uses: actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # v4.1.7 | ||
with: | ||
name: frontend-ent-${{ env.BRANCH_NAME }} | ||
path: ./ui/packages/consul-ui/dist | ||
|
||
- name: Run ENT Code Coverage | ||
working-directory: ./ui/packages/consul-ui | ||
run: make test-coverage-ci | ||
|
||
slack-failure-notification: | ||
runs-on: ubuntu-latest | ||
needs: [frontend-test-ce, frontend-test-ent] | ||
if: ${{ failure() }} | ||
steps: | ||
- name: Slack Notification | ||
id: slack | ||
uses: slackapi/slack-github-action@70cd7be8e40a46e8b0eced40b0de447bdb42f68e # v1.26.0 | ||
with: | ||
payload: | | ||
{ | ||
"message": "One or more nightly UI tests have failed on branch ${{ env.BRANCH }} for Consul. ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}" | ||
} | ||
env: | ||
SLACK_WEBHOOK_URL: ${{ secrets.CONSUL_UI_SLACK_WEBHOOK }} |
Oops, something went wrong.