Add java to it tests #169
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 | |
| uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 # Needed for git history | |
| - name: Set up Go | |
| uses: actions/setup-go@v4 | |
| - name: Build CLI for all platforms | |
| run: make build-all | |
| - 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] | |
| fail-fast: false | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 # Needed for git history | |
| - 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 init tests on Windows native | |
| if: matrix.os == 'windows-latest' | |
| id: run_init_tests_windows | |
| continue-on-error: true | |
| shell: pwsh | |
| run: | | |
| $ErrorActionPreference = "Stop" | |
| & ./integration-tests/run.ps1 | |
| if ($LASTEXITCODE -ne 0) { | |
| Write-Error "Integration tests failed with exit code $LASTEXITCODE" | |
| exit $LASTEXITCODE | |
| } | |
| env: | |
| CODACY_API_TOKEN: ${{ secrets.CODACY_API_TOKEN }} | |
| - name: Run init tests on Unix | |
| if: matrix.os != 'windows-latest' | |
| id: run_init_tests_unix | |
| continue-on-error: true | |
| shell: bash | |
| env: | |
| CODACY_API_TOKEN: ${{ secrets.CODACY_API_TOKEN }} | |
| run: | | |
| chmod +x integration-tests/run.sh | |
| ./integration-tests/run.sh | |
| - name: Run tool tests on Windows | |
| if: matrix.os == 'windows-latest' | |
| id: run_tool_tests_windows_wsl | |
| uses: ./.github/actions/tool-tests | |
| with: | |
| shell: pwsh | |
| - name: Run tool tests on Unix | |
| if: matrix.os != 'windows-latest' | |
| id: run_tool_tests_unix | |
| uses: ./.github/actions/tool-tests | |
| with: | |
| shell: bash | |
| - name: Check test results | |
| if: always() | |
| shell: bash | |
| run: | | |
| FAILED=false | |
| # Check init tests | |
| if [ "${{ matrix.os }}" = "windows-latest" ]; then | |
| if [ "${{ steps.run_init_tests_windows.outcome }}" = "failure" ]; then | |
| echo "::error::Windows init tests failed" | |
| FAILED=true | |
| fi | |
| if [ "${{ steps.run_tool_tests_windows.outcome }}" = "failure" ]; then | |
| echo "::error::Windows tool tests failed" | |
| FAILED=true | |
| fi | |
| else | |
| if [ "${{ steps.run_init_tests_unix.outcome }}" = "failure" ]; then | |
| echo "::error::Unix init tests failed" | |
| FAILED=true | |
| fi | |
| if [ "${{ steps.run_tool_tests_unix.outcome }}" = "failure" ]; then | |
| echo "::error::Unix tool tests failed" | |
| FAILED=true | |
| fi | |
| fi | |
| # Fail if any tests failed | |
| if [ "${FAILED:-false}" = "true" ]; then | |
| echo "Some tests failed. Please check the logs above for details." | |
| exit 1 | |
| fi |