diff --git a/.github/workflows/benchmarks.yml b/.github/workflows/benchmarks.yml index dd9faf13b90..7bf8a0fc56a 100644 --- a/.github/workflows/benchmarks.yml +++ b/.github/workflows/benchmarks.yml @@ -5,25 +5,27 @@ on: # branches: [ '*' ] schedule: - cron: '0 3 * * *' + workflow_dispatch: + env: - GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }} + DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }} jobs: benchmarks: runs-on: macos-14 if: github.repository == 'apollographql/apollo-kotlin' steps: - - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 #v4.1.1 - - uses: actions/setup-java@387ac29b308b003ca37ba93a6cab5eb57c8f5f93 #v4.0.0 + - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 #v4.1.7 + - uses: actions/setup-java@99b8673ff64fbf99d8d325f52d9a5bdedb8483e9 #v4.2.1 with: distribution: 'temurin' java-version: 17 - - uses: gradle/gradle-build-action@42452daeb5b454a76f686a8e4de8234afd7b1f44 #v2.12.0 + - uses: gradle/actions/setup-gradle@dbbdc275be76ac10734476cc723d82dfe7ec6eda #v3.4.2 with: gradle-home-cache-cleanup: true - run: | # Build the benchmark apks - ./gradlew -p benchmark :app:assembleRelease :microbenchmark:assembleIncubatingReleaseAndroidTest :microbenchmark:assembleStableReleaseAndroidTest + ./gradlew -p benchmark :app:assembleRelease :microbenchmark:assembleReleaseAndroidTest # Step can be removed if/when gcloud is added to the macos image - See https://github.com/actions/virtual-environments/issues/4639 - name: Setup gcloud uses: google-github-actions/setup-gcloud@98ddc00a17442e89a24bbf282954a3b65ce6d200 #v2.1.0 diff --git a/.github/workflows/bump-kotlin-shadow.yml b/.github/workflows/bump-kotlin-shadow.yml new file mode 100644 index 00000000000..0dfa6d1c87b --- /dev/null +++ b/.github/workflows/bump-kotlin-shadow.yml @@ -0,0 +1,20 @@ +name: Bump kotlin shadow + +on: + schedule: + - cron: '0 2 * * *' + workflow_dispatch: + +jobs: + push-kotlin-nightlies-branch: + runs-on: macos-14 + steps: + - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 #v4.1.7 + - name: Bump Kotlin in libraries.toml + run: ./scripts/bump-kotlin-in-libraries-toml.main.kts + - name: Push changes to kotlin-nightlies branch + run: | + git checkout -b kotlin-nightlies + git add . + git commit -m "Bump Kotlin version" + git push --force origin kotlin-nightlies diff --git a/.github/workflows/defer-with-router-tests.yml b/.github/workflows/defer-with-router-tests.yml index 1074bc779ae..ae816371c8f 100644 --- a/.github/workflows/defer-with-router-tests.yml +++ b/.github/workflows/defer-with-router-tests.yml @@ -4,7 +4,7 @@ on: schedule: - cron: '0 3 * * *' env: - GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }} + DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }} jobs: defer-with-router-tests: @@ -12,7 +12,7 @@ jobs: if: github.repository == 'apollographql/apollo-kotlin' steps: - name: Checkout project - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 #v4.1.1 + uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 #v4.1.7 - name: Install and run subgraph working-directory: tests/defer/router/subgraphs/computers @@ -29,13 +29,13 @@ jobs: ./router --supergraph tests/defer/router/simple-supergraph.graphqls & - name: Setup Java - uses: actions/setup-java@387ac29b308b003ca37ba93a6cab5eb57c8f5f93 #v4.0.0 + uses: actions/setup-java@99b8673ff64fbf99d8d325f52d9a5bdedb8483e9 #v4.2.1 with: distribution: 'temurin' java-version: 17 - name: Setup Gradle - uses: gradle/gradle-build-action@42452daeb5b454a76f686a8e4de8234afd7b1f44 #v2.12.0 + uses: gradle/actions/setup-gradle@dbbdc275be76ac10734476cc723d82dfe7ec6eda #v3.4.2 - name: Run Apollo Kotlin @defer tests env: diff --git a/.github/workflows/docs-publish.yml b/.github/workflows/docs-publish.yml index f0df1982fd4..0a81d4a7794 100644 --- a/.github/workflows/docs-publish.yml +++ b/.github/workflows/docs-publish.yml @@ -13,7 +13,7 @@ on: jobs: publish: - uses: apollographql/docs/.github/workflows/publish.yml@main + uses: apollographql/docs/.github/workflows/publish.yml@main # pga-ignore if: github.repository == 'apollographql/apollo-kotlin' secrets: NETLIFY_SITE_ID: ${{ secrets.NETLIFY_SITE_ID }} diff --git a/.github/workflows/platform-api-tests.yml b/.github/workflows/platform-api-tests.yml index a4403df6587..f1048b70872 100644 --- a/.github/workflows/platform-api-tests.yml +++ b/.github/workflows/platform-api-tests.yml @@ -8,7 +8,7 @@ on: workflow_dispatch: env: - GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }} + DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }} jobs: platform-api-tests: @@ -16,16 +16,16 @@ jobs: if: github.repository == 'apollographql/apollo-kotlin' steps: - name: Checkout project - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 #v4.1.1 + uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 #v4.1.7 - name: Setup Java - uses: actions/setup-java@387ac29b308b003ca37ba93a6cab5eb57c8f5f93 #v4.0.0 + uses: actions/setup-java@99b8673ff64fbf99d8d325f52d9a5bdedb8483e9 #v4.2.1 with: distribution: 'temurin' java-version: 17 - name: Setup Gradle - uses: gradle/gradle-build-action@42452daeb5b454a76f686a8e4de8234afd7b1f44 #v2.12.0 + uses: gradle/actions/setup-gradle@dbbdc275be76ac10734476cc723d82dfe7ec6eda #v3.4.2 - name: Run tests against the Apollo Platform API env: diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index c8b31b03b44..c811d49bd50 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -5,12 +5,14 @@ on: paths-ignore: - 'docs/**' - '*.md' + workflow_dispatch: + env: - GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }} + DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }} # Cancel any current or previous job from the same PR concurrency: - group: ${{ github.head_ref }} + group: ${{ format('{0}-', github.head_ref) }} cancel-in-progress: true jobs: @@ -18,12 +20,12 @@ jobs: if: "!startsWith(github.head_ref, 'release-')" runs-on: macos-14 steps: - - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 #v4.1.1 - - uses: actions/setup-java@387ac29b308b003ca37ba93a6cab5eb57c8f5f93 #v4.0.0 + - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 #v4.1.7 + - uses: actions/setup-java@99b8673ff64fbf99d8d325f52d9a5bdedb8483e9 #v4.2.1 with: distribution: 'temurin' java-version: 17 - - uses: gradle/gradle-build-action@42452daeb5b454a76f686a8e4de8234afd7b1f44 #v2.12.0 + - uses: gradle/actions/setup-gradle@dbbdc275be76ac10734476cc723d82dfe7ec6eda #v3.4.2 with: gradle-home-cache-cleanup: true - name: Build with Gradle @@ -32,7 +34,7 @@ jobs: - name: Collect Diagnostics if: always() run: ./scripts/collect-diagnostics.main.kts - - uses: actions/upload-artifact@26f96dfa697d77e81fd5907df203aa23a56210a8 #v4.3.0 + - uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 #v4.3.3 if: always() with: name: tests-gradle.zip @@ -42,12 +44,12 @@ jobs: if: "!startsWith(github.head_ref, 'release-')" runs-on: macos-14 steps: - - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 #v4.1.1 - - uses: actions/setup-java@387ac29b308b003ca37ba93a6cab5eb57c8f5f93 #v4.0.0 + - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 #v4.1.7 + - uses: actions/setup-java@99b8673ff64fbf99d8d325f52d9a5bdedb8483e9 #v4.2.1 with: distribution: 'temurin' java-version: 17 - - uses: gradle/gradle-build-action@42452daeb5b454a76f686a8e4de8234afd7b1f44 #v2.12.0 + - uses: gradle/actions/setup-gradle@dbbdc275be76ac10734476cc723d82dfe7ec6eda #v3.4.2 with: gradle-home-cache-cleanup: true - name: Build with Gradle @@ -56,7 +58,7 @@ jobs: - name: Collect Diagnostics if: always() run: ./scripts/collect-diagnostics.main.kts - - uses: actions/upload-artifact@26f96dfa697d77e81fd5907df203aa23a56210a8 #v4.3.0 + - uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 #v4.3.3 if: always() with: name: tests-no-gradle.zip @@ -66,12 +68,12 @@ jobs: if: "!startsWith(github.head_ref, 'release-')" runs-on: macos-14 steps: - - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 #v4.1.1 - - uses: actions/setup-java@387ac29b308b003ca37ba93a6cab5eb57c8f5f93 #v4.0.0 + - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 #v4.1.7 + - uses: actions/setup-java@99b8673ff64fbf99d8d325f52d9a5bdedb8483e9 #v4.2.1 with: distribution: 'temurin' java-version: 17 - - uses: gradle/gradle-build-action@42452daeb5b454a76f686a8e4de8234afd7b1f44 #v2.12.0 + - uses: gradle/actions/setup-gradle@dbbdc275be76ac10734476cc723d82dfe7ec6eda #v3.4.2 with: gradle-home-cache-cleanup: true - name: Build with Gradle @@ -80,7 +82,7 @@ jobs: - name: Collect Diagnostics if: always() run: ./scripts/collect-diagnostics.main.kts - - uses: actions/upload-artifact@26f96dfa697d77e81fd5907df203aa23a56210a8 #v4.3.0 + - uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 #v4.3.3 if: always() with: name: tests-integration.zip @@ -102,11 +104,11 @@ jobs: # Check out current repository - name: Fetch Sources - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 #v4.1.1 + uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 #v4.1.7 # Setup Java 11 environment for the next steps - name: Setup Java - uses: actions/setup-java@387ac29b308b003ca37ba93a6cab5eb57c8f5f93 #v4.0.0 + uses: actions/setup-java@99b8673ff64fbf99d8d325f52d9a5bdedb8483e9 #v4.2.1 with: distribution: 'temurin' java-version: 17 @@ -136,14 +138,14 @@ jobs: # Collect Tests Result of failed tests - name: Collect Tests Result if: ${{ failure() }} - uses: actions/upload-artifact@26f96dfa697d77e81fd5907df203aa23a56210a8 #v4.3.0 + uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 #v4.3.3 with: name: tests-result path: ${{ github.workspace }}/intellij-plugin/build/reports/tests # Cache Plugin Verifier IDEs - name: Setup Plugin Verifier IDEs Cache - uses: actions/cache@13aacd865c20de90d75de3b17ebe84f7a17d57d2 #v4.0.0 + uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 #v4.0.2 with: path: ${{ steps.properties.outputs.pluginVerifierHomeDir }}/ides key: plugin-verifier-${{ hashFiles('intellij-plugin/build/listProductsReleases.txt') }} @@ -155,7 +157,7 @@ jobs: # Collect Plugin Verifier Result - name: Collect Plugin Verifier Result if: ${{ always() }} - uses: actions/upload-artifact@26f96dfa697d77e81fd5907df203aa23a56210a8 #v4.3.0 + uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 #v4.3.3 with: name: pluginVerifier-result path: ${{ github.workspace }}/intellij-plugin/build/reports/pluginVerifier @@ -173,7 +175,7 @@ jobs: # Store already-built plugin as an artifact for downloading - name: Upload artifact - uses: actions/upload-artifact@26f96dfa697d77e81fd5907df203aa23a56210a8 #v4.3.0 + uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 #v4.3.3 with: name: ${{ steps.artifact.outputs.filename }} path: ./intellij-plugin/build/distributions/content/*/* diff --git a/.github/workflows/publish-ij-plugin-snapshot.yml b/.github/workflows/publish-ij-plugin-snapshot.yml index 7e9486d1172..7678fb1a24d 100644 --- a/.github/workflows/publish-ij-plugin-snapshot.yml +++ b/.github/workflows/publish-ij-plugin-snapshot.yml @@ -5,16 +5,16 @@ on: - cron: '0 0 * * 0' workflow_dispatch: env: - GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }} + DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }} jobs: publish-intellij-plugin: name: Publish IntelliJ plugin runs-on: ubuntu-latest steps: - - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 #v4.1.1 + - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 #v4.1.7 - - uses: actions/setup-java@387ac29b308b003ca37ba93a6cab5eb57c8f5f93 #v4.0.0 + - uses: actions/setup-java@99b8673ff64fbf99d8d325f52d9a5bdedb8483e9 #v4.2.1 with: distribution: 'temurin' java-version: 17 diff --git a/.github/workflows/push.yml b/.github/workflows/push.yml index 161b8755404..107a1eb9a18 100644 --- a/.github/workflows/push.yml +++ b/.github/workflows/push.yml @@ -7,19 +7,19 @@ on: - 'docs/**' - '*.md' env: - GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }} + DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }} jobs: deploy: runs-on: macos-14 if: github.repository == 'apollographql/apollo-kotlin' steps: - - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 #v4.1.1 - - uses: actions/setup-java@387ac29b308b003ca37ba93a6cab5eb57c8f5f93 #v4.0.0 + - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 #v4.1.7 + - uses: actions/setup-java@99b8673ff64fbf99d8d325f52d9a5bdedb8483e9 #v4.2.1 with: distribution: 'temurin' java-version: 17 - - uses: gradle/gradle-build-action@42452daeb5b454a76f686a8e4de8234afd7b1f44 #v2.12.0 + - uses: gradle/actions/setup-gradle@dbbdc275be76ac10734476cc723d82dfe7ec6eda #v3.4.2 with: gradle-home-cache-cleanup: true - name: Build with Gradle @@ -35,13 +35,13 @@ jobs: - name: Collect Diagnostics if: always() run: ./scripts/collect-diagnostics.main.kts - - uses: actions/upload-artifact@26f96dfa697d77e81fd5907df203aa23a56210a8 #v4.3.0 + - uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 #v4.3.3 if: always() with: name: push.zip path: diagnostics.zip - name: Deploy Kdoc to github pages - uses: JamesIves/github-pages-deploy-action@65b5dfd4f5bcd3a7403bbc2959c144256167464e #v4.5.0 + uses: JamesIves/github-pages-deploy-action@5c6e9e9f3672ce8fd37b9856193d2a537941e66c #v4.6.1 with: branch: gh-pages # The branch the action should deploy to. folder: libraries/apollo-kdoc/build/dokka/html # The folder the action should deploy. diff --git a/.github/workflows/tag.yml b/.github/workflows/tag.yml index 5714097963b..9674ae5a978 100644 --- a/.github/workflows/tag.yml +++ b/.github/workflows/tag.yml @@ -5,7 +5,7 @@ on: tags: - '*' env: - GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }} + DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }} jobs: publish-libraries: @@ -13,12 +13,12 @@ jobs: runs-on: macos-14 if: github.repository == 'apollographql/apollo-kotlin' steps: - - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 #v4.1.1 - - uses: actions/setup-java@387ac29b308b003ca37ba93a6cab5eb57c8f5f93 #v4.0.0 + - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 #v4.1.7 + - uses: actions/setup-java@99b8673ff64fbf99d8d325f52d9a5bdedb8483e9 #v4.2.1 with: distribution: 'temurin' java-version: 17 - - uses: gradle/gradle-build-action@42452daeb5b454a76f686a8e4de8234afd7b1f44 #v2.12.0 + - uses: gradle/actions/setup-gradle@dbbdc275be76ac10734476cc723d82dfe7ec6eda #v3.4.2 with: gradle-home-cache-cleanup: true #--no-configuration-cache for https://youtrack.jetbrains.com/issue/KT-65879 @@ -36,8 +36,8 @@ jobs: name: Publish IntelliJ plugin runs-on: ubuntu-latest steps: - - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 #v4.1.1 - - uses: actions/setup-java@387ac29b308b003ca37ba93a6cab5eb57c8f5f93 #v4.0.0 + - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 #v4.1.7 + - uses: actions/setup-java@99b8673ff64fbf99d8d325f52d9a5bdedb8483e9 #v4.2.1 with: distribution: 'temurin' java-version: 17 diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml index a5f2722fe66..d69494f0a95 100644 --- a/.idea/codeStyles/Project.xml +++ b/.idea/codeStyles/Project.xml @@ -25,6 +25,10 @@