name: ci on: push: branches: - main pull_request: branches: - main jobs: test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 - uses: pnpm/action-setup@v4 with: version: 9 - run: pnpm install - run: pnpm run build-keycloak-theme docker_build: name: Build Docker image runs-on: ubuntu-latest if: ${{ github.event_name == 'push' }} needs: test env: KEYCLOAK_VERSION: 26.1.1 steps: - name: Checkout repository uses: actions/checkout@v4 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - name: Login to Github Container Registry uses: docker/login-action@v3 with: registry: ghcr.io username: ${{ github.repository_owner }} password: ${{ github.token }} # Build and push the container to the GitHub Container # Repository. The container will be tagged as "latest" # and with the short SHA of the commit. - name: Build and push uses: docker/build-push-action@v6 with: context: . file: ./Dockerfile push: ${{ github.ref == 'refs/heads/main' }} cache-from: type=registry,ref=ghcr.io/owl-corp/keycloak:latest cache-to: type=inline tags: | ghcr.io/owl-corp/keycloak:latest ghcr.io/owl-corp/keycloak:${{ env.KEYCLOAK_VERSION }} ghcr.io/owl-corp/keycloak:${{ github.sha }} build-args: | KEYCLOAK_VERSION=${{ env.KEYCLOAK_VERSION }} check_if_version_upgraded: name: Check if version upgrade if: github.event_name == 'push' runs-on: ubuntu-latest needs: test outputs: from_version: ${{ steps.step1.outputs.from_version }} to_version: ${{ steps.step1.outputs.to_version }} is_upgraded_version: ${{ steps.step1.outputs.is_upgraded_version }} is_pre_release: ${{steps.step1.outputs.is_pre_release }} steps: - uses: garronej/ts-ci@v2.1.5 id: step1 with: action_name: is_package_json_version_upgraded branch: ${{ github.head_ref || github.ref }} create_github_release: runs-on: ubuntu-latest needs: check_if_version_upgraded if: needs.check_if_version_upgraded.outputs.is_upgraded_version == 'true' steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 - uses: pnpm/action-setup@v4 with: version: 9 - run: pnpm install - run: pnpm run build-keycloak-theme - uses: softprops/action-gh-release@v2 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 draft: false prerelease: ${{ needs.check_if_version_upgraded.outputs.is_pre_release == 'true' }} files: dist_keycloak/keycloak-theme-*.jar env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}