diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index d28c2bc0..8146782b 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -1,11 +1,13 @@ -name: Check common +name: Check on: pull_request: branches: - - develop - paths-ignore: - - '**.md' - - 'LICENSE' + - 'develop' + - 'release/*' + paths: + - '**/src/**' + - '**.gradle.kts' + - 'gradle.properties' jobs: check: diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 15eae140..6683de96 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -1,4 +1,4 @@ -name: Publish common artifacts +name: Publish on: release: types: [published] @@ -15,6 +15,12 @@ jobs: runs-on: ${{ matrix.config.os }} steps: - uses: actions/checkout@v2 + - id: to_version + uses: actions/github-script@0.9.0 + with: + result-encoding: string + script: | + return '${{ github.event.release.tag_name }}'.replace(/^v/, ''); - uses: actions/setup-java@v1 with: java-version: 11 @@ -25,12 +31,6 @@ jobs: BINTRAY_USER: ${{ secrets.BINTRAY_USER }} BINTRAY_API_KEY: ${{ secrets.BINTRAY_API_KEY }} GRADLE_OPTS: -Dorg.gradle.jvmargs=-Xmx2g - - id: to_version - uses: actions/github-script@0.9.0 - with: - github-token: ${{secrets.GITHUB_TOKEN}} - result-encoding: string - script: return context.payload.release.tag_name.replace(/^v/, ''); - name: Upload Release Asset uses: actions/upload-release-asset@v1 env: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 00000000..a350f553 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,42 @@ +name: Release +on: + push: + branches: + - 'develop' + - 'release/*' + paths: + - '**/src/*[Mm]ain/**' + - '**/src/commonNative/**' + - '**.gradle.kts' + - 'gradle.properties' + +jobs: + release: + if: "!contains(github.event.commits[0].message, '[skip ci]')" + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v2 + with: + fetch-depth: 20 + - run: git fetch + - id: semver_kind + uses: actions/github-script@0.9.0 + with: + result-encoding: string + script: | + const branch = '${{ github.ref }}'.substring(11); + return branch.startsWith('release/') ? 'patch' : 'prerelease'; + - name: Next SemVer + id: next_semver + uses: Drill4J/semver-tag-action@v0.1.0 + with: + type: ${{ steps.semver_kind.outputs.result }} + - name: Create Release + uses: actions/create-release@v1 + env: + GITHUB_TOKEN: ${{ secrets.TOKEN }} + with: + tag_name: ${{ steps.next_semver.outputs.tag }} + release_name: ${{ steps.next_semver.outputs.tag }} + prerelease: ${{ steps.semver_kind.outputs.result == 'prerelease' }} diff --git a/.github/workflows/tag-develop.yml b/.github/workflows/tag-develop.yml deleted file mode 100644 index 8cb26826..00000000 --- a/.github/workflows/tag-develop.yml +++ /dev/null @@ -1,32 +0,0 @@ -name: Tag develop -on: - push: - branches: - - develop - paths-ignore: - - '**.md' - - 'LICENSE' - -jobs: - tag: - name: Tag - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v2 - with: - fetch-depth: 10 - - run: git fetch - - name: Next Prerelease SemVer - id: next_semver - uses: Drill4J/semver-tag-action@v0.1.0 - with: - type: prerelease - - name: Create Prerelease - uses: actions/create-release@v1 - env: - GITHUB_TOKEN: ${{ secrets.TOKEN }} - with: - tag_name: ${{ steps.next_semver.outputs.tag }} - release_name: ${{ steps.next_semver.outputs.tag }} - prerelease: true