refactor: Cal.diy (#28903)

* feat: Cal.diy — community-driven MIT-licensed fork of Cal.com

This squashed commit contains all Cal.diy changes applied on top of calcom/cal.com main:

- Rebrand Cal.com to Cal.diy across the entire codebase
- Remove Enterprise Edition (EE) features, license checks, and AGPL restrictions
- Switch license from AGPL-3.0 to MIT
- Remove docs/ directory (migrated to Nextra at cal.diy)
- Remove dead code: org tests, EE tips, platform nav, premium username, SAML/SSO, etc.
- Clean up .env.example for self-hosted Cal.diy
- Update Docker image references to calcom/cal.diy
- Update README, CONTRIBUTING.md, and issue templates for Cal.diy community fork
- Add PR welcome bot for Cal.diy contributors
- Fix API v2 breaking changes oasdiff ignore entries
- Replace Blacksmith CI runners with default GitHub Actions

3893 files changed, 20789 insertions(+), 411020 deletions(-)

Co-Authored-By: benny@cal.com <sldisek783@gmail.com>

* refactor: remove org-specific /organizations/:orgId endpoints from API v2 atoms controllers (#1701)

Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>

* fix: revert Cal.diy Inc to Cal.com, Inc. in license files, copyright notices, and package metadata (#1702)

Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>

* rip out org related comments in api v2

---------

Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
This commit is contained in:
Benny JooandDevin AI authored and GitHub committed 2026-04-15 09:52:36 -03:00
1 parent a17f28e9ab
commit ab21c7f805
4080 files changed
+14403 -404922

No files matched your search

+7 -12
View File
@@ -29,11 +29,6 @@ jobs:
uses: ./.github/workflows/api-v2-unit-tests.yml
secrets: inherit
build-api-v1:
name: Production builds
uses: ./.github/workflows/api-v1-production-build.yml
secrets: inherit
build-api-v2:
name: Production builds
uses: ./.github/workflows/api-v2-production-build.yml
@@ -51,38 +46,38 @@ jobs:
integration-test:
name: Tests
needs: [lint, build, build-api-v1, build-api-v2]
needs: [lint, build, build-api-v2]
uses: ./.github/workflows/integration-tests.yml
secrets: inherit
e2e:
name: Tests
needs: [lint, build, build-api-v1, build-api-v2]
needs: [lint, build, build-api-v2]
uses: ./.github/workflows/e2e.yml
secrets: inherit
e2e-app-store:
name: Tests
needs: [lint, build, build-api-v1, build-api-v2]
needs: [lint, build, build-api-v2]
uses: ./.github/workflows/e2e-app-store.yml
secrets: inherit
e2e-embed:
name: Tests
needs: [lint, build, build-api-v1, build-api-v2]
needs: [lint, build, build-api-v2]
uses: ./.github/workflows/e2e-embed.yml
secrets: inherit
e2e-embed-react:
name: Tests
needs: [lint, build, build-api-v1, build-api-v2]
needs: [lint, build, build-api-v2]
uses: ./.github/workflows/e2e-embed-react.yml
secrets: inherit
required:
needs: [lint, type-check, unit-test, api-v2-unit-test, integration-test, build, build-api-v1, build-api-v2, e2e, e2e-embed, e2e-embed-react, e2e-app-store]
needs: [lint, type-check, unit-test, api-v2-unit-test, integration-test, build, build-api-v2, e2e, e2e-embed, e2e-embed-react, e2e-app-store]
if: always()
runs-on: blacksmith-2vcpu-ubuntu-2404
runs-on: ubuntu-latest
steps:
- name: fail if conditional jobs failed
if: contains(needs.*.result, 'failure') || contains(needs.*.result, 'skipped') || contains(needs.*.result, 'cancelled')
@@ -1,94 +0,0 @@
name: Production Builds
on:
workflow_call:
permissions:
contents: read
env:
ALLOWED_HOSTNAMES: ${{ vars.CI_ALLOWED_HOSTNAMES }}
CALENDSO_ENCRYPTION_KEY: ${{ secrets.CI_CALENDSO_ENCRYPTION_KEY }}
DATABASE_URL: ${{ secrets.CI_DATABASE_URL }}
DATABASE_DIRECT_URL: ${{ secrets.CI_DATABASE_URL }}
E2E_TEST_APPLE_CALENDAR_EMAIL: ${{ secrets.E2E_TEST_APPLE_CALENDAR_EMAIL }}
E2E_TEST_APPLE_CALENDAR_PASSWORD: ${{ secrets.E2E_TEST_APPLE_CALENDAR_PASSWORD }}
E2E_TEST_CALCOM_QA_EMAIL: ${{ secrets.E2E_TEST_CALCOM_QA_EMAIL }}
E2E_TEST_CALCOM_QA_PASSWORD: ${{ secrets.E2E_TEST_CALCOM_QA_PASSWORD }}
E2E_TEST_CALCOM_QA_GCAL_CREDENTIALS: ${{ secrets.E2E_TEST_CALCOM_QA_GCAL_CREDENTIALS }}
E2E_TEST_CALCOM_GCAL_KEYS: ${{ secrets.E2E_TEST_CALCOM_GCAL_KEYS }}
GOOGLE_API_CREDENTIALS: ${{ secrets.CI_GOOGLE_API_CREDENTIALS }}
GOOGLE_LOGIN_ENABLED: ${{ vars.CI_GOOGLE_LOGIN_ENABLED }}
NEXTAUTH_SECRET: ${{ secrets.CI_NEXTAUTH_SECRET }}
NEXTAUTH_URL: ${{ secrets.CI_NEXTAUTH_URL }}
NEXT_PUBLIC_API_V2_URL: ${{ secrets.CI_NEXT_PUBLIC_API_V2_URL }}
NEXT_PUBLIC_API_V2_ROOT_URL: ${{ secrets.CI_NEXT_PUBLIC_API_V2_ROOT_URL }}
NEXT_PUBLIC_IS_E2E: ${{ vars.CI_NEXT_PUBLIC_IS_E2E }}
NEXT_PUBLIC_ORG_SELF_SERVE_ENABLED: ${{ vars.CI_NEXT_PUBLIC_ORG_SELF_SERVE_ENABLED }}
NEXT_PUBLIC_STRIPE_PUBLIC_KEY: ${{ secrets.CI_NEXT_PUBLIC_STRIPE_PUBLIC_KEY }}
NEXT_PUBLIC_WEBAPP_URL: ${{ vars.CI_NEXT_PUBLIC_WEBAPP_URL }}
NEXT_PUBLIC_WEBSITE_URL: ${{ vars.CI_NEXT_PUBLIC_WEBSITE_URL }}
PAYMENT_FEE_FIXED: ${{ vars.CI_PAYMENT_FEE_FIXED }}
PAYMENT_FEE_PERCENTAGE: ${{ vars.CI_PAYMENT_FEE_PERCENTAGE }}
SAML_ADMINS: ${{ secrets.CI_SAML_ADMINS }}
SAML_DATABASE_URL: ${{ secrets.CI_SAML_DATABASE_URL }}
STRIPE_PRIVATE_KEY: ${{ secrets.CI_STRIPE_PRIVATE_KEY }}
STRIPE_CLIENT_ID: ${{ secrets.CI_STRIPE_CLIENT_ID }}
STRIPE_WEBHOOK_SECRET: ${{ secrets.CI_STRIPE_WEBHOOK_SECRET }}
SENDGRID_API_KEY: ${{ secrets.CI_SENDGRID_API_KEY }}
SENDGRID_EMAIL: ${{ secrets.CI_SENDGRID_EMAIL }}
TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
TURBO_TEAM: ${{ secrets.TURBO_TEAM }}
jobs:
build:
name: Build API v1
runs-on: blacksmith-4vcpu-ubuntu-2404
timeout-minutes: 30
services:
postgres:
image: postgres:18
credentials:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
env:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_DB: calendso
options: >-
--health-cmd "pg_isready -h 127.0.0.1 -U postgres"
--health-interval 2s
--health-timeout 3s
--health-retries 15
--health-start-period 2s
ports:
- 5432:5432
steps:
- uses: actions/checkout@v4
with:
sparse-checkout: .github
- uses: ./.github/actions/cache-checkout
- uses: ./.github/actions/yarn-install
- uses: ./.github/actions/cache-db
- name: Cache API v1 production build
uses: actions/cache@v4
id: cache-api-v1-build
env:
cache-name: api-v1-build
key-1: ${{ hashFiles('yarn.lock') }}
key-2: ${{ hashFiles('apps/api/v1/**.[jt]s', 'apps/api/v1/**.[jt]sx', '!**/node_modules') }}
with:
path: |
${{ github.workspace }}/apps/api/v1/.next
**/.turbo/**
**/dist/**
key: ${{ env.cache-name }}-${{ env.key-1 }}-${{ env.key-2 }}
- name: Log Cache Hit
if: steps.cache-api-v1-build.outputs.cache-hit == 'true'
run: echo "Cache hit for API v1 build. Skipping build."
- name: Run build
if: steps.cache-api-v1-build.outputs.cache-hit != 'true'
run: |
export NODE_OPTIONS="--max_old_space_size=8192"
yarn turbo run build --filter=@calcom/api...
shell: bash
@@ -14,7 +14,7 @@ jobs:
name: Build API v2
permissions:
contents: read
runs-on: blacksmith-4vcpu-ubuntu-2404
runs-on: ubuntu-latest
timeout-minutes: 30
services:
postgres:
+1 -1
View File
@@ -9,7 +9,7 @@ jobs:
test:
name: API v2 Unit
timeout-minutes: 20
runs-on: blacksmith-4vcpu-ubuntu-2404
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
+1 -1
View File
@@ -8,7 +8,7 @@ jobs:
name: Build Atoms
permissions:
contents: read
runs-on: blacksmith-4vcpu-ubuntu-2404
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- uses: actions/checkout@v4
+1 -1
View File
@@ -6,7 +6,7 @@ on:
jobs:
cleanup:
runs-on: blacksmith-2vcpu-ubuntu-2404
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v4
+1 -1
View File
@@ -13,7 +13,7 @@ permissions:
jobs:
release:
if: github.repository == 'calcom/cal.com' # prevent this action from running on forks
if: github.repository == 'calcom/cal.diy' # prevent this action from running on forks
name: Release
runs-on: ubuntu-latest
steps:
@@ -1,67 +0,0 @@
name: Check API v2 breaking changes
on:
workflow_call:
permissions:
contents: read
env:
API_KEY_PREFIX: ${{ secrets.CI_API_KEY_PREFIX }}
API_PORT: ${{ vars.CI_API_V2_PORT }}
API_URL: "http://localhost"
CALCOM_LICENSE_KEY: ${{ secrets.CI_CALCOM_LICENSE_KEY }}
DATABASE_URL: ${{ secrets.CI_DATABASE_URL }}
DATABASE_READ_URL: ${{ secrets.CI_DATABASE_URL }}
DATABASE_WRITE_URL: ${{ secrets.CI_DATABASE_URL }}
JWT_SECRET: ${{ secrets.CI_JWT_SECRET }}
NEXTAUTH_SECRET: ${{ secrets.CI_NEXTAUTH_SECRET }}
NODE_ENV: ${{ vars.CI_NODE_ENV }}
NODE_OPTIONS: --max-old-space-size=4096
REDIS_URL: "redis://localhost:6379"
STRIPE_API_KEY: ${{ secrets.CI_STRIPE_PRIVATE_KEY }}
STRIPE_WEBHOOK_SECRET: ${{ secrets.CI_STRIPE_WEBHOOK_SECRET }}
WEB_APP_URL: "https://app.cal.com"
jobs:
check-api-v2-breaking-changes:
name: Check API v2 breaking changes
timeout-minutes: 10
runs-on: blacksmith-2vcpu-ubuntu-2404
steps:
- uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- uses: actions/checkout@v4
with:
sparse-checkout: .github
- uses: ./.github/actions/cache-checkout
- uses: ./.github/actions/yarn-install
- name: Build platform packages
run: |
yarn turbo run build \
--filter=@calcom/platform-constants \
--filter=@calcom/platform-enums \
--filter=@calcom/platform-utils \
--filter=@calcom/platform-types \
--filter=@calcom/platform-libraries \
--filter=@calcom/trpc
- name: Generate Swagger
working-directory: apps/api/v2
run: |
yarn prisma generate
yarn generate-swagger
- name: Check API v2 breaking changes
run: |
docker run --rm \
-v "$PWD:/work" -w /work \
tufin/oasdiff:latest \
breaking \
https://raw.githubusercontent.com/calcom/cal.com/refs/heads/main/docs/api-reference/v2/openapi.json \
docs/api-reference/v2/openapi.json \
--fail-on ERR \
--err-ignore .github/oasdiff-err-ignore.txt
@@ -8,7 +8,7 @@ env:
jobs:
check-prisma-migrations:
name: Check migrations match schema
runs-on: blacksmith-2vcpu-ubuntu-2404
runs-on: ubuntu-latest
services:
postgres:
image: postgres:18
+1 -1
View File
@@ -9,7 +9,7 @@ permissions:
contents: read
jobs:
check-types:
runs-on: blacksmith-4vcpu-ubuntu-2404
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
@@ -1,43 +0,0 @@
name: Delete Blacksmith Cache
on:
workflow_dispatch:
inputs:
cache_key:
description: "Blacksmith Cache Key to Delete"
required: true
type: string
pull_request:
types: [closed]
jobs:
manually-delete-blacksmith-cache:
if: github.event_name == 'workflow_dispatch'
runs-on: blacksmith-2vcpu-ubuntu-2404
steps:
- name: Checkout
uses: actions/checkout@v4
- uses: useblacksmith/cache-delete@v1
with:
key: ${{ inputs.cache_key }}
delete-cache-build-on-pr-close:
if: github.event_name == 'pull_request' && github.event.action == 'closed'
runs-on: blacksmith-2vcpu-ubuntu-2404
env:
CACHE_NAME: prod-build
steps:
- name: Delete cache-build cache
uses: useblacksmith/cache-delete@v1
with:
key: ${{ env.CACHE_NAME }}-${{ github.event.pull_request.head.ref }}
prefix: "true"
delete-git-checkout-cache-on-pr-close:
if: github.event_name == 'pull_request' && github.event.action == 'closed'
runs-on: blacksmith-2vcpu-ubuntu-2404
steps:
- name: Delete git-checkout cache
uses: useblacksmith/cache-delete@v1
with:
key: git-checkout-${{ github.event.pull_request.head.ref }}-
prefix: "true"
-38
View File
@@ -1,38 +0,0 @@
# This is just to test this file
name: Build
on:
workflow_call:
jobs:
build:
name: Build Docs
permissions:
contents: read
runs-on: blacksmith-2vcpu-ubuntu-2404
steps:
- uses: actions/checkout@v4
with:
sparse-checkout: .github
- uses: ./.github/actions/cache-checkout
- name: Cache Docs build
uses: actions/cache@v4
id: cache-docs-build
env:
cache-name: docs-build
key-1: ${{ hashFiles('yarn.lock') }}
key-2: ${{ hashFiles('docs/**.*', '!**/node_modules') }}
with:
path: |
**/docs/**
key: ${{ env.cache-name }}-${{ env.key-1 }}-${{ env.key-2 }}
- name: Run build
if: steps.cache-docs-build.outputs.cache-hit != 'true'
working-directory: docs
run: |
export NODE_OPTIONS="--max_old_space_size=8192"
npm install -g mintlify@4.2.87
mintlify dev &
sleep 5 # Let it run for 5 seconds
kill $!
shell: bash
+1 -2
View File
@@ -91,10 +91,9 @@ jobs:
# Write to the specific paths
echo "$CONTENT" > apps/web/trigger.version.ts
echo "$CONTENT" > apps/api/v2/trigger.version.ts
echo "$CONTENT" > apps/api/v1/trigger.version.js
# Force add to git since these are likely in .gitignore
git add -f apps/web/trigger.version.ts apps/api/v2/trigger.version.ts apps/api/v1/trigger.version.js
git add -f apps/web/trigger.version.ts apps/api/v2/trigger.version.ts
# 4. Commit everything together
- name: Commit changes
+1 -1
View File
@@ -33,7 +33,7 @@ jobs:
e2e:
timeout-minutes: 20
name: E2E API v2 (${{ matrix.shard }}/${{ strategy.job-total }})
runs-on: blacksmith-4vcpu-ubuntu-2404
runs-on: ubuntu-latest
services:
postgres:
image: postgres:18
+1 -1
View File
@@ -45,7 +45,7 @@ jobs:
e2e-app-store:
timeout-minutes: 20
name: E2E App Store
runs-on: blacksmith-4vcpu-ubuntu-2404
runs-on: ubuntu-latest
services:
postgres:
image: postgres:18
+1 -1
View File
@@ -22,7 +22,7 @@ jobs:
e2e-atoms:
timeout-minutes: 15
name: E2E Atoms
runs-on: blacksmith-4vcpu-ubuntu-2404
runs-on: ubuntu-latest
steps:
- uses: docker/login-action@v3
with:
+1 -1
View File
@@ -45,7 +45,7 @@ jobs:
e2e-embed:
timeout-minutes: 20
name: E2E Embed React
runs-on: blacksmith-4vcpu-ubuntu-2404
runs-on: ubuntu-latest
services:
postgres:
image: postgres:18
+1 -1
View File
@@ -45,7 +45,7 @@ jobs:
e2e-embed:
timeout-minutes: 20
name: E2E Embed Core
runs-on: blacksmith-4vcpu-ubuntu-2404
runs-on: ubuntu-latest
services:
postgres:
image: postgres:18
+1 -1
View File
@@ -45,7 +45,7 @@ jobs:
e2e:
timeout-minutes: 20
name: E2E (${{ matrix.shard }}/${{ strategy.job-total }})
runs-on: blacksmith-4vcpu-ubuntu-2404
runs-on: ubuntu-latest
services:
postgres:
image: postgres:18
+1 -1
View File
@@ -11,7 +11,7 @@ jobs:
i18n:
name: Run i18n
if: ${{ secrets.CI_LINGO_DOT_DEV_API_KEY != '' }}
runs-on: blacksmith-2vcpu-ubuntu-2404
runs-on: ubuntu-latest
permissions:
actions: write
contents: write
+1 -1
View File
@@ -45,7 +45,7 @@ jobs:
integration:
timeout-minutes: 20
name: Integration
runs-on: blacksmith-2vcpu-ubuntu-2404
runs-on: ubuntu-latest
services:
postgres:
image: postgres:18
+1 -1
View File
@@ -6,7 +6,7 @@ permissions:
contents: read
jobs:
lint:
runs-on: blacksmith-2vcpu-ubuntu-2404
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
@@ -12,7 +12,7 @@ permissions:
jobs:
annotate:
if: always()
runs-on: blacksmith-2vcpu-ubuntu-2404
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/yarn-install
+9 -5
View File
@@ -49,7 +49,7 @@ env:
jobs:
analyze:
if: always()
runs-on: blacksmith-4vcpu-ubuntu-2404
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- uses: actions/checkout@v4
@@ -72,7 +72,11 @@ jobs:
path: apps/web/.next/analyze/__bundle_analysis.json
- name: Delete cached build
uses: useblacksmith/cache-delete@v1
with:
key: prod-build-main-
prefix: "true"
continue-on-error: true
run: |
gh extension install actions/gh-actions-cache
for key in $(gh actions-cache list -R ${{ github.repository }} --key "prod-build-main-" --limit 100 | cut -f1); do
gh actions-cache delete "$key" -R ${{ github.repository }} --confirm
done
env:
GH_TOKEN: ${{ github.token }}
+48
View File
@@ -0,0 +1,48 @@
name: "PR Welcome Bot"
on:
pull_request_target:
types:
- opened
permissions:
pull-requests: write
jobs:
welcome:
name: Welcome new contributors
runs-on: ubuntu-latest
steps:
- uses: actions/github-script@v7
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
script: |
const pr = context.payload.pull_request;
// Skip PRs from org members and bots
if (
["MEMBER", "OWNER", "COLLABORATOR"].includes(pr.author_association) ||
pr.user.type === "Bot"
) {
console.log(`Skipping — author association: ${pr.author_association}, type: ${pr.user.type}`);
return;
}
const body = [
`Welcome to **Cal.diy**, @${pr.user.login}! Thanks for opening this pull request.`,
"",
"A few things to keep in mind:",
"",
"- **This is Cal.diy, not Cal.com.** Cal.diy is a community-driven, fully open-source fork of Cal.com licensed under MIT. Your changes here will be part of Cal.diy — they will **not** be deployed to the Cal.com production app.",
"- Please review our [Contributing Guidelines](https://github.com/calcom/cal.diy/blob/main/CONTRIBUTING.md) if you haven't already.",
"- Make sure your PR title follows the [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) format.",
"",
"A maintainer will review your PR soon. Thanks for contributing!",
].join("\n");
await github.rest.issues.createComment({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: pr.number,
body,
});
+3 -31
View File
@@ -23,7 +23,7 @@ jobs:
# This MUST run before any job that checks out PR code and executes it with secrets
trust-check:
name: Trust Check
runs-on: blacksmith-2vcpu-ubuntu-2404
runs-on: ubuntu-latest
permissions:
pull-requests: read
actions: read
@@ -162,7 +162,7 @@ jobs:
name: Prepare
needs: [trust-check]
if: needs.trust-check.outputs.is-trusted == 'true'
runs-on: blacksmith-2vcpu-ubuntu-2404
runs-on: ubuntu-latest
permissions:
pull-requests: read
outputs:
@@ -217,7 +217,6 @@ jobs:
- "packages/platform-libraries/**"
- "packages/trpc/**"
- "packages/prisma/schema.prisma"
- "docs/api-reference/v2/**"
has-prisma-changes:
- "packages/prisma/schema.prisma"
- "packages/prisma/migrations/**"
@@ -345,13 +344,6 @@ jobs:
DB_CACHE_HIT: ${{ needs.prepare.outputs.db-cache-hit }}
secrets: inherit
build-api-v1:
name: Production builds
needs: [prepare, setup-db]
if: ${{ needs.prepare.outputs.run-e2e == 'true' && needs.prepare.outputs.has-files-requiring-all-checks == 'true' }}
uses: ./.github/workflows/api-v1-production-build.yml
secrets: inherit
build-api-v2:
name: Production builds
needs: [prepare]
@@ -366,13 +358,6 @@ jobs:
uses: ./.github/workflows/atoms-production-build.yml
secrets: inherit
build-docs:
name: Production builds
needs: [prepare]
if: ${{ needs.prepare.outputs.run-e2e == 'true' && needs.prepare.outputs.has-files-requiring-all-checks == 'true' }}
uses: ./.github/workflows/docs-build.yml
secrets: inherit
build:
name: Production builds
needs: [prepare]
@@ -394,13 +379,6 @@ jobs:
uses: ./.github/workflows/e2e.yml
secrets: inherit
check-api-v2-breaking-changes:
name: Check API v2 breaking changes
needs: [prepare]
if: ${{ needs.prepare.outputs.run-e2e == 'true' && needs.prepare.outputs.has-api-v2-changes == 'true' }}
uses: ./.github/workflows/check-api-v2-breaking-changes.yml
secrets: inherit
e2e-api-v2:
name: Tests
needs: [prepare, setup-db]
@@ -445,14 +423,11 @@ jobs:
unit-test,
api-v2-unit-test,
security-audit,
check-api-v2-breaking-changes,
check-prisma-migrations,
integration-test,
build,
build-api-v1,
build-api-v2,
build-atoms,
build-docs,
setup-db,
e2e,
e2e-api-v2,
@@ -461,7 +436,7 @@ jobs:
e2e-app-store,
]
if: always()
runs-on: blacksmith-2vcpu-ubuntu-2404
runs-on: ubuntu-latest
steps:
- name: Fail if trust-check did not succeed
run: |
@@ -485,13 +460,10 @@ jobs:
needs.unit-test.result != 'success' ||
needs.api-v2-unit-test.result != 'success' ||
needs.security-audit.result != 'success' ||
(needs.prepare.outputs.has-api-v2-changes == 'true' && needs.check-api-v2-breaking-changes.result != 'success') ||
(needs.prepare.outputs.has-prisma-changes == 'true' && needs.check-prisma-migrations.result != 'success') ||
needs.build.result != 'success' ||
needs.build-api-v1.result != 'success' ||
needs.build-api-v2.result != 'success' ||
needs.build-atoms.result != 'success' ||
needs.build-docs.result != 'success' ||
needs.setup-db.result != 'success' ||
needs.integration-test.result != 'success' ||
needs.e2e.result != 'success' ||
@@ -39,7 +39,7 @@ env:
jobs:
build:
name: Build Web App
runs-on: blacksmith-4vcpu-ubuntu-2404
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- uses: actions/checkout@v4
@@ -66,8 +66,12 @@ jobs:
lookup-only: true
- name: Delete old production build caches for this branch
if: steps.cache-check.outputs.cache-hit != 'true'
uses: useblacksmith/cache-delete@v1
with:
key: prod-build-${{ github.head_ref || github.ref_name }}
prefix: "true"
continue-on-error: true
run: |
gh extension install actions/gh-actions-cache
for key in $(gh actions-cache list -R ${{ github.repository }} --key "prod-build-${{ github.head_ref || github.ref_name }}" --limit 100 | cut -f1); do
gh actions-cache delete "$key" -R ${{ github.repository }} --confirm
done
env:
GH_TOKEN: ${{ github.token }}
- uses: ./.github/actions/cache-build
+6 -6
View File
@@ -32,7 +32,7 @@ on:
jobs:
prepare:
name: "Prepare Release"
runs-on: blacksmith-2vcpu-ubuntu-2404
runs-on: ubuntu-latest
outputs:
release_tag: ${{ steps.determine-tag.outputs.release_tag }}
checkout_ref: ${{ steps.determine-tag.outputs.checkout_ref }}
@@ -81,7 +81,7 @@ jobs:
release-amd64:
name: "Release AMD64"
needs: prepare
runs-on: blacksmith-4vcpu-ubuntu-2404
runs-on: ubuntu-latest
env:
RELEASE_TAG: ${{ needs.prepare.outputs.release_tag }}
steps:
@@ -106,7 +106,7 @@ jobs:
use-as-latest: "true"
- name: Notify Slack on Success
if: success()
if: success() && secrets.CI_SLACK_WEBHOOK_URL != ''
uses: slackapi/slack-github-action@v1.24.0
with:
payload: |
@@ -117,7 +117,7 @@ jobs:
SLACK_WEBHOOK_URL: ${{ secrets.CI_SLACK_WEBHOOK_URL }}
- name: Notify Slack on Failure
if: failure()
if: failure() && secrets.CI_SLACK_WEBHOOK_URL != ''
uses: slackapi/slack-github-action@v1.24.0
with:
payload: |
@@ -154,7 +154,7 @@ jobs:
push-image: ${{ (github.event_name == 'push' || inputs.PUSH_IMAGE) && 'true' || 'false' }}
- name: Notify Slack on Success
if: success()
if: success() && secrets.CI_SLACK_WEBHOOK_URL != ''
uses: slackapi/slack-github-action@v1.24.0
with:
payload: |
@@ -165,7 +165,7 @@ jobs:
SLACK_WEBHOOK_URL: ${{ secrets.CI_SLACK_WEBHOOK_URL }}
- name: Notify Slack on Failure
if: failure()
if: failure() && secrets.CI_SLACK_WEBHOOK_URL != ''
uses: slackapi/slack-github-action@v1.24.0
with:
payload: |
+1 -1
View File
@@ -6,7 +6,7 @@ permissions:
contents: read
jobs:
audit:
runs-on: blacksmith-2vcpu-ubuntu-2404
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
+1 -1
View File
@@ -26,7 +26,7 @@ env:
jobs:
setup-db:
name: Setup Database
runs-on: blacksmith-4vcpu-ubuntu-2404
runs-on: ubuntu-latest
timeout-minutes: 15
services:
postgres:
+1 -1
View File
@@ -9,7 +9,7 @@ jobs:
test:
name: Unit
timeout-minutes: 20
runs-on: blacksmith-4vcpu-ubuntu-2404
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with: