Compare commits
314 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
da4a46b7e6 | ||
|
|
47294883d4 | ||
|
|
3ed7f7b7cb | ||
|
|
6f45f0e837 | ||
|
|
2826102030 | ||
|
|
979e7e36ca | ||
|
|
c9edbcd537 | ||
|
|
41ab0167fd | ||
|
|
e9110c008b | ||
|
|
244b648cc4 | ||
|
|
8f8fa9d27c | ||
|
|
a3454600b6 | ||
|
|
13d61e9917 | ||
|
|
a2699d4aa5 | ||
|
|
de1e01befc | ||
|
|
6d88667e84 | ||
|
|
189e57028d | ||
|
|
7892df8484 | ||
|
|
7f9fac974c | ||
|
|
86cd238314 | ||
|
|
49bc08e485 | ||
|
|
cb34b575a7 | ||
|
|
ec6ab9ddb6 | ||
|
|
a93ff42551 | ||
|
|
7949b536ab | ||
|
|
b456c44861 | ||
|
|
caf2d93632 | ||
|
|
a5eed610aa | ||
|
|
905a2832f2 | ||
|
|
592ac2fb0e | ||
|
|
0f1cf770cc | ||
|
|
8d8b18e5bd | ||
|
|
736dfecc0c | ||
|
|
4679fc0ddf | ||
|
|
5956e7f1a0 | ||
|
|
d8cb522055 | ||
|
|
a728ac7339 | ||
|
|
fcf45975df | ||
|
|
2a5375f4ea | ||
|
|
b3a3679a6b | ||
|
|
9fdfca486a | ||
|
|
54400a2161 | ||
|
|
e0521c140d | ||
|
|
dcb66ee989 | ||
|
|
c0f7cf77cb | ||
|
|
c4d6e766fa | ||
|
|
dbbda43758 | ||
|
|
054b49abde | ||
|
|
1fdd941c0a | ||
|
|
cba7f20546 | ||
|
|
8d58343954 | ||
|
|
8543c18079 | ||
|
|
47d0b7e9bf | ||
|
|
db874ff8b1 | ||
|
|
b49cf5cd28 | ||
|
|
0acdb4b98a | ||
|
|
d282ff71d1 | ||
|
|
f89ea705e2 | ||
|
|
fca3070045 | ||
|
|
f32bf8b6da | ||
|
|
5d58199abc | ||
|
|
7cc495d54e | ||
|
|
87379fea88 | ||
|
|
34c213f56a | ||
|
|
04e4c64efe | ||
|
|
a23fd8b12a | ||
|
|
4be3f45228 | ||
|
|
d17064f67f | ||
|
|
aad1382418 | ||
|
|
f7885eed69 | ||
|
|
008ddd57f3 | ||
|
|
0048a58b26 | ||
|
|
89bd10bd84 | ||
|
|
ff0db3a97c | ||
|
|
bd8a941f50 | ||
|
|
8353418232 | ||
|
|
26784d6969 | ||
|
|
a1d56a1f17 | ||
|
|
92512fd052 | ||
|
|
933f4722e9 | ||
|
|
4870434673 | ||
|
|
bcdff6eeb0 | ||
|
|
1cb1dec45b | ||
|
|
316124258f | ||
|
|
44997263f1 | ||
|
|
83d34f8df5 | ||
|
|
42e1b7260a | ||
|
|
d4e0fcecb9 | ||
|
|
5dbfc57d3c | ||
|
|
5f2a14bc63 | ||
|
|
a049989155 | ||
|
|
ff56a03fb6 | ||
|
|
9a74219dfd | ||
|
|
2b54576f05 | ||
|
|
fe5c310556 | ||
|
|
d299d9ae5e | ||
|
|
fa788cf600 | ||
|
|
7aea26c8a6 | ||
|
|
0d690c922a | ||
|
|
3c74585d48 | ||
|
|
083867dc77 | ||
|
|
06dd7f0821 | ||
|
|
74fadbc4cc | ||
|
|
838ffae9a6 | ||
|
|
5b159a7fb4 | ||
|
|
3ab1d7055e | ||
|
|
5c57c20d20 | ||
|
|
98fd99bced | ||
|
|
c17606cc0a | ||
|
|
064b31a641 | ||
|
|
769c1d91ee | ||
|
|
dffaae7cce | ||
|
|
44c0ba5eaf | ||
|
|
e6586b196b | ||
|
|
abcbf1a5de | ||
|
|
51ad2ea126 | ||
|
|
12caf3f4bf | ||
|
|
2265cf05f3 | ||
|
|
d8b94d4335 | ||
|
|
8db8b631da | ||
|
|
0e6fab7bf7 | ||
|
|
2b0bd7896e | ||
|
|
a2a9d0aca1 | ||
|
|
59bed07eca | ||
|
|
e9673bd1a4 | ||
|
|
780b708d49 | ||
|
|
915c9f7837 | ||
|
|
775eb7c83b | ||
|
|
1b94b0a4cc | ||
|
|
bc9d85b650 | ||
|
|
14564d06d8 | ||
|
|
7fd57f9097 | ||
|
|
a32eddc4d4 | ||
|
|
2581a9de2a | ||
|
|
82d0155b4e | ||
|
|
84d500c89c | ||
|
|
6c323097b6 | ||
|
|
4a6d1b4732 | ||
|
|
3279928c9d | ||
|
|
01ac9f4ff2 | ||
|
|
c2f7e69a59 | ||
|
|
546ef1305e | ||
|
|
d0c7668d34 | ||
|
|
68765805be | ||
|
|
6a15aaa42f | ||
|
|
c27de4875c | ||
|
|
71c0c84383 | ||
|
|
e94c50a224 | ||
|
|
7106728280 | ||
|
|
c24bc644e4 | ||
|
|
2ab14ab1ba | ||
|
|
92eb7b1b38 | ||
|
|
f4a717e9b8 | ||
|
|
208bd9c4b9 | ||
|
|
8c6594216f | ||
|
|
c4aa0e2ad2 | ||
|
|
28380a9517 | ||
|
|
8d8bfc5585 | ||
|
|
74aa6d7121 | ||
|
|
908834465e | ||
|
|
0bd99af9de | ||
|
|
061086165f | ||
|
|
cf978614db | ||
|
|
69fb59812a | ||
|
|
dfe010710b | ||
|
|
09027a5c97 | ||
|
|
578a104a92 | ||
|
|
b066cff0b3 | ||
|
|
d348680dc6 | ||
|
|
a4a51da68a | ||
|
|
16ec6da83f | ||
|
|
35125d3e41 | ||
|
|
0c502c56ff | ||
|
|
d922d0f363 | ||
|
|
d5fbf1869e | ||
|
|
7567a4669b | ||
|
|
4a368b6279 | ||
|
|
f0feb3920a | ||
|
|
6e264c2cbd | ||
|
|
c2fef16e7f | ||
|
|
98af1ee0f1 | ||
|
|
a014e6987d | ||
|
|
80fbee033f | ||
|
|
aa03d3300a | ||
|
|
2fda3845b0 | ||
|
|
2ab6ff4284 | ||
|
|
4937e38996 | ||
|
|
29994d5a47 | ||
|
|
5d36da146c | ||
|
|
c8abf7a184 | ||
|
|
f5ca95e8a8 | ||
|
|
6f6a258db1 | ||
|
|
91b9623260 | ||
|
|
594b253883 | ||
|
|
465216f223 | ||
|
|
45ecfb1332 | ||
|
|
b05bf66a98 | ||
|
|
d6e52074fc | ||
|
|
f8b0f22dd6 | ||
|
|
cd18541a77 | ||
|
|
36bc2a5e98 | ||
|
|
84223fd3c2 | ||
|
|
a4d313ef8b | ||
|
|
4ea7fc4db6 | ||
|
|
0aca750ab4 | ||
|
|
4f011445a0 | ||
|
|
030eecf235 | ||
|
|
0e63623d06 | ||
|
|
4526b07644 | ||
|
|
15043e209b | ||
|
|
a99a2d791a | ||
|
|
c812c07076 | ||
|
|
659c4a3dd0 | ||
|
|
e7d50ea0e8 | ||
|
|
d1841b2287 | ||
|
|
a24104bbc7 | ||
|
|
eb5ac7b4be | ||
|
|
9cda60d822 | ||
|
|
ed9f386e22 | ||
|
|
deaadc84ac | ||
|
|
8892507e29 | ||
|
|
1e6ef72a1c | ||
|
|
62310b0207 | ||
|
|
377964da71 | ||
|
|
b93882f36f | ||
|
|
ea9679f32c | ||
|
|
59f7b813c2 | ||
|
|
cd8c092600 | ||
|
|
69721634ab | ||
|
|
9315c39cdc | ||
|
|
c4ec75c4af | ||
|
|
d0fb4247e5 | ||
|
|
d4d7fdbae6 | ||
|
|
c652cac1bd | ||
|
|
6a143526da | ||
|
|
98e87102a4 | ||
|
|
2c1575a47a | ||
|
|
c027380ecb | ||
|
|
720639b2ea | ||
|
|
db2d9dc08e | ||
|
|
5d0489bf13 | ||
|
|
6c54c87dfc | ||
|
|
7fbffa6094 | ||
|
|
7528e9d0f0 | ||
|
|
09839f367f | ||
|
|
21ac156d00 | ||
|
|
15d7c1cf09 | ||
|
|
5636ea9001 | ||
|
|
d7933ece19 | ||
|
|
b329667c8a | ||
|
|
730bdd0faf | ||
|
|
0aaa480367 | ||
|
|
0dab29dfed | ||
|
|
9486648e4e | ||
|
|
e2b95b8f61 | ||
|
|
5d74a43453 | ||
|
|
47966b5c26 | ||
|
|
9359793032 | ||
|
|
59ad397832 | ||
|
|
18cfe50f5f | ||
|
|
e9ede520ba | ||
|
|
6a03392316 | ||
|
|
3325e52b64 | ||
|
|
88bee2ec45 | ||
|
|
bc3decdd21 | ||
|
|
bb0aabaf12 | ||
|
|
9a8058bd92 | ||
|
|
bd4fc5b877 | ||
|
|
994b791bcd | ||
|
|
c442968a13 | ||
|
|
9c602da764 | ||
|
|
ee4d60a854 | ||
|
|
9d50b994da | ||
|
|
d75d82de2b | ||
|
|
b4e1788f38 | ||
|
|
84d89058c8 | ||
|
|
9d59034af8 | ||
|
|
ccffeb1842 | ||
|
|
76b0c8ab73 | ||
|
|
7f2a0844a6 | ||
|
|
04fadaf4df | ||
|
|
3d3eb7097a | ||
|
|
81dba2d53c | ||
|
|
da04c4ec7e | ||
|
|
6fb7bd8712 | ||
|
|
ca82c6c218 | ||
|
|
cb9db89ab1 | ||
|
|
20137bb1e3 | ||
|
|
78ec934aa5 | ||
|
|
438bfddbf4 | ||
|
|
3674dd770f | ||
|
|
7c445ff49d | ||
|
|
5233f097b8 | ||
|
|
091e64a6ed | ||
|
|
373571e4d5 | ||
|
|
c77ccdfc4f | ||
|
|
a81056818d | ||
|
|
bda88300c6 | ||
|
|
ccf2c517c3 | ||
|
|
97a5a9b7a9 | ||
|
|
0ae8574f10 | ||
|
|
8e5ee518b8 | ||
|
|
be0f84b532 | ||
|
|
75d7a8b290 | ||
|
|
e5b7a307eb | ||
|
|
722ac1fedd | ||
|
|
d4fc846117 | ||
|
|
4a4fb0cc4b | ||
|
|
66b448b21d | ||
|
|
3f284777d9 | ||
|
|
e378263b9a | ||
|
|
da0d8c72ba | ||
|
|
265da863a7 | ||
|
|
7c3368827d |
7
.github/dependabot.yml
vendored
Normal file
7
.github/dependabot.yml
vendored
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
version: 2
|
||||||
|
updates:
|
||||||
|
# Maintain dependencies for GitHub Actions
|
||||||
|
- package-ecosystem: "github-actions"
|
||||||
|
directory: "/"
|
||||||
|
schedule:
|
||||||
|
interval: "daily"
|
||||||
59
.github/workflows/create-release.yaml
vendored
Normal file
59
.github/workflows/create-release.yaml
vendored
Normal file
@@ -0,0 +1,59 @@
|
|||||||
|
name: "Create Release"
|
||||||
|
|
||||||
|
on: # yamllint disable-line rule:truthy
|
||||||
|
workflow_dispatch:
|
||||||
|
inputs:
|
||||||
|
RELEASE_TAG:
|
||||||
|
description: 'v{Major}.{Minor}.{Patch}'
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
release:
|
||||||
|
name: "Release"
|
||||||
|
permissions:
|
||||||
|
contents: write
|
||||||
|
runs-on: "ubuntu-latest"
|
||||||
|
|
||||||
|
steps:
|
||||||
|
|
||||||
|
- name: Checkout source
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
with:
|
||||||
|
token: ${{ secrets.ACTIONS_ACCESS_TOKEN }}
|
||||||
|
submodules: true
|
||||||
|
|
||||||
|
- name: Create branch and tag submodule
|
||||||
|
run: |
|
||||||
|
git config user.email "actions@github.com"
|
||||||
|
git config user.name "actions-user"
|
||||||
|
git submodule update --init --remote
|
||||||
|
git checkout -b 'release-${{ inputs.RELEASE_TAG }}'
|
||||||
|
(cd calcom && git fetch --tags origin && git checkout 'refs/tags/${{ inputs.RELEASE_TAG }}')
|
||||||
|
git add calcom
|
||||||
|
git commit -m "tag version Cal.com version ${{ inputs.RELEASE_TAG }}"
|
||||||
|
git push origin 'release-${{ inputs.RELEASE_TAG }}'
|
||||||
|
|
||||||
|
# note: instead of secrets.GITHUB_TOKEN here, we need to use a PAT
|
||||||
|
# so that the release creation triggers the image build workflow
|
||||||
|
- name: "Create release"
|
||||||
|
uses: "actions/github-script@v6"
|
||||||
|
with:
|
||||||
|
github-token: "${{ secrets.ACTIONS_ACCESS_TOKEN }}"
|
||||||
|
script: |
|
||||||
|
try {
|
||||||
|
const response = await github.rest.repos.createRelease({
|
||||||
|
draft: false,
|
||||||
|
generate_release_notes: true,
|
||||||
|
body: 'For Cal.com release details, see: https://github.com/calcom/cal.com/releases/tag/${{ inputs.RELEASE_TAG }}',
|
||||||
|
name: '${{ inputs.RELEASE_TAG }}',
|
||||||
|
target_commitish: 'release-${{ inputs.RELEASE_TAG }}',
|
||||||
|
owner: context.repo.owner,
|
||||||
|
prerelease: false,
|
||||||
|
repo: context.repo.repo,
|
||||||
|
tag_name: '${{ inputs.RELEASE_TAG }}',
|
||||||
|
});
|
||||||
|
|
||||||
|
core.exportVariable('RELEASE_ID', response.data.id);
|
||||||
|
core.exportVariable('RELEASE_UPLOAD_URL', response.data.upload_url);
|
||||||
|
} catch (error) {
|
||||||
|
core.setFailed(error.message);
|
||||||
|
}
|
||||||
107
.github/workflows/docker-build-push-dockerhub.yml
vendored
107
.github/workflows/docker-build-push-dockerhub.yml
vendored
@@ -17,15 +17,17 @@ on:
|
|||||||
- completed
|
- completed
|
||||||
# Allow running workflow manually from the Actions tab
|
# Allow running workflow manually from the Actions tab
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
# Uncomment below to allow specific version workflow run
|
||||||
|
# inputs:
|
||||||
|
# version:
|
||||||
|
# description: 'Version to build'
|
||||||
|
# required: true
|
||||||
|
|
||||||
# Leaving in example for releases. Initially we simply push to 'latest'
|
# Leaving in example for releases. Initially we simply push to 'latest'
|
||||||
# on:
|
# on:
|
||||||
# release:
|
# release:
|
||||||
# types: [ created ]
|
# types: [ created ]
|
||||||
|
|
||||||
# # Allows you to run this workflow manually from the Actions tab
|
|
||||||
# workflow_dispatch:
|
|
||||||
|
|
||||||
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
|
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
|
||||||
jobs:
|
jobs:
|
||||||
# This workflow contains a single job called "build"
|
# This workflow contains a single job called "build"
|
||||||
@@ -35,16 +37,21 @@ jobs:
|
|||||||
|
|
||||||
# Steps represent a sequence of tasks that will be executed as part of the job
|
# Steps represent a sequence of tasks that will be executed as part of the job
|
||||||
steps:
|
steps:
|
||||||
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
|
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it, uncomment below
|
||||||
|
# - name: Checkout code at specified version
|
||||||
|
# uses: actions/checkout@v2
|
||||||
|
# with:
|
||||||
|
# ref: ${{ github.event.inputs.version }}
|
||||||
|
|
||||||
- name: checkout
|
- name: checkout
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
- name: Git submodule update
|
- name: Git submodule update
|
||||||
run: |
|
run: |
|
||||||
git submodule update --init
|
git submodule update --init
|
||||||
|
|
||||||
- name: Log in to the Docker Hub registry
|
- name: Log in to the Docker Hub registry
|
||||||
uses: docker/login-action@v1.10.0
|
uses: docker/login-action@v2
|
||||||
with:
|
with:
|
||||||
# Username used to log against the Docker registry
|
# Username used to log against the Docker registry
|
||||||
username: ${{ secrets.DOCKER_HUB_USERNAME }}
|
username: ${{ secrets.DOCKER_HUB_USERNAME }}
|
||||||
@@ -54,7 +61,7 @@ jobs:
|
|||||||
logout: true # optional, default is true
|
logout: true # optional, default is true
|
||||||
|
|
||||||
- name: Log in to the Github Container registry
|
- name: Log in to the Github Container registry
|
||||||
uses: docker/login-action@v1.10.0
|
uses: docker/login-action@v2
|
||||||
with:
|
with:
|
||||||
registry: ghcr.io
|
registry: ghcr.io
|
||||||
username: ${{ github.actor }}
|
username: ${{ github.actor }}
|
||||||
@@ -77,8 +84,8 @@ jobs:
|
|||||||
eval $(sed -e '/^#/d' -e 's/^/export /' -e 's/$/;/' .env) ;
|
eval $(sed -e '/^#/d' -e 's/^/export /' -e 's/$/;/' .env) ;
|
||||||
|
|
||||||
# Temporarily disable ARM build due to runner performance issues
|
# Temporarily disable ARM build due to runner performance issues
|
||||||
# - name: Set up QEMU
|
# - name: Set up QEMU
|
||||||
# uses: docker/setup-qemu-action@v2
|
# uses: docker/setup-qemu-action@v2
|
||||||
|
|
||||||
- name: Start database
|
- name: Start database
|
||||||
run: |
|
run: |
|
||||||
@@ -91,14 +98,18 @@ jobs:
|
|||||||
network=container:database
|
network=container:database
|
||||||
buildkitd-flags: |
|
buildkitd-flags: |
|
||||||
--allow-insecure-entitlement security.insecure --allow-insecure-entitlement network.host
|
--allow-insecure-entitlement security.insecure --allow-insecure-entitlement network.host
|
||||||
|
# config-inline: |
|
||||||
|
# [worker.oci]
|
||||||
|
# max-parallelism = 1
|
||||||
|
|
||||||
- name: Build and push image
|
- name: Build image
|
||||||
id: docker_build
|
id: docker_build
|
||||||
uses: docker/build-push-action@v3
|
uses: docker/build-push-action@v4
|
||||||
with:
|
with:
|
||||||
context: ./
|
context: ./
|
||||||
file: ./Dockerfile
|
file: ./Dockerfile
|
||||||
push: ${{ github.event_name != 'pull_request' }}
|
load: true # Load the image into the Docker daemon
|
||||||
|
push: false # Do not push the image at this stage
|
||||||
platforms: linux/amd64
|
platforms: linux/amd64
|
||||||
tags: ${{ steps.meta.outputs.tags }}
|
tags: ${{ steps.meta.outputs.tags }}
|
||||||
labels: ${{ steps.meta.outputs.labels }}
|
labels: ${{ steps.meta.outputs.labels }}
|
||||||
@@ -108,13 +119,75 @@ jobs:
|
|||||||
NEXT_PUBLIC_TELEMETRY_KEY=${{ env.NEXT_PUBLIC_TELEMETRY_KEY }}
|
NEXT_PUBLIC_TELEMETRY_KEY=${{ env.NEXT_PUBLIC_TELEMETRY_KEY }}
|
||||||
DATABASE_URL=postgresql://${{ env.POSTGRES_USER }}:${{ env.POSTGRES_PASSWORD }}@${{ env.DATABASE_HOST }}/${{ env.POSTGRES_DB }}
|
DATABASE_URL=postgresql://${{ env.POSTGRES_USER }}:${{ env.POSTGRES_PASSWORD }}@${{ env.DATABASE_HOST }}/${{ env.POSTGRES_DB }}
|
||||||
|
|
||||||
# - name: Build with docker compose
|
- name: Test runtime
|
||||||
|
run: |
|
||||||
|
tags="${{ steps.meta.outputs.tags }}"
|
||||||
|
IFS=',' read -ra ADDR <<< "$tags" # Convert string to array using ',' as delimiter
|
||||||
|
tag=${ADDR[0]} # Get the first tag
|
||||||
|
|
||||||
|
docker run --rm --network stack \
|
||||||
|
-p 3000:3000 \
|
||||||
|
-e DATABASE_URL=postgresql://${{ env.POSTGRES_USER }}:${{ env.POSTGRES_PASSWORD }}@database/${{ env.POSTGRES_DB }} \
|
||||||
|
-e NEXTAUTH_SECRET=${{ env.NEXTAUTH_SECRET }} \
|
||||||
|
-e CALENDSO_ENCRYPTION_KEY=${{ env.CALENDSO_ENCRYPTION_KEY }} \
|
||||||
|
$tag &
|
||||||
|
|
||||||
|
server_pid=$!
|
||||||
|
|
||||||
|
|
||||||
|
echo "Waiting for the server to start..."
|
||||||
|
sleep 120
|
||||||
|
|
||||||
|
echo ${{ env.NEXT_PUBLIC_WEBAPP_URL }}/auth/login
|
||||||
|
|
||||||
|
for i in {1..60}; do
|
||||||
|
echo "Checking server health ($i/60)..."
|
||||||
|
response=$(curl -o /dev/null -s -w "%{http_code}" ${{ env.NEXT_PUBLIC_WEBAPP_URL }}/auth/login)
|
||||||
|
echo "HTTP Status Code: $response"
|
||||||
|
if [[ "$response" == "200" ]] || [[ "$response" == "307" ]]; then
|
||||||
|
echo "Server is healthy"
|
||||||
|
# Now, shutdown the server
|
||||||
|
kill $server_pid
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
sleep 1
|
||||||
|
done
|
||||||
|
|
||||||
|
echo "Server health check failed"
|
||||||
|
kill $server_pid
|
||||||
|
exit 1
|
||||||
|
env:
|
||||||
|
NEXTAUTH_SECRET: 'EI4qqDpcfdvf4A+0aQEEx8JjHxHSy4uWiZw/F32K+pA='
|
||||||
|
CALENDSO_ENCRYPTION_KEY: '0zfLtY99wjeLnsM7qsa8xsT+Q0oSgnOL'
|
||||||
|
|
||||||
|
|
||||||
|
# - name: Push image
|
||||||
# run: |
|
# run: |
|
||||||
# DOCKER_BUILDKIT=0 docker compose build --build-arg DATABASE_URL=postgresql://${{ env.POSTGRES_USER }}:${{ env.POSTGRES_PASSWORD }}@${{ env.DATABASE_HOST }}/${{ env.POSTGRES_DB }} calcom
|
# tags="${{ steps.meta.outputs.tags }}"
|
||||||
|
# IFS=',' read -ra ADDR <<< "$tags" # Convert string to array using ',' as delimiter
|
||||||
|
# for tag in "${ADDR[@]}"; do
|
||||||
|
# docker push $tag
|
||||||
|
# done
|
||||||
|
|
||||||
|
- name: Push image
|
||||||
|
id: docker_push
|
||||||
|
uses: docker/build-push-action@v4
|
||||||
|
with:
|
||||||
|
context: ./
|
||||||
|
file: ./Dockerfile
|
||||||
|
push: true
|
||||||
|
platforms: linux/amd64
|
||||||
|
tags: ${{ steps.meta.outputs.tags }}
|
||||||
|
labels: ${{ steps.meta.outputs.labels }}
|
||||||
|
build-args: |
|
||||||
|
NEXT_PUBLIC_WEBAPP_URL=${{ env.NEXT_PUBLIC_WEBAPP_URL }}
|
||||||
|
NEXT_PUBLIC_LICENSE_CONSENT=${{ env.NEXT_PUBLIC_LICENSE_CONSENT }}
|
||||||
|
NEXT_PUBLIC_TELEMETRY_KEY=${{ env.NEXT_PUBLIC_TELEMETRY_KEY }}
|
||||||
|
DATABASE_URL=postgresql://${{ env.POSTGRES_USER }}:${{ env.POSTGRES_PASSWORD }}@${{ env.DATABASE_HOST }}/${{ env.POSTGRES_DB }}
|
||||||
|
|
||||||
|
- name: Image digest
|
||||||
|
run: echo ${{ steps.docker_build.outputs.digest }}
|
||||||
|
|
||||||
- name: Cleanup
|
- name: Cleanup
|
||||||
run: |
|
run: |
|
||||||
docker compose down
|
docker compose down
|
||||||
|
|
||||||
- name: Image digest
|
|
||||||
run: echo ${{ steps.docker_build.outputs.digest }}
|
|
||||||
|
|||||||
2
.github/workflows/update-submodules.yml
vendored
2
.github/workflows/update-submodules.yml
vendored
@@ -13,7 +13,7 @@ jobs:
|
|||||||
shell: bash
|
shell: bash
|
||||||
steps:
|
steps:
|
||||||
- name: checkout
|
- name: checkout
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
- name: Git submodule update
|
- name: Git submodule update
|
||||||
run: |
|
run: |
|
||||||
|
|||||||
27
Dockerfile
27
Dockerfile
@@ -17,29 +17,32 @@ ENV NEXT_PUBLIC_WEBAPP_URL=http://NEXT_PUBLIC_WEBAPP_URL_PLACEHOLDER \
|
|||||||
CALENDSO_ENCRYPTION_KEY=${CALENDSO_ENCRYPTION_KEY} \
|
CALENDSO_ENCRYPTION_KEY=${CALENDSO_ENCRYPTION_KEY} \
|
||||||
NODE_OPTIONS=--max-old-space-size=${MAX_OLD_SPACE_SIZE}
|
NODE_OPTIONS=--max-old-space-size=${MAX_OLD_SPACE_SIZE}
|
||||||
|
|
||||||
RUN yarn global add turbo
|
|
||||||
|
|
||||||
COPY calcom/package.json calcom/yarn.lock calcom/.yarnrc.yml calcom/playwright.config.ts calcom/turbo.json calcom/git-init.sh calcom/git-setup.sh ./
|
COPY calcom/package.json calcom/yarn.lock calcom/.yarnrc.yml calcom/playwright.config.ts calcom/turbo.json calcom/git-init.sh calcom/git-setup.sh ./
|
||||||
COPY calcom/.yarn ./.yarn
|
COPY calcom/.yarn ./.yarn
|
||||||
COPY calcom/apps/web ./apps/web
|
COPY calcom/apps/web ./apps/web
|
||||||
COPY calcom/packages ./packages
|
COPY calcom/packages ./packages
|
||||||
|
COPY calcom/tests ./tests
|
||||||
|
|
||||||
RUN yarn config set httpTimeout 1200000 && \
|
RUN yarn config set httpTimeout 1200000 && \
|
||||||
turbo prune --scope=@calcom/web --docker && \
|
npx turbo prune --scope=@calcom/web --docker && \
|
||||||
yarn install && \
|
yarn install && \
|
||||||
yarn db-deploy && \
|
yarn db-deploy && \
|
||||||
yarn --cwd packages/prisma seed-app-store
|
yarn --cwd packages/prisma seed-app-store
|
||||||
|
|
||||||
RUN yarn turbo run build --filter=@calcom/web
|
RUN yarn turbo run build --filter=@calcom/web
|
||||||
|
|
||||||
FROM node:18 as runner
|
# RUN yarn plugin import workspace-tools && \
|
||||||
|
# yarn workspaces focus --all --production
|
||||||
|
RUN rm -rf node_modules/.cache .yarn/cache apps/web/.next/cache
|
||||||
|
|
||||||
|
FROM node:18 as builder-two
|
||||||
|
|
||||||
WORKDIR /calcom
|
WORKDIR /calcom
|
||||||
ARG NEXT_PUBLIC_WEBAPP_URL=http://localhost:3000
|
ARG NEXT_PUBLIC_WEBAPP_URL=http://localhost:3000
|
||||||
|
|
||||||
ENV NODE_ENV production
|
ENV NODE_ENV production
|
||||||
|
|
||||||
COPY calcom/package.json calcom/yarn.lock calcom/turbo.json ./
|
COPY calcom/package.json calcom/.yarnrc.yml calcom/yarn.lock calcom/turbo.json ./
|
||||||
COPY calcom/.yarn ./.yarn
|
COPY calcom/.yarn ./.yarn
|
||||||
COPY --from=builder /calcom/node_modules ./node_modules
|
COPY --from=builder /calcom/node_modules ./node_modules
|
||||||
COPY --from=builder /calcom/packages ./packages
|
COPY --from=builder /calcom/packages ./packages
|
||||||
@@ -54,5 +57,19 @@ ENV NEXT_PUBLIC_WEBAPP_URL=$NEXT_PUBLIC_WEBAPP_URL \
|
|||||||
|
|
||||||
RUN scripts/replace-placeholder.sh http://NEXT_PUBLIC_WEBAPP_URL_PLACEHOLDER ${NEXT_PUBLIC_WEBAPP_URL}
|
RUN scripts/replace-placeholder.sh http://NEXT_PUBLIC_WEBAPP_URL_PLACEHOLDER ${NEXT_PUBLIC_WEBAPP_URL}
|
||||||
|
|
||||||
|
FROM node:18 as runner
|
||||||
|
|
||||||
|
|
||||||
|
WORKDIR /calcom
|
||||||
|
COPY --from=builder-two /calcom ./
|
||||||
|
ARG NEXT_PUBLIC_WEBAPP_URL=http://localhost:3000
|
||||||
|
ENV NEXT_PUBLIC_WEBAPP_URL=$NEXT_PUBLIC_WEBAPP_URL \
|
||||||
|
BUILT_NEXT_PUBLIC_WEBAPP_URL=$NEXT_PUBLIC_WEBAPP_URL
|
||||||
|
|
||||||
|
ENV NODE_ENV production
|
||||||
EXPOSE 3000
|
EXPOSE 3000
|
||||||
|
|
||||||
|
HEALTHCHECK --interval=30s --timeout=30s --retries=5 \
|
||||||
|
CMD wget --spider http://localhost:3000 || exit 1
|
||||||
|
|
||||||
CMD ["/calcom/scripts/start.sh"]
|
CMD ["/calcom/scripts/start.sh"]
|
||||||
2
calcom
2
calcom
Submodule calcom updated: 325dc9805f...2e50625165
Reference in New Issue
Block a user