From 93b04f0ecbb2b8c6084bda3f9e740537aadcbe49 Mon Sep 17 00:00:00 2001 From: Gabriel Ittner Date: Thu, 15 Jun 2023 10:39:52 +0200 Subject: [PATCH] replace github actions --- .github/android-sdk.sh | 29 ++++++++++++++ .github/workflows/build.yml | 9 +---- .github/workflows/publish-release.yml | 39 +++++++++++++++++++ .github/workflows/publish-snapshots.yml | 50 +++++++++++++++++++++++++ .github/workflows/release.yml | 5 +-- 5 files changed, 120 insertions(+), 12 deletions(-) create mode 100755 .github/android-sdk.sh create mode 100644 .github/workflows/publish-release.yml create mode 100644 .github/workflows/publish-snapshots.yml diff --git a/.github/android-sdk.sh b/.github/android-sdk.sh new file mode 100755 index 0000000000..84ade90489 --- /dev/null +++ b/.github/android-sdk.sh @@ -0,0 +1,29 @@ +#!/usr/bin/env bash +set -e + +# 5.0.0 rc1 +CMDLINE_TOOLS_VERSION=7006259 + +if [[ "$OSTYPE" == "linux-gnu"* ]]; then + CMDLINE_TOOLS_OS="linux" +elif [[ "$OSTYPE" == "darwin"* ]]; then + CMDLINE_TOOLS_OS="mac" +else + echo "Unsupported OS $OSTYPE" + exit 1 +fi + +echo "Setting up Android SDK" +mkdir -p $ANDROID_HOME/cmdline-tools +mkdir -p $ANDROID_HOME/licenses + +echo "Installing cmdline-tools" +wget -q -O /tmp/android-sdk.zip https://dl.google.com/android/repository/commandlinetools-${CMDLINE_TOOLS_OS}-${CMDLINE_TOOLS_VERSION}_latest.zip +unzip -qo /tmp/android-sdk.zip -d $ANDROID_HOME/cmdline-tools +mv $ANDROID_HOME/cmdline-tools/cmdline-tools $ANDROID_HOME/cmdline-tools/latest + +echo "Adding licenses" +echo -e "24333f8a63b6825ea9c5514f83c2829b004d1fee\n" > "$ANDROID_HOME/licenses/android-sdk-license" +echo -e "84831b9409646a918e30573bab4c9c91346d8abd\n" > "$ANDROID_HOME/licenses/android-sdk-preview-license" + +echo "Done!" diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 0ec43345e5..184a5dbdac 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,13 +1,6 @@ name: build -on: - pull_request: {} - - push: - branches: - - '**' - tags-ignore: - - '**' +on: workflow_dispatch env: GRADLE_OPTS: "-Dorg.gradle.jvmargs=-Xmx4g -Dorg.gradle.daemon=false -Dkotlin.incremental=false" diff --git a/.github/workflows/publish-release.yml b/.github/workflows/publish-release.yml new file mode 100644 index 0000000000..40b12d4040 --- /dev/null +++ b/.github/workflows/publish-release.yml @@ -0,0 +1,39 @@ +name: Publish Release + +on: + push: + tags: + - '**' + +jobs: + publish: + + runs-on: macos-latest + if: github.repository == 'freeletics/paparazzi' + + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Install JDK + uses: actions/setup-java@v3 + with: + distribution: zulu + java-version: 17 + + - name: Install Android SDK + run: ./.github/android-sdk.sh + + - name: Set version for tag + run: | + echo "ORG_GRADLE_PROJECT_VERSION_NAME=${{ github.ref_name }}" >> $GITHUB_ENV + + - uses: gradle/gradle-build-action@v2 + + - name: Publish + run: ./gradlew publish -Papp.cash.paparazzi.internal=false + env: + ORG_GRADLE_PROJECT_mavenCentralUsername: ${{ secrets.SONATYPE_NEXUS_USERNAME }} + ORG_GRADLE_PROJECT_mavenCentralPassword: ${{ secrets.SONATYPE_NEXUS_PASSWORD }} + ORG_GRADLE_PROJECT_signingInMemoryKey: ${{ secrets.MAVEN_SIGNING_PRIVATE_KEY }} + ORG_GRADLE_PROJECT_signingInMemoryKeyPassword: ${{ secrets.MAVEN_SIGNING_PASSWORD }} diff --git a/.github/workflows/publish-snapshots.yml b/.github/workflows/publish-snapshots.yml new file mode 100644 index 0000000000..383454a37f --- /dev/null +++ b/.github/workflows/publish-snapshots.yml @@ -0,0 +1,50 @@ +name: Publish Snapshot + +on: + push: + branches: + - '**' + tags: + - '**' + +jobs: + publish: + + runs-on: macos-latest + if: github.repository == 'freeletics/paparazzi' + + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: Install JDK + uses: actions/setup-java@v3 + with: + distribution: zulu + java-version: 17 + + - name: Install Android SDK + run: ./.github/android-sdk.sh + + - name: Set version for main + if: ${{ github.ref_name == 'main' || startsWith(github.ref, 'refs/tags/') }} + run: | + echo "ORG_GRADLE_PROJECT_VERSION_NAME=main-SNAPSHOT" >> $GITHUB_ENV + + - name: Set version for branch + if: ${{ github.ref_name != 'main' && !startsWith(github.ref, 'refs/tags/') }} + run: | + echo "ORG_GRADLE_PROJECT_VERSION_NAME=${{ github.ref_name }}-SNAPSHOT" | sed 's#/#-#g' >> $GITHUB_ENV + + - uses: gradle/gradle-build-action@v2 + + - name: Publish + run: ./gradlew publish -Papp.cash.paparazzi.internal=false + env: + ORG_GRADLE_PROJECT_mavenCentralUsername: ${{ secrets.SONATYPE_NEXUS_USERNAME }} + ORG_GRADLE_PROJECT_mavenCentralPassword: ${{ secrets.SONATYPE_NEXUS_PASSWORD }} + ORG_GRADLE_PROJECT_signingInMemoryKey: ${{ secrets.MAVEN_SIGNING_PRIVATE_KEY }} + ORG_GRADLE_PROJECT_signingInMemoryKeyPassword: ${{ secrets.MAVEN_SIGNING_PASSWORD }} + if: "${{ env.ORG_GRADLE_PROJECT_mavenCentralUsername != '' }}" diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 3c79d6fcbc..b1b6cb1769 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,9 +1,6 @@ name: release -on: - push: - tags: - - '**' +on: workflow_dispatch env: GRADLE_OPTS: "-Dorg.gradle.jvmargs=-Xmx4g -Dorg.gradle.daemon=false -Dkotlin.incremental=false"