[PLUTO-1411] debug #62
Workflow file for this run
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: plugin it-test | |
| permissions: | |
| contents: write | |
| on: | |
| push: | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Set up Go | |
| uses: actions/setup-go@v5 | |
| with: | |
| go-version: '1.21' | |
| cache: true | |
| - name: Build CLI for Linux | |
| run: | | |
| GOOS=linux GOARCH=amd64 go build -o cli-v2-linux ./cli-v2.go | |
| - name: Build CLI for Windows | |
| run: | | |
| GOOS=windows GOARCH=amd64 go build -o cli-v2.exe ./cli-v2.go | |
| - name: Build CLI for macOS | |
| run: | | |
| GOOS=darwin GOARCH=amd64 go build -o cli-v2-macos ./cli-v2.go | |
| - name: Upload CLI binaries | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: cli-binaries | |
| path: | | |
| cli-v2-linux | |
| cli-v2.exe | |
| cli-v2-macos | |
| test: | |
| needs: build | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| matrix: | |
| os: [ubuntu-latest, macos-latest, windows-latest] | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Set up Go | |
| uses: actions/setup-go@v5 | |
| with: | |
| go-version: '1.21' | |
| cache: true | |
| - name: Download CLI binaries | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: cli-binaries | |
| path: . | |
| - name: Select correct binary | |
| shell: bash | |
| run: | | |
| if [ "${{ matrix.os }}" = "windows-latest" ]; then | |
| # Keep the .exe extension for Windows | |
| echo "Using Windows binary with .exe extension" | |
| elif [ "${{ matrix.os }}" = "macos-latest" ]; then | |
| mv cli-v2-macos cli-v2 | |
| else | |
| mv cli-v2-linux cli-v2 | |
| fi | |
| - name: Make binary executable | |
| if: matrix.os != 'windows-latest' | |
| run: chmod +x cli-v2 | |
| - name: Run plugin tests | |
| id: run_tests | |
| continue-on-error: true | |
| shell: bash | |
| run: | | |
| # Make the script executable | |
| chmod +x run-tool-tests.sh | |
| # Initialize failed tools file | |
| rm -f /tmp/failed_tools.txt | |
| touch /tmp/failed_tools.txt | |
| # Run tests for each tool directory | |
| for tool_dir in plugins/tools/*/; do | |
| tool_name=$(basename "$tool_dir") | |
| if [ -d "$tool_dir/test/src" ]; then | |
| echo "Running tests for $tool_name..." | |
| ./run-tool-tests.sh "$tool_name" | |
| fi | |
| done | |
| # Check if any tools failed | |
| if [ -s /tmp/failed_tools.txt ] && [ "$(wc -l < /tmp/failed_tools.txt)" -gt 0 ]; then | |
| echo -e "\n❌ The following tools failed their tests:" | |
| cat /tmp/failed_tools.txt | |
| echo "::error::Some tool tests failed. Please check the logs above for details." | |
| exit 1 | |
| else | |
| echo "✅ All tool tests passed successfully!" | |
| fi | |
| - name: Check test results | |
| if: steps.run_tests.outcome == 'failure' | |
| run: | | |
| echo "Job failed because some tool tests failed. Please check the logs above for details." | |
| exit 1 |