diff options
| -rw-r--r-- | .github/workflows/ci.yaml | 82 |
1 files changed, 36 insertions, 46 deletions
diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 6944948..ca7938c 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -37,28 +37,54 @@ jobs: check_if_version_upgraded: name: Check if version upgrade + if: github.event_name == 'push' runs-on: ubuntu-latest needs: build outputs: from_version: ${{ steps.step1.outputs.from_version }} to_version: ${{ steps.step1.outputs.to_version }} + is_upgraded_version: ${{ steps.step1.outputs.is_upgraded_version }} steps: - - uses: garronej/[email protected] + - uses: garronej/[email protected] id: step1 with: action_name: is_package_json_version_upgraded + branch: ${{ github.head_ref || github.ref }} - docker: + create_github_release: + runs-on: ubuntu-latest needs: - check_if_version_upgraded - - build + # We create a release only if the version have been upgraded and we are on a default branch + if: needs.check_if_version_upgraded.outputs.is_upgraded_version == 'true' && github.event_name == 'push' + steps: + - uses: actions/download-artifact@v2 + with: + name: keycloak_theme + - run: mkdir jars + - run: mv *keycloak-theme*.jar jars/keycloak-theme.jar + - uses: actions/download-artifact@v2 + with: + name: standalone_keycloak_theme + - run: mv *keycloak-theme*.jar jars/standalone-keycloak-theme.jar + - uses: softprops/action-gh-release@v1 + with: + name: Release v${{ needs.check_if_version_upgraded.outputs.to_version }} + tag_name: v${{ needs.check_if_version_upgraded.outputs.to_version }} + target_commitish: ${{ github.head_ref || github.ref }} + generate_release_notes: true + files: | + jars/keycloak-theme.jar + jars/standalone-keycloak-theme.jar + draft: false + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + docker: runs-on: ubuntu-latest - # We publish the docker image only if it's a push on the default branch or if it's a PR from a - # branch (meaning not a PR from a fork). It would be more straightforward to test if secrets.DOCKERHUB_TOKEN is - # defined but GitHub Action don't allow it. - if: | - github.event_name == 'push' || - github.event.pull_request.head.repo.owner.login == github.event.pull_request.base.repo.owner.login + needs: + - check_if_version_upgraded + - create_github_release steps: - uses: actions/checkout@v2 - uses: docker/setup-qemu-action@v1 @@ -73,14 +99,7 @@ jobs: IS_UPGRADED_VERSION: ${{ needs.check_if_version_upgraded.outputs.is_upgraded_version }} TO_VERSION: ${{ needs.check_if_version_upgraded.outputs.to_version }} run: | - OUT=$GITHUB_REPOSITORY:$( - [ "$GITHUB_EVENT_NAME" == "pull_request" ] && - echo "$GITHUB_HEAD_REF" || - echo "${GITHUB_REF#refs/*/}" - ) - if [ "$IS_UPGRADED_VERSION" = "true" ]; then - OUT=$OUT,$GITHUB_REPOSITORY:$TO_VERSION,$GITHUB_REPOSITORY:latest - fi + OUT=$GITHUB_REPOSITORY:$TO_VERSION,$GITHUB_REPOSITORY:latest OUT=$(echo "$OUT" | awk '{print tolower($0)}') echo ::set-output name=docker_tags::$OUT - uses: actions/download-artifact@v2 @@ -95,35 +114,6 @@ jobs: tags: ${{ steps.step1.outputs.docker_tags }} file: Dockerfile.ci - create_github_release: - runs-on: ubuntu-latest - needs: - - check_if_version_upgraded - # We create a release only if the version have been upgraded and we are on a default branch - if: needs.check_if_version_upgraded.outputs.is_upgraded_version == 'true' && github.event_name == 'push' - steps: - - uses: actions/download-artifact@v2 - with: - name: keycloak_theme - - run: mkdir jars - - run: mv *keycloak-theme*.jar jars/keycloak-theme.jar - - uses: actions/download-artifact@v2 - with: - name: standalone_keycloak_theme - - run: mv *keycloak-theme*.jar jars/standalone-keycloak-theme.jar - - uses: softprops/action-gh-release@v1 - with: - name: Release v${{ needs.check_if_version_upgraded.outputs.to_version }} - tag_name: v${{ needs.check_if_version_upgraded.outputs.to_version }} - target_commitish: ${{ github.head_ref || github.ref }} - generate_release_notes: true - files: | - jars/keycloak-theme.jar - jars/standalone-keycloak-theme.jar - draft: false - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - github_pages_app: runs-on: ubuntu-latest needs: |