forked from opensearch-project/OpenSearch-Dashboards
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[chore]upgrade actions/upload-artifact to v4 (opensearch-project#8855)
* upgrade actioins/upload-artifact to v4 Signed-off-by: Hailong Cui <[email protected]> * Changeset file for PR opensearch-project#8855 created/updated --------- Signed-off-by: Hailong Cui <[email protected]> Co-authored-by: opensearch-changeset-bot[bot] <154024398+opensearch-changeset-bot[bot]@users.noreply.github.com> (cherry picked from commit 608911e)
- Loading branch information
1 parent
f24afaa
commit d55c502
Showing
4 changed files
with
173 additions
and
12 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
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,159 @@ | ||
name: Orchestrator cypress workflow | ||
run-name: release_cypress_workflow ${{ inputs.UNIQUE_ID != '' && inputs.UNIQUE_ID || '' }} # Unique id number appended to the workflow run-name to reference the run within the orchestrator. | ||
# Trigger on dispatch event sent from FT repo orchestrator | ||
on: | ||
workflow_dispatch: | ||
inputs: | ||
test_repo: | ||
description: 'Cypress test repo' | ||
default: '' | ||
required: false | ||
type: string | ||
test_branch: | ||
description: 'Cypress test branch (default: source branch)' | ||
required: false | ||
type: string | ||
specs: | ||
description: 'Test group to run' | ||
required: false | ||
type: string | ||
build_id: | ||
description: 'Build Id' | ||
required: false | ||
type: string | ||
OS_URL: | ||
description: 'OpenSearch release artifact' | ||
required: false | ||
type: string | ||
OSD_URL: | ||
description: 'OpenSearch Dashboards release artifact' | ||
required: false | ||
type: string | ||
UNIQUE_ID: | ||
description: 'Unique Id for the workflow execution' | ||
required: true | ||
type: string | ||
SECURITY_ENABLED: | ||
required: false | ||
type: string | ||
|
||
env: | ||
TEST_REPO: ${{ inputs.test_repo != '' && inputs.test_repo || github.repository }} | ||
TEST_BRANCH: "${{ inputs.test_branch != '' && inputs.test_branch || github.base_ref }}" | ||
OSD_PATH: 'osd' | ||
CYPRESS_BROWSER: 'electron' | ||
JOB_ID: ${{ inputs.UNIQUE_ID}} | ||
OPENSEARCH: ${{ inputs.OS_URL != '' && inputs.OS_URL || 'https://ci.opensearch.org/ci/dbc/distribution-build-opensearch/$VERSION/latest/linux/x64/tar/dist/opensearch/opensearch-$VERSION-linux-x64.tar.gz' }} | ||
DASHBOARDS: ${{ inputs.OSD_URL != '' && inputs.OSD_URL || 'https://ci.opensearch.org/ci/dbc/distribution-build-opensearch-dashboards/$VERSION/latest/linux/x64/tar/dist/opensearch-dashboards/opensearch-dashboards-$VERSION-linux-x64.tar.gz' }} | ||
OPENSEARCH_DIR: 'cypress/opensearch' | ||
DASHBOARDS_DIR: 'cypress/opensearch-dashboards' | ||
SECURITY_ENABLED: ${{ inputs.SECURITY_ENABLED != '' && inputs.SECURITY_ENABLED || 'false' }} | ||
|
||
jobs: | ||
Get-CI-Image-Tag: | ||
uses: opensearch-project/opensearch-build/.github/workflows/get-ci-image-tag.yml@main | ||
with: | ||
product: opensearch-dashboards | ||
|
||
cypress-tests: | ||
needs: Get-CI-Image-Tag | ||
runs-on: ubuntu-latest | ||
strategy: | ||
matrix: | ||
spec_group: [10, 11] # Add more spec files as needed | ||
container: | ||
# using the same image which is used by opensearch-build team to build the OpenSearch Distribution | ||
# this image tag is subject to change as more dependencies and updates will arrive over time | ||
image: ${{ needs.Get-CI-Image-Tag.outputs.ci-image-version-linux }} | ||
# need to switch to root so that github actions can install runner binary on container without permission issues. | ||
options: --user root | ||
env: | ||
# prevents extra Cypress installation progress messages | ||
CI: 1 | ||
# avoid warnings like "tput: No value for $TERM and no -T specified" | ||
TERM: xterm | ||
name: Run cypress tests (osd:ciGroup${{ matrix.spec_group }}) ${{ inputs.UNIQUE_ID}} | ||
steps: | ||
- name: Checkout code | ||
uses: actions/checkout@v2 | ||
with: | ||
path: ./${{ env.OSD_PATH }} | ||
repository: ${{ env.TEST_REPO }} | ||
ref: '${{ env.TEST_BRANCH }}' | ||
|
||
- name: Setup Node | ||
uses: actions/setup-node@v3 | ||
with: | ||
node-version-file: './${{ env.OSD_PATH }}/.nvmrc' | ||
registry-url: 'https://registry.npmjs.org' | ||
|
||
- name: Setup Yarn | ||
run: | | ||
npm uninstall -g yarn | ||
npm i -g [email protected] | ||
yarn config set network-timeout 1000000 -g | ||
- name: Setup spec files | ||
if: ${{ inputs.specs == '' }} | ||
shell: bash | ||
run: | | ||
cd ${{ env.OSD_PATH }} | ||
IFS="," read -a SPEC_ARRAY <<< $(yarn --silent osd:ciGroup${{ matrix.spec_group }}) | ||
FORMATTED_SPEC='' | ||
for i in "${SPEC_ARRAY[@]}"; do | ||
FORMATTED_SPEC+="cypress/integration/core_opensearch_dashboards/${i}," | ||
done | ||
SPEC=${FORMATTED_SPEC} # Set SPEC to FORMATTED_SPEC | ||
echo "SPEC=${FORMATTED_SPEC}" >> $GITHUB_ENV | ||
echo "SPEC found: $SPEC" | ||
- name: Get Cypress version | ||
id: cypress_version | ||
run: | | ||
echo "name=cypress_version::$(cat ./${{ env.OSD_PATH }}/package.json | jq '.devDependencies.cypress' | tr -d '"')" >> $GITHUB_OUTPUT | ||
- name: Get package version (Linux) | ||
run: | | ||
cd ${{ env.OSD_PATH }} | ||
echo "VERSION=$(yarn --silent pkg-version)" >> $GITHUB_ENV | ||
- name: Run bootstrap | ||
run: | | ||
cd ${{ env.OSD_PATH }} | ||
chown -R 1000:1000 `pwd` | ||
su `id -un 1000` -c "source $NVM_DIR/nvm.sh && nvm use && node -v && yarn -v && | ||
yarn osd bootstrap" | ||
- name: Download and extract OpenSearch artifacts | ||
run: | | ||
CWD=$(pwd) | ||
mkdir -p $CWD/${{ env.OPENSEARCH_DIR }} | ||
source ${{ env.OSD_PATH }}/scripts/common/utils.sh | ||
open_artifact $CWD/${{ env.OPENSEARCH_DIR }} ${{ env.OPENSEARCH }} | ||
- name: Download and extract OpenSearch Dashboards artifacts | ||
run: | | ||
CWD=$(pwd) | ||
mkdir -p $CWD/${{ env.DASHBOARDS_DIR }} | ||
source ${{ env.OSD_PATH }}/scripts/common/utils.sh | ||
open_artifact $CWD/${{ env.DASHBOARDS_DIR }} ${{ env.DASHBOARDS }} | ||
- name: Run Cypress tests | ||
run: | | ||
chown -R 1000:1000 `pwd` | ||
su `id -un 1000` -c "source ${{ env.OSD_PATH }}/scripts/cypress_tests.sh && run_dashboards_cypress_tests" | ||
# Screenshots are only captured on failures | ||
- uses: actions/upload-artifact@v4 | ||
if: failure() | ||
with: | ||
name: release-osd-cypress-screenshots-${{ matrix.spec_group }} | ||
path: ${{ env.OSD_PATH }}/cypress/screenshots | ||
retention-days: 1 | ||
|
||
- uses: actions/upload-artifact@v4 | ||
if: always() | ||
with: | ||
name: release-osd-cypress-videos-${{ matrix.spec_group }} | ||
path: ${{ env.OSD_PATH }}/cypress/videos | ||
retention-days: 1 |
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,2 @@ | ||
fix: | ||
- Upgrade actions/upload-artifact to v4 ([#8855](https://github.com/opensearch-project/OpenSearch-Dashboards/pull/8855)) |