chore(deps): update eslint monorepo to v9.39.5 #49
This file contains hidden or 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
| name: integration-tests | |
| on: | |
| pull_request: | |
| branches: | |
| - main | |
| workflow_dispatch: | |
| # Manual trigger for integration tests - requires approval via environment protection | |
| inputs: | |
| skip_integration_tests: | |
| description: 'Skip integration tests' | |
| required: false | |
| type: boolean | |
| default: false | |
| # Cancel in-progress runs when a new commit is pushed | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| integration-tests: | |
| name: Integration Tests on Node.js ${{ matrix.node-version }} | |
| runs-on: ubuntu-latest | |
| environment: | |
| name: test-integration-dal | |
| deployment: false | |
| timeout-minutes: 30 | |
| strategy: | |
| matrix: | |
| node-version: [22, 24, 26] | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v5 | |
| - name: Setup Node.js ${{ matrix.node-version }} | |
| uses: actions/setup-node@v5 | |
| with: | |
| node-version: ${{ matrix.node-version }} | |
| cache: 'npm' | |
| - name: Display Node.js and npm versions | |
| run: | | |
| node --version | |
| npm --version | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Build | |
| run: npm run build | |
| - name: Create .env files | |
| if: github.event_name == 'pull_request' || (github.event_name == 'workflow_dispatch' && !inputs.skip_integration_tests) | |
| env: | |
| CLOUD_API_KEY: ${{ secrets.CLOUD_API_KEY }} | |
| CD_TOOLCHAIN_URL: ${{ vars.CD_TOOLCHAIN_URL }} | |
| CD_TOOLCHAIN_AUTH_TYPE: ${{ vars.CD_TOOLCHAIN_AUTH_TYPE }} | |
| CD_TOOLCHAIN_EVENT_NOTIFICATIONS_SERVICE_CRN: ${{ vars.CD_TOOLCHAIN_EVENT_NOTIFICATIONS_SERVICE_CRN }} | |
| CD_TOOLCHAIN_RESOURCE_GROUP_ID: ${{ vars.CD_TOOLCHAIN_RESOURCE_GROUP_ID }} | |
| CD_TEKTON_PIPELINE_URL: ${{ vars.CD_TEKTON_PIPELINE_URL }} | |
| CD_TEKTON_PIPELINE_AUTH_TYPE: ${{ vars.CD_TEKTON_PIPELINE_AUTH_TYPE }} | |
| CD_TEKTON_PIPELINE_RESOURCE_GROUP_ID: ${{ vars.CD_TEKTON_PIPELINE_RESOURCE_GROUP_ID }} | |
| run: | | |
| set -e | |
| # Verify all required environment variables are set | |
| if [ -z "$CLOUD_API_KEY" ]; then | |
| echo "Error: CLOUD_API_KEY secret is not set" | |
| exit 1 | |
| fi | |
| if [ -z "$CD_TOOLCHAIN_URL" ] || [ -z "$CD_TOOLCHAIN_AUTH_TYPE" ] || \ | |
| [ -z "$CD_TOOLCHAIN_RESOURCE_GROUP_ID" ] || [ -z "$CD_TOOLCHAIN_EVENT_NOTIFICATIONS_SERVICE_CRN" ]; then | |
| echo "Error: One or more CD_TOOLCHAIN variables are not set" | |
| echo "Please configure all required variables in GitHub repository settings" | |
| exit 1 | |
| fi | |
| if [ -z "$CD_TEKTON_PIPELINE_URL" ] || [ -z "$CD_TEKTON_PIPELINE_AUTH_TYPE" ] || \ | |
| [ -z "$CD_TEKTON_PIPELINE_RESOURCE_GROUP_ID" ]; then | |
| echo "Error: One or more CD_TEKTON_PIPELINE variables are not set" | |
| echo "Please configure all required variables in GitHub repository settings" | |
| exit 1 | |
| fi | |
| # cd_toolchain_v2.env | |
| cat > cd_toolchain_v2.env << EOF | |
| CD_TOOLCHAIN_URL=${CD_TOOLCHAIN_URL} | |
| CD_TOOLCHAIN_AUTH_TYPE=${CD_TOOLCHAIN_AUTH_TYPE} | |
| CD_TOOLCHAIN_APIKEY=${CLOUD_API_KEY} | |
| CD_TOOLCHAIN_EVENT_NOTIFICATIONS_SERVICE_CRN=${CD_TOOLCHAIN_EVENT_NOTIFICATIONS_SERVICE_CRN} | |
| CD_TOOLCHAIN_RESOURCE_GROUP_ID=${CD_TOOLCHAIN_RESOURCE_GROUP_ID} | |
| EOF | |
| # cd_tekton_pipeline_v2.env | |
| cat > cd_tekton_pipeline_v2.env << EOF | |
| CD_TEKTON_PIPELINE_URL=${CD_TEKTON_PIPELINE_URL} | |
| CD_TEKTON_PIPELINE_AUTH_TYPE=${CD_TEKTON_PIPELINE_AUTH_TYPE} | |
| CD_TEKTON_PIPELINE_APIKEY=${CLOUD_API_KEY} | |
| CD_TEKTON_PIPELINE_RESOURCE_GROUP_ID=${CD_TEKTON_PIPELINE_RESOURCE_GROUP_ID} | |
| CD_TOOLCHAIN_URL=${CD_TOOLCHAIN_URL} | |
| CD_TOOLCHAIN_AUTH_TYPE=${CD_TOOLCHAIN_AUTH_TYPE} | |
| CD_TOOLCHAIN_APIKEY=${CLOUD_API_KEY} | |
| CD_TOOLCHAIN_RESOURCE_GROUP_ID=${CD_TOOLCHAIN_RESOURCE_GROUP_ID} | |
| EOF | |
| # Verify files were created successfully | |
| if [ ! -f cd_toolchain_v2.env ] || [ ! -f cd_tekton_pipeline_v2.env ]; then | |
| echo "Error: Failed to create .env files" | |
| exit 1 | |
| fi | |
| echo "✓ Environment files created successfully" | |
| echo "✓ cd_toolchain_v2.env: $(wc -l < cd_toolchain_v2.env) lines" | |
| echo "✓ cd_tekton_pipeline_v2.env: $(wc -l < cd_tekton_pipeline_v2.env) lines" | |
| - name: Run integration tests | |
| if: github.event_name == 'pull_request' || (github.event_name == 'workflow_dispatch' && !inputs.skip_integration_tests) | |
| run: npm run test-integration | |
| - name: Cleanup .env files | |
| if: always() && (github.event_name == 'pull_request' || (github.event_name == 'workflow_dispatch' && !inputs.skip_integration_tests)) | |
| run: | | |
| rm -f cd_tekton_pipeline_v2.env cd_toolchain_v2.env | |
| echo "✓ Environment files cleaned up" |