Skip to content

Commit

Permalink
ci: update and delete build cache (#102)
Browse files Browse the repository at this point in the history
  • Loading branch information
utybo authored Oct 20, 2024
1 parent eb71e75 commit 9fa9827
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 91 deletions.
107 changes: 33 additions & 74 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,33 +7,28 @@ on:
pull_request:
types: [opened, synchronize, reopened]

env:
BUILD_CACHE_URL: ${{ secrets.BUILD_CACHE_URL }}
BUILD_CACHE_USERNAME: ${{ secrets.BUILD_CACHE_USERNAME }}
BUILD_CACHE_PASSWORD: ${{ secrets.BUILD_CACHE_PASSWORD }}

jobs:
validate-wrapper:
name: "Validate Gradle wrapper"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: gradle/wrapper-validation-action@v1
- uses: actions/checkout@v4
- uses: gradle/actions/wrapper-validation@v4

check:
name: "Run tests & checks"
runs-on: ubuntu-latest
needs: [validate-wrapper]
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4

- uses: actions/setup-java@v3
- uses: actions/setup-java@v4
with:
distribution: "temurin"
java-version: "11"

# Required for PrismaKT tests (which call npx prisma)
- uses: actions/setup-node@v3
- uses: actions/setup-node@v4
with:
node-version: 16

Expand All @@ -42,10 +37,10 @@ jobs:
# from concurrent installations of Prisma, this attempts to fix it.

- name: Setup Gradle
uses: gradle/gradle-build-action@v2
uses: gradle/actions/setup-gradle@v4

- name: Run checks and tests
run: ./gradlew check --build-cache -I ci/build-cache.init.gradle
run: ./gradlew check

- name: Upload code coverage to CodeCov
uses: codecov/codecov-action@v3
Expand All @@ -58,96 +53,61 @@ jobs:
runs-on: ubuntu-latest
needs: [validate-wrapper]
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4

- uses: actions/setup-java@v3
- uses: actions/setup-java@v4
with:
distribution: "temurin"
java-version: "11"

- name: Setup Gradle
uses: gradle/gradle-build-action@v2
uses: gradle/actions/setup-gradle@v4

- name: Publish catalog to local Maven repo
run: "./gradlew :tegral-catalog:publishToMavenLocal --build-cache -I ci/build-cache.init.gradle"
run: "./gradlew :tegral-catalog:publishToMavenLocal"

- name: Run check on example
run: |
examples="step-1 step-2"
for example in $examples; do
./gradlew -p "examples/tutorial/${example}" check --include-build ../../.. --build-cache -I ../../../ci/build-cache.init.gradle
./gradlew -p "examples/tutorial/${example}" check --include-build ../../..
done
build-dokka:
name: "Generate Dokka files"
runs-on: ubuntu-latest
build-deploy-website:
name: Assemble and deploy website
needs: [validate-wrapper]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3

- uses: actions/setup-java@v3
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
distribution: "temurin"
java-version: "11"

- name: Setup Gradle
uses: gradle/gradle-build-action@v2

- name: Generate Dokka documentation
run: ./gradlew :website:rewriteDokkaLinks --build-cache -I ci/build-cache.init.gradle

build-docs:
name: "Build Docusaurus"
needs: [validate-wrapper]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: pnpm/action-setup@v2
- uses: pnpm/action-setup@v4
with:
version: 7
- uses: actions/setup-node@v3
- uses: actions/setup-node@v4
with:
cache: 'pnpm'
cache-dependency-path: '**/pnpm-lock.yaml'
cache: "pnpm"
cache-dependency-path: "**/pnpm-lock.yaml"
- name: Install dependencies
run: |
cd docs && pnpm i --frozen-lockfile
- name: Setup Gradle
uses: gradle/gradle-build-action@v2

- name: Build documentation website
run: ./gradlew :docs:docusaurusBuild --build-cache -I ci/build-cache.init.gradle

build-deploy-website:
name: Assemble and deploy website
needs: [validate-wrapper, build-docs, build-dokka, check, check-examples]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3

- uses: actions/setup-java@v3
with:
distribution: "temurin"
java-version: "11"

- name: Setup Gradle
uses: gradle/gradle-build-action@v2

# TODO maybe unnecessary
- uses: actions/setup-node@v3
uses: gradle/actions/setup-gradle@v4

- name: Assemble website files
run: ./gradlew :website:assembleFiles --build-cache -I ci/build-cache.init.gradle
run: ./gradlew :website:assembleFiles

- name: Deploy to Netlify
uses: nwtgck/actions-netlify@v2.0.0
uses: nwtgck/actions-netlify@v3
with:
production-deploy: "${{ github.event_name == 'push' && startsWith(github.ref, 'refs/tags/') }}"
publish-dir: "website/build/output"
github-token: ${{ secrets.GITHUB_TOKEN }}
enable-pull-request-comment: true
enable-commit-comment: true
enable-commit-comment: false
overwrites-pull-request-comment: true
netlify-config-path: ./netlify.toml
env:
Expand All @@ -161,43 +121,42 @@ jobs:
runs-on: ubuntu-latest
needs: [validate-wrapper, check, check-examples]
steps:
- uses: actions/checkout@v2
- uses: actions/setup-java@v3
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
distribution: "temurin"
java-version: "11"

- name: Setup Gradle
uses: gradle/gradle-build-action@v2
uses: gradle/gradle-build-action@v4

- name: Publish snapshot
env:
ORG_GRADLE_PROJECT_mavenCentralSnapshotsUsername: ${{ secrets.MAVEN_CENTRAL_USERNAME }}
ORG_GRADLE_PROJECT_mavenCentralSnapshotsPassword: ${{ secrets.MAVEN_CENTRAL_PASSWORD }}
ORG_GRADLE_PROJECT_signingKey: ${{ secrets.GPG_PRIVATE_KEY }}
ORG_GRADLE_PROJECT_signingPassword: ${{ secrets.GPG_PASSPHRASE }}
run: ./gradlew -PpublishSnapshot -Psign publish --build-cache -I ci/build-cache.init.gradle
run: ./gradlew -PpublishSnapshot -Psign publish

publish-release:
name: Publish release
if: "github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v')"
runs-on: ubuntu-latest
needs: [validate-wrapper, check, build-deploy-website]
needs: [validate-wrapper, check, build-deploy-website, check-examples]
steps:
- uses: actions/checkout@v2
- uses: actions/setup-java@v3
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
distribution: "temurin"
java-version: "11"

- name: Setup Gradle
uses: gradle/gradle-build-action@v2
uses: gradle/gradle-build-action@v4

- name: Publish release
env:
ORG_GRADLE_PROJECT_mavenCentralReleaseUsername: ${{ secrets.MAVEN_CENTRAL_USERNAME }}
ORG_GRADLE_PROJECT_mavenCentralReleasePassword: ${{ secrets.MAVEN_CENTRAL_PASSWORD }}
ORG_GRADLE_PROJECT_signingKey: ${{ secrets.GPG_PRIVATE_KEY }}
ORG_GRADLE_PROJECT_signingPassword: ${{ secrets.GPG_PASSPHRASE }}
# No build cache here to be 100% sure that cache weirdness cannot affect the final, definitive jars
run: ./gradlew -PpublishRelease -Psign publish
17 changes: 0 additions & 17 deletions ci/build-cache.init.gradle

This file was deleted.

0 comments on commit 9fa9827

Please sign in to comment.