update README #10
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: Test Action | |
| on: | |
| push: | |
| branches: [ main, develop ] | |
| pull_request: | |
| branches: [ main ] | |
| jobs: | |
| test: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: '20' | |
| cache: 'npm' | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Run linter | |
| run: npm run lint | |
| - name: Run tests | |
| run: npm test | |
| - name: Validate build | |
| run: npm run build | |
| # Integration test for specific project with issue creation | |
| integration-test-specific-project-name: | |
| if: github.ref == 'refs/heads/main' && github.event_name == 'push' | |
| runs-on: ubuntu-latest | |
| permissions: | |
| issues: write | |
| contents: read | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Test specific project with issue creation | |
| id: specific-test | |
| uses: ./ | |
| with: | |
| launchdarkly_api_key: ${{ secrets.LAUNCHDARKLY_API_KEY }} | |
| project_key: ${{ vars.TEST_PROJECT_KEY || 'test-project' }} | |
| days_ahead: '30' | |
| include_past_due: 'true' | |
| create_issues: 'true' | |
| github_token: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Display specific project results | |
| env: | |
| EXPIRING_FLAGS: ${{ steps.specific-test.outputs.expiring_flags }} | |
| PAST_DUE_FLAGS: ${{ steps.specific-test.outputs.past_due_flags }} | |
| run: | | |
| echo "Specific Project Test Results:" | |
| echo "Total flags with expiry dates: ${{ steps.specific-test.outputs.total_count }}" | |
| echo "Expiring flags: $(echo "$EXPIRING_FLAGS" | jq -r 'length')" | |
| echo "Past due flags: $(echo "$PAST_DUE_FLAGS" | jq -r 'length')" | |
| # Integration test for all projects without issue creation | |
| integration-test-all-projects: | |
| if: github.ref == 'refs/heads/main' && github.event_name == 'push' | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: read | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Test all projects without issue creation | |
| id: all-projects-test | |
| uses: ./ | |
| with: | |
| launchdarkly_api_key: ${{ secrets.LAUNCHDARKLY_API_KEY }} | |
| project_key: 'all' | |
| days_ahead: '14' | |
| include_past_due: 'true' | |
| create_issues: 'false' | |
| - name: Display all projects results | |
| env: | |
| EXPIRING_FLAGS: ${{ steps.all-projects-test.outputs.expiring_flags }} | |
| PAST_DUE_FLAGS: ${{ steps.all-projects-test.outputs.past_due_flags }} | |
| run: | | |
| echo "All Projects Test Results:" | |
| echo "Total flags with expiry dates: ${{ steps.all-projects-test.outputs.total_count }}" | |
| echo "Expiring flags: $(echo "$EXPIRING_FLAGS" | jq -r 'length')" | |
| echo "Past due flags: $(echo "$PAST_DUE_FLAGS" | jq -r 'length')" | |