diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 36c24750..0d02dbba 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -8,6 +8,7 @@ on: branches: - main - eap + - test pull_request: jobs: @@ -41,124 +42,3 @@ jobs: with: name: tests-result path: ${{ github.workspace }}/build/reports/tests - - # Run Gradle Wrapper Validation Action to verify the wrapper's checksum. Run - # verifyPlugin and IntelliJ Plugin Verifier. Build plugin and provide the - # artifact for the next workflow jobs. - build: - name: Build - needs: test - runs-on: ubuntu-latest - outputs: - version: ${{ steps.properties.outputs.version }} - changelog: ${{ steps.properties.outputs.changelog }} - steps: - # Check out current repository - - name: Fetch Sources - uses: actions/checkout@v4.1.1 - - # Setup Java 11 environment for the next steps - - name: Setup Java - uses: actions/setup-java@v4 - with: - distribution: zulu - java-version: 17 - cache: gradle - - # Set environment variables - - name: Export Properties - id: properties - shell: bash - run: | - PROPERTIES="$(./gradlew properties --console=plain -q)" - VERSION="$(echo "$PROPERTIES" | grep "^version:" | cut -f2- -d ' ')" - NAME="$(echo "$PROPERTIES" | grep "^pluginName:" | cut -f2- -d ' ')" - CHANGELOG="$(./gradlew getChangelog --unreleased --no-header --console=plain -q)" - CHANGELOG="${CHANGELOG//'%'/'%25'}" - CHANGELOG="${CHANGELOG//$'\n'/'%0A'}" - CHANGELOG="${CHANGELOG//$'\r'/'%0D'}" - echo "::set-output name=version::$VERSION" - echo "::set-output name=name::$NAME" - echo "::set-output name=changelog::$CHANGELOG" - echo "::set-output name=pluginVerifierHomeDir::~/.pluginVerifier" - ./gradlew listProductsReleases # prepare list of IDEs for Plugin Verifier - - # Run plugin build - - name: Run Build - run: ./gradlew clean buildPlugin --info - -# until https://github.com/JetBrains/gradle-intellij-plugin/issues/1027 is solved - -# # Cache Plugin Verifier IDEs -# - name: Setup Plugin Verifier IDEs Cache -# uses: actions/cache@v2.1.7 -# with: -# path: ${{ steps.properties.outputs.pluginVerifierHomeDir }}/ides -# key: plugin-verifier-${{ hashFiles('build/listProductsReleases.txt') }} -# -# # Run Verify Plugin task and IntelliJ Plugin Verifier tool -# - name: Run Plugin Verification tasks -# run: ./gradlew runPluginVerifier -Pplugin.verifier.home.dir=${{ steps.properties.outputs.pluginVerifierHomeDir }} -# -# # Collect Plugin Verifier Result -# - name: Collect Plugin Verifier Result -# if: ${{ always() }} -# uses: actions/upload-artifact@v4 -# with: -# name: pluginVerifier-result -# path: ${{ github.workspace }}/build/reports/pluginVerifier - - # Run Qodana inspections - - name: Qodana - Code Inspection - uses: JetBrains/qodana-action@v2023.3.0 - - # Prepare plugin archive content for creating artifact - - name: Prepare Plugin Artifact - id: artifact - shell: bash - run: | - cd ${{ github.workspace }}/build/distributions - FILENAME=`ls *.zip` - unzip "$FILENAME" -d content - echo "::set-output name=filename::${FILENAME:0:-4}" - # Store already-built plugin as an artifact for downloading - - name: Upload artifact - uses: actions/upload-artifact@v4 - with: - name: ${{ steps.artifact.outputs.filename }} - path: ./build/distributions/content/*/* - - # Prepare a draft release for GitHub Releases page for the manual verification - # If accepted and published, release workflow would be triggered - releaseDraft: - name: Release Draft - if: github.event_name != 'pull_request' - needs: build - runs-on: ubuntu-latest - steps: - - # Check out current repository - - name: Fetch Sources - uses: actions/checkout@v4.1.1 - - # Remove old release drafts by using the curl request for the available releases with draft flag - - name: Remove Old Release Drafts - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - gh api repos/{owner}/{repo}/releases \ - --jq '.[] | select(.draft == true) | .id' \ - | xargs -I '{}' gh api -X DELETE repos/{owner}/{repo}/releases/{} - # Create new release draft - which is not publicly visible and requires manual acceptance - - name: Create Release Draft - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - gh release create v${{ needs.build.outputs.version }} \ - --draft \ - --target ${GITHUB_REF_NAME} \ - --title "v${{ needs.build.outputs.version }}" \ - --notes "$(cat << 'EOM' - ${{ needs.build.outputs.changelog }} - EOM - )" diff --git a/src/main/kotlin/com/coder/gateway/sdk/CoderCLIManager.kt b/src/main/kotlin/com/coder/gateway/sdk/CoderCLIManager.kt index 58b6cc41..a227c712 100644 --- a/src/main/kotlin/com/coder/gateway/sdk/CoderCLIManager.kt +++ b/src/main/kotlin/com/coder/gateway/sdk/CoderCLIManager.kt @@ -51,6 +51,7 @@ class CoderCLIManager @JvmOverloads constructor( ) if (!remoteBinaryURLOverride.isNullOrBlank()) { logger.info("Using remote binary override $remoteBinaryURLOverride") + println("Using remote binary override $remoteBinaryURLOverride") remoteBinaryURL = try { remoteBinaryURLOverride.toURL() } catch (e: Exception) { @@ -69,6 +70,7 @@ class CoderCLIManager @JvmOverloads constructor( */ private fun getCoderCLIForOS(os: OS?, arch: Arch?): String { logger.info("Resolving binary for $os $arch") + println("Resolving binary for $os $arch") if (os == null) { logger.error("Could not resolve client OS and architecture, defaulting to WINDOWS AMD64") return "coder-windows-amd64.exe" @@ -109,6 +111,7 @@ class CoderCLIManager @JvmOverloads constructor( } if (etag != null) { logger.info("Found existing binary at $localBinaryPath; calculated hash as $etag") + println("Found existing binary at $localBinaryPath; calculated hash as $etag") conn.setRequestProperty("If-None-Match", "\"$etag\"") } conn.setRequestProperty("Accept-Encoding", "gzip") @@ -120,9 +123,11 @@ class CoderCLIManager @JvmOverloads constructor( try { conn.connect() logger.info("GET ${conn.responseCode} $remoteBinaryURL") + println("GET ${conn.responseCode} $remoteBinaryURL") when (conn.responseCode) { HttpURLConnection.HTTP_OK -> { logger.info("Downloading binary to $localBinaryPath") + println("Downloading binary to $localBinaryPath") Files.createDirectories(localBinaryPath.parent) conn.inputStream.use { Files.copy( @@ -139,6 +144,7 @@ class CoderCLIManager @JvmOverloads constructor( HttpURLConnection.HTTP_NOT_MODIFIED -> { logger.info("Using cached binary at $localBinaryPath") + println("Using cached binary at $localBinaryPath") return false } }