feat(frontend): disable edit button #49
This file contains hidden or 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: Timeless CI - Build & Publish | ||
| on: | ||
| push: | ||
| branches: [ "main" ] | ||
| pull_request: | ||
| branches: [ "main" ] | ||
| permissions: | ||
| contents: read | ||
| concurrency: | ||
| group: ci-${{ github.ref }} | ||
| cancel-in-progress: true | ||
| jobs: | ||
| timeless-api: | ||
| name: Build & Publish - Timeless API (Java) | ||
| runs-on: ubuntu-latest | ||
| defaults: | ||
| run: | ||
| working-directory: timeless-api | ||
| steps: | ||
| - name: Checkout | ||
| uses: actions/checkout@v5 | ||
| - name: Setup JDK 21 | ||
| uses: actions/setup-java@v4 | ||
| with: | ||
| distribution: temurin | ||
| java-version: "21" | ||
| cache: maven | ||
| - name: Build API | ||
| run: mvn -B -ntp formatter:validate impsort:check package | ||
| - name: Setup Node.js 24 | ||
| uses: actions/setup-node@v4 | ||
| with: | ||
| node-version: "24" | ||
| cache: npm | ||
| cache-dependency-path: timeless-api/src/main/webui/package-lock.json | ||
| - name: Setup Chrome | ||
| id: chrome | ||
| uses: browser-actions/setup-chrome@v1 | ||
| - name: Install Frontend Dependencies | ||
| working-directory: ./timeless-api/src/main/webui | ||
| run: npm ci | ||
| - name: Check code formatting with Prettier | ||
| working-directory: ./timeless-api/src/main/webui | ||
| run: npm run prettier:check | ||
| - name: Set up Podman | ||
| uses: gacts/install-podman@v1 | ||
| if: github.repository == 'mcruzdev/timeless' | ||
| id: podman | ||
| - name: Login to Quay.io | ||
| if: github.repository == 'mcruzdev/timeless' | ||
| uses: docker/login-action@v3 | ||
| with: | ||
| registry: quay.io | ||
| username: ${{ secrets.QUAY_USERNAME }} | ||
| password: ${{ secrets.QUAY_PASSWORD }} | ||
| - name: Create Docker image | ||
| if: github.repository == 'mcruzdev/timeless' | ||
| run: docker build -f src/main/docker/Dockerfile.jvm -t quay.io/timeless/timeless-api:${GITHUB_SHA::7} . | ||
| - name: Push Docker image to Quay.io | ||
| if: github.repository == 'mcruzdev/timeless' | ||
| run: docker push quay.io/timeless/timeless-api:${GITHUB_SHA::7} | ||
| whatsapp: | ||
| name: Build & Publish - WhatsApp Bot (Node.js) | ||
| runs-on: ubuntu-latest | ||
| defaults: | ||
| run: | ||
| working-directory: whatsapp | ||
| steps: | ||
| - name: Checkout | ||
| uses: actions/checkout@v5 | ||
| - name: Setup Node.js 20 | ||
| uses: actions/setup-node@v4 | ||
| with: | ||
| node-version: "20" | ||
| cache: npm | ||
| cache-dependency-path: whatsapp/package-lock.json | ||
| - name: Install dependencies | ||
| run: npm ci | ||
| - name: Check code formatting with Prettier | ||
| run: npm run prettier:check | ||
| - name: Login to Quay.io | ||
| if: false # Disabled for now: we need to add chrome to the buildpack image first | ||
| if: github.repository == 'mcruzdev/timeless' | ||
| uses: docker/login-action@v3 | ||
| with: | ||
| registry: quay.io | ||
| username: ${{ secrets.QUAY_USERNAME }} | ||
| password: ${{ secrets.QUAY_PASSWORD }} | ||
| - name: Install pack CLI | ||
| if: false # Disabled for now: we need to add chrome to the buildpack image first | ||
| if: github.repository == 'mcruzdev/timeless' | ||
| uses: buildpacks/github-actions/[email protected] | ||
| - name: Build and publish WhatsApp image with Buildpacks | ||
| if: false # Disabled for now: we need to add chrome to the buildpack image first | ||
| if: github.repository == 'mcruzdev/timeless' | ||
| run: | | ||
| pack build quay.io/timeless/whatsapp:${GITHUB_SHA::7} \ | ||
| --path . \ | ||
| --builder paketobuildpacks/builder-jammy-base \ | ||
| --buildpack paketo-buildpacks/nodejs \ | ||
| --publish | ||