feat: compose factories implemented #42
This file contains 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: Library Release Deploy | |
on: | |
push: | |
branches: [ "main" ] | |
workflow_dispatch: | |
env: | |
GITHUB_USERNAME: "meetacy" | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
jobs: | |
deploy-multiplatform: | |
runs-on: ubuntu-latest | |
outputs: | |
release_version: ${{ steps.output_version.outputs.release_version }} | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Setup Java | |
uses: actions/setup-java@v3 | |
with: | |
distribution: temurin | |
java-version: 11 | |
- name: Gradle Cache Setup | |
uses: gradle/gradle-build-action@v2 | |
- name: Gradle Sync | |
run: ./gradlew | |
- name: Add Version to Env | |
run: | | |
release_version=$(./gradlew printVersion -q) | |
echo "release_version=$release_version" >> $GITHUB_ENV | |
- name: Publish ${{ env.release_version }} | |
run: ./gradlew publishKotlinMultiplatformPublicationToGitHubRepository | |
- name: Add Sdk Version to Output | |
id: output_version | |
run: echo "release_version=${{ env.release_version }}" >> $GITHUB_OUTPUT | |
deploy-jvm: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Setup Java | |
uses: actions/setup-java@v3 | |
with: | |
distribution: temurin | |
java-version: 11 | |
- name: Gradle Cache Setup | |
uses: gradle/gradle-build-action@v2 | |
- name: Gradle Sync | |
run: ./gradlew | |
- name: Add Version to Env | |
run: | | |
release_version=$(./gradlew printVersion -q) | |
echo "release_version=$release_version" >> $GITHUB_ENV | |
- name: Publish ${{ env.release_version }} | |
run: ./gradlew publishJvmPublicationToGitHubRepository | |
deploy-android: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Setup Java | |
uses: actions/setup-java@v3 | |
with: | |
distribution: temurin | |
java-version: 11 | |
- name: Gradle Cache Setup | |
uses: gradle/gradle-build-action@v2 | |
- name: Gradle Sync | |
run: ./gradlew | |
- name: Add Version to Env | |
run: | | |
release_version=$(./gradlew printVersion -q) | |
echo "release_version=$release_version" >> $GITHUB_ENV | |
- name: Publish ${{ env.release_version }} | |
run: ./gradlew publishAndroidPublicationToGitHubRepository | |
deploy-js: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Setup Java | |
uses: actions/setup-java@v3 | |
with: | |
distribution: temurin | |
java-version: 11 | |
- name: Gradle Cache Setup | |
uses: gradle/gradle-build-action@v2 | |
- name: Gradle Sync | |
run: ./gradlew | |
- name: Add Version to Env | |
run: | | |
release_version=$(./gradlew printVersion -q) | |
echo "release_version=$release_version" >> $GITHUB_ENV | |
- name: Publish ${{ env.release_version }} | |
run: ./gradlew publishJsPublicationToGitHubRepository | |
deploy-konan: | |
runs-on: macos-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Setup Java | |
uses: actions/setup-java@v3 | |
with: | |
distribution: temurin | |
java-version: 11 | |
- name: Gradle Cache Setup | |
uses: gradle/gradle-build-action@v2 | |
- name: Konan Cache Setup | |
uses: actions/cache@v3 | |
with: | |
path: ~/.konan | |
key: konan-cache | |
- name: Gradle Sync | |
run: ./gradlew | |
- name: Add Version to Env | |
run: | | |
release_version=$(./gradlew printVersion -q) | |
echo "release_version=$release_version" >> $GITHUB_ENV | |
- name: Publish ${{ env.release_version }} | |
run: | | |
./gradlew publishIosX64PublicationToGitHubRepository \ | |
publishIosSimulatorArm64PublicationToGitHubRepository \ | |
publishIosArm64PublicationToGitHubRepository | |
create-release: | |
runs-on: ubuntu-latest | |
needs: | |
- deploy-multiplatform | |
- deploy-jvm | |
- deploy-js | |
- deploy-konan | |
- deploy-android | |
steps: | |
- name: Create Release | |
uses: actions/create-release@v1 | |
with: | |
tag_name: ${{ needs.deploy-multiplatform.outputs.release_version }} | |
release_name: Release ${{ needs.deploy-multiplatform.outputs.release_version }} |