Skip to content

Commit 707570c

Browse files
Merge pull request #5041 from makeplane/preview
release: v0.22-dev
2 parents c76af7d + 156f101 commit 707570c

File tree

2,815 files changed

+105124
-85611
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

2,815 files changed

+105124
-85611
lines changed

.github/workflows/build-aio-base.yml

Lines changed: 73 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,11 @@ name: Build AIO Base Image
22

33
on:
44
workflow_dispatch:
5+
inputs:
6+
base_tag_name:
7+
description: 'Base Tag Name'
8+
required: false
9+
default: ''
510

611
env:
712
TARGET_BRANCH: ${{ github.ref_name }}
@@ -16,37 +21,87 @@ jobs:
1621
gh_buildx_version: ${{ steps.set_env_variables.outputs.BUILDX_VERSION }}
1722
gh_buildx_platforms: ${{ steps.set_env_variables.outputs.BUILDX_PLATFORMS }}
1823
gh_buildx_endpoint: ${{ steps.set_env_variables.outputs.BUILDX_ENDPOINT }}
19-
build_base: ${{ steps.changed_files.outputs.base_any_changed }}
24+
image_tag: ${{ steps.set_env_variables.outputs.IMAGE_TAG }}
2025

2126
steps:
2227
- id: set_env_variables
2328
name: Set Environment Variables
2429
run: |
25-
echo "BUILDX_DRIVER=cloud" >> $GITHUB_OUTPUT
26-
echo "BUILDX_VERSION=lab:latest" >> $GITHUB_OUTPUT
27-
echo "BUILDX_PLATFORMS=linux/amd64,linux/arm64" >> $GITHUB_OUTPUT
28-
echo "BUILDX_ENDPOINT=makeplane/plane-dev" >> $GITHUB_OUTPUT
2930
echo "TARGET_BRANCH=${{ env.TARGET_BRANCH }}" >> $GITHUB_OUTPUT
3031
32+
if [ "${{ github.event.inputs.base_tag_name }}" != "" ]; then
33+
echo "IMAGE_TAG=${{ github.event.inputs.base_tag_name }}" >> $GITHUB_OUTPUT
34+
elif [ "${{ env.TARGET_BRANCH }}" == "master" ]; then
35+
echo "IMAGE_TAG=latest" >> $GITHUB_OUTPUT
36+
elif [ "${{ env.TARGET_BRANCH }}" == "preview" ]; then
37+
echo "IMAGE_TAG=preview" >> $GITHUB_OUTPUT
38+
else
39+
echo "IMAGE_TAG=develop" >> $GITHUB_OUTPUT
40+
fi
41+
42+
43+
if [ "${{ env.TARGET_BRANCH }}" == "master" ]; then
44+
echo "BUILDX_DRIVER=cloud" >> $GITHUB_OUTPUT
45+
echo "BUILDX_VERSION=lab:latest" >> $GITHUB_OUTPUT
46+
echo "BUILDX_PLATFORMS=linux/amd64,linux/arm64" >> $GITHUB_OUTPUT
47+
echo "BUILDX_ENDPOINT=makeplane/plane-dev" >> $GITHUB_OUTPUT
48+
else
49+
echo "BUILDX_DRIVER=docker-container" >> $GITHUB_OUTPUT
50+
echo "BUILDX_VERSION=latest" >> $GITHUB_OUTPUT
51+
echo "BUILDX_PLATFORMS=linux/amd64" >> $GITHUB_OUTPUT
52+
echo "BUILDX_ENDPOINT=" >> $GITHUB_OUTPUT
53+
fi
54+
3155
- id: checkout_files
3256
name: Checkout Files
3357
uses: actions/checkout@v4
3458

35-
- name: Get changed files
36-
id: changed_files
37-
uses: tj-actions/changed-files@v42
59+
full_base_build_push:
60+
runs-on: ubuntu-latest
61+
needs: [base_build_setup]
62+
env:
63+
BASE_IMG_TAG: makeplane/plane-aio-base:full-${{ needs.base_build_setup.outputs.image_tag }}
64+
BUILDX_DRIVER: ${{ needs.base_build_setup.outputs.gh_buildx_driver }}
65+
BUILDX_VERSION: ${{ needs.base_build_setup.outputs.gh_buildx_version }}
66+
BUILDX_PLATFORMS: ${{ needs.base_build_setup.outputs.gh_buildx_platforms }}
67+
BUILDX_ENDPOINT: ${{ needs.base_build_setup.outputs.gh_buildx_endpoint }}
68+
steps:
69+
- name: Check out the repo
70+
uses: actions/checkout@v4
71+
72+
- name: Login to Docker Hub
73+
uses: docker/login-action@v3
3874
with:
39-
files_yaml: |
40-
base:
41-
- aio/Dockerfile.base
75+
username: ${{ secrets.DOCKERHUB_USERNAME }}
76+
password: ${{ secrets.DOCKERHUB_TOKEN }}
4277

43-
base_build_push:
44-
if: ${{ needs.base_build_setup.outputs.build_base == 'true' || github.event_name == 'workflow_dispatch' || needs.base_build_setup.outputs.gh_branch_name == 'master' }}
78+
- name: Set up Docker Buildx
79+
uses: docker/setup-buildx-action@v3
80+
with:
81+
driver: ${{ env.BUILDX_DRIVER }}
82+
version: ${{ env.BUILDX_VERSION }}
83+
endpoint: ${{ env.BUILDX_ENDPOINT }}
84+
85+
- name: Build and Push to Docker Hub
86+
uses: docker/build-push-action@v5.1.0
87+
with:
88+
context: ./aio
89+
file: ./aio/Dockerfile-base-full
90+
platforms: ${{ env.BUILDX_PLATFORMS }}
91+
tags: ${{ env.BASE_IMG_TAG }}
92+
push: true
93+
cache-from: type=gha
94+
cache-to: type=gha,mode=max
95+
env:
96+
DOCKER_BUILDKIT: 1
97+
DOCKER_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
98+
DOCKER_PASSWORD: ${{ secrets.DOCKERHUB_TOKEN }}
99+
100+
slim_base_build_push:
45101
runs-on: ubuntu-latest
46102
needs: [base_build_setup]
47103
env:
48-
BASE_IMG_TAG: makeplane/plane-aio-base:${{ needs.base_build_setup.outputs.gh_branch_name }}
49-
TARGET_BRANCH: ${{ needs.base_build_setup.outputs.gh_branch_name }}
104+
BASE_IMG_TAG: makeplane/plane-aio-base:slim-${{ needs.base_build_setup.outputs.image_tag }}
50105
BUILDX_DRIVER: ${{ needs.base_build_setup.outputs.gh_buildx_driver }}
51106
BUILDX_VERSION: ${{ needs.base_build_setup.outputs.gh_buildx_version }}
52107
BUILDX_PLATFORMS: ${{ needs.base_build_setup.outputs.gh_buildx_platforms }}
@@ -55,15 +110,6 @@ jobs:
55110
- name: Check out the repo
56111
uses: actions/checkout@v4
57112

58-
- name: Set Docker Tag
59-
run: |
60-
if [ "${{ env.TARGET_BRANCH }}" == "master" ]; then
61-
TAG=makeplane/plane-aio-base:latest
62-
else
63-
TAG=${{ env.BASE_IMG_TAG }}
64-
fi
65-
echo "BASE_IMG_TAG=${TAG}" >> $GITHUB_ENV
66-
67113
- name: Login to Docker Hub
68114
uses: docker/login-action@v3
69115
with:
@@ -81,10 +127,12 @@ jobs:
81127
uses: docker/build-push-action@v5.1.0
82128
with:
83129
context: ./aio
84-
file: ./aio/Dockerfile.base
130+
file: ./aio/Dockerfile-base-slim
85131
platforms: ${{ env.BUILDX_PLATFORMS }}
86132
tags: ${{ env.BASE_IMG_TAG }}
87133
push: true
134+
cache-from: type=gha
135+
cache-to: type=gha,mode=max
88136
env:
89137
DOCKER_BUILDKIT: 1
90138
DOCKER_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
Lines changed: 203 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,203 @@
1+
name: Branch Build AIO
2+
3+
on:
4+
workflow_dispatch:
5+
inputs:
6+
full:
7+
description: 'Run full build'
8+
type: boolean
9+
required: false
10+
default: false
11+
slim:
12+
description: 'Run slim build'
13+
type: boolean
14+
required: false
15+
default: false
16+
base_tag_name:
17+
description: 'Base Tag Name'
18+
required: false
19+
default: ''
20+
release:
21+
types: [released, prereleased]
22+
23+
env:
24+
TARGET_BRANCH: ${{ github.ref_name || github.event.release.target_commitish }}
25+
FULL_BUILD_INPUT: ${{ github.event.inputs.full }}
26+
SLIM_BUILD_INPUT: ${{ github.event.inputs.slim }}
27+
28+
jobs:
29+
branch_build_setup:
30+
name: Build Setup
31+
runs-on: ubuntu-latest
32+
outputs:
33+
gh_branch_name: ${{ steps.set_env_variables.outputs.TARGET_BRANCH }}
34+
gh_buildx_driver: ${{ steps.set_env_variables.outputs.BUILDX_DRIVER }}
35+
gh_buildx_version: ${{ steps.set_env_variables.outputs.BUILDX_VERSION }}
36+
gh_buildx_platforms: ${{ steps.set_env_variables.outputs.BUILDX_PLATFORMS }}
37+
gh_buildx_endpoint: ${{ steps.set_env_variables.outputs.BUILDX_ENDPOINT }}
38+
aio_base_tag: ${{ steps.set_env_variables.outputs.AIO_BASE_TAG }}
39+
do_full_build: ${{ steps.set_env_variables.outputs.DO_FULL_BUILD }}
40+
do_slim_build: ${{ steps.set_env_variables.outputs.DO_SLIM_BUILD }}
41+
42+
steps:
43+
- id: set_env_variables
44+
name: Set Environment Variables
45+
run: |
46+
if [ "${{ env.TARGET_BRANCH }}" == "master" ] || [ "${{ github.event_name }}" == "release" ]; then
47+
echo "BUILDX_DRIVER=cloud" >> $GITHUB_OUTPUT
48+
echo "BUILDX_VERSION=lab:latest" >> $GITHUB_OUTPUT
49+
echo "BUILDX_PLATFORMS=linux/amd64,linux/arm64" >> $GITHUB_OUTPUT
50+
echo "BUILDX_ENDPOINT=makeplane/plane-dev" >> $GITHUB_OUTPUT
51+
52+
echo "AIO_BASE_TAG=latest" >> $GITHUB_OUTPUT
53+
else
54+
echo "BUILDX_DRIVER=docker-container" >> $GITHUB_OUTPUT
55+
echo "BUILDX_VERSION=latest" >> $GITHUB_OUTPUT
56+
echo "BUILDX_PLATFORMS=linux/amd64" >> $GITHUB_OUTPUT
57+
echo "BUILDX_ENDPOINT=" >> $GITHUB_OUTPUT
58+
59+
if [ "${{ github.event.inputs.base_tag_name }}" != "" ]; then
60+
echo "AIO_BASE_TAG=${{ github.event.inputs.base_tag_name }}" >> $GITHUB_OUTPUT
61+
elif [ "${{ env.TARGET_BRANCH }}" == "preview" ]; then
62+
echo "AIO_BASE_TAG=preview" >> $GITHUB_OUTPUT
63+
else
64+
echo "AIO_BASE_TAG=develop" >> $GITHUB_OUTPUT
65+
fi
66+
fi
67+
echo "TARGET_BRANCH=${{ env.TARGET_BRANCH }}" >> $GITHUB_OUTPUT
68+
69+
if [ "${{ env.FULL_BUILD_INPUT }}" == "true" ] || [ "${{github.event_name}}" == "push" ] || [ "${{github.event_name}}" == "release" ]; then
70+
echo "DO_FULL_BUILD=true" >> $GITHUB_OUTPUT
71+
else
72+
echo "DO_FULL_BUILD=false" >> $GITHUB_OUTPUT
73+
fi
74+
75+
if [ "${{ env.SLIM_BUILD_INPUT }}" == "true" ] || [ "${{github.event_name}}" == "push" ] || [ "${{github.event_name}}" == "release" ]; then
76+
echo "DO_SLIM_BUILD=true" >> $GITHUB_OUTPUT
77+
else
78+
echo "DO_SLIM_BUILD=false" >> $GITHUB_OUTPUT
79+
fi
80+
81+
- id: checkout_files
82+
name: Checkout Files
83+
uses: actions/checkout@v4
84+
85+
full_build_push:
86+
if: ${{ needs.branch_build_setup.outputs.do_full_build == 'true' }}
87+
runs-on: ubuntu-20.04
88+
needs: [branch_build_setup]
89+
env:
90+
BUILD_TYPE: full
91+
AIO_BASE_TAG: ${{ needs.branch_build_setup.outputs.aio_base_tag }}
92+
AIO_IMAGE_TAGS: makeplane/plane-aio:full-${{ needs.branch_build_setup.outputs.gh_branch_name }}
93+
TARGET_BRANCH: ${{ needs.branch_build_setup.outputs.gh_branch_name }}
94+
BUILDX_DRIVER: ${{ needs.branch_build_setup.outputs.gh_buildx_driver }}
95+
BUILDX_VERSION: ${{ needs.branch_build_setup.outputs.gh_buildx_version }}
96+
BUILDX_PLATFORMS: ${{ needs.branch_build_setup.outputs.gh_buildx_platforms }}
97+
BUILDX_ENDPOINT: ${{ needs.branch_build_setup.outputs.gh_buildx_endpoint }}
98+
steps:
99+
- name: Set Docker Tag
100+
run: |
101+
if [ "${{ github.event_name }}" == "release" ]; then
102+
TAG=makeplane/plane-aio:${{env.BUILD_TYPE}}-stable,makeplane/plane-aio:${{env.BUILD_TYPE}}-${{ github.event.release.tag_name }}
103+
elif [ "${{ env.TARGET_BRANCH }}" == "master" ]; then
104+
TAG=makeplane/plane-aio:${{env.BUILD_TYPE}}-latest
105+
else
106+
TAG=${{ env.AIO_IMAGE_TAGS }}
107+
fi
108+
echo "AIO_IMAGE_TAGS=${TAG}" >> $GITHUB_ENV
109+
110+
- name: Login to Docker Hub
111+
uses: docker/login-action@v3
112+
with:
113+
username: ${{ secrets.DOCKERHUB_USERNAME }}
114+
password: ${{ secrets.DOCKERHUB_TOKEN }}
115+
116+
- name: Set up Docker Buildx
117+
uses: docker/setup-buildx-action@v3
118+
with:
119+
driver: ${{ env.BUILDX_DRIVER }}
120+
version: ${{ env.BUILDX_VERSION }}
121+
endpoint: ${{ env.BUILDX_ENDPOINT }}
122+
123+
- name: Check out the repo
124+
uses: actions/checkout@v4
125+
126+
- name: Build and Push to Docker Hub
127+
uses: docker/build-push-action@v5.1.0
128+
with:
129+
context: .
130+
file: ./aio/Dockerfile-app
131+
platforms: ${{ env.BUILDX_PLATFORMS }}
132+
tags: ${{ env.AIO_IMAGE_TAGS }}
133+
push: true
134+
build-args: |
135+
BUILD_TAG=${{ env.AIO_BASE_TAG }}
136+
BUILD_TYPE=${{env.BUILD_TYPE}}
137+
cache-from: type=gha
138+
cache-to: type=gha,mode=max
139+
140+
env:
141+
DOCKER_BUILDKIT: 1
142+
DOCKER_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
143+
DOCKER_PASSWORD: ${{ secrets.DOCKERHUB_TOKEN }}
144+
145+
slim_build_push:
146+
if: ${{ needs.branch_build_setup.outputs.do_slim_build == 'true' }}
147+
runs-on: ubuntu-20.04
148+
needs: [branch_build_setup]
149+
env:
150+
BUILD_TYPE: slim
151+
AIO_BASE_TAG: ${{ needs.branch_build_setup.outputs.aio_base_tag }}
152+
AIO_IMAGE_TAGS: makeplane/plane-aio:slim-${{ needs.branch_build_setup.outputs.gh_branch_name }}
153+
TARGET_BRANCH: ${{ needs.branch_build_setup.outputs.gh_branch_name }}
154+
BUILDX_DRIVER: ${{ needs.branch_build_setup.outputs.gh_buildx_driver }}
155+
BUILDX_VERSION: ${{ needs.branch_build_setup.outputs.gh_buildx_version }}
156+
BUILDX_PLATFORMS: ${{ needs.branch_build_setup.outputs.gh_buildx_platforms }}
157+
BUILDX_ENDPOINT: ${{ needs.branch_build_setup.outputs.gh_buildx_endpoint }}
158+
steps:
159+
- name: Set Docker Tag
160+
run: |
161+
if [ "${{ github.event_name }}" == "release" ]; then
162+
TAG=makeplane/plane-aio:${{env.BUILD_TYPE}}-stable,makeplane/plane-aio:${{env.BUILD_TYPE}}-${{ github.event.release.tag_name }}
163+
elif [ "${{ env.TARGET_BRANCH }}" == "master" ]; then
164+
TAG=makeplane/plane-aio:${{env.BUILD_TYPE}}-latest
165+
else
166+
TAG=${{ env.AIO_IMAGE_TAGS }}
167+
fi
168+
echo "AIO_IMAGE_TAGS=${TAG}" >> $GITHUB_ENV
169+
170+
- name: Login to Docker Hub
171+
uses: docker/login-action@v3
172+
with:
173+
username: ${{ secrets.DOCKERHUB_USERNAME }}
174+
password: ${{ secrets.DOCKERHUB_TOKEN }}
175+
176+
- name: Set up Docker Buildx
177+
uses: docker/setup-buildx-action@v3
178+
with:
179+
driver: ${{ env.BUILDX_DRIVER }}
180+
version: ${{ env.BUILDX_VERSION }}
181+
endpoint: ${{ env.BUILDX_ENDPOINT }}
182+
183+
- name: Check out the repo
184+
uses: actions/checkout@v4
185+
186+
- name: Build and Push to Docker Hub
187+
uses: docker/build-push-action@v5.1.0
188+
with:
189+
context: .
190+
file: ./aio/Dockerfile-app
191+
platforms: ${{ env.BUILDX_PLATFORMS }}
192+
tags: ${{ env.AIO_IMAGE_TAGS }}
193+
push: true
194+
build-args: |
195+
BUILD_TAG=${{ env.AIO_BASE_TAG }}
196+
BUILD_TYPE=${{env.BUILD_TYPE}}
197+
cache-from: type=gha
198+
cache-to: type=gha,mode=max
199+
200+
env:
201+
DOCKER_BUILDKIT: 1
202+
DOCKER_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
203+
DOCKER_PASSWORD: ${{ secrets.DOCKERHUB_TOKEN }}

.github/workflows/build-test-pull-request.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,11 @@ name: Build and Lint on Pull Request
33
on:
44
workflow_dispatch:
55
pull_request:
6-
types: ["opened", "synchronize"]
6+
types: ["opened", "synchronize", "ready_for_review"]
77

88
jobs:
99
get-changed-files:
10+
if: github.event.pull_request.draft == false
1011
runs-on: ubuntu-latest
1112
outputs:
1213
apiserver_changed: ${{ steps.changed-files.outputs.apiserver_any_changed }}

.github/workflows/create-sync-pr.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ jobs:
2929
else
3030
echo "MATCH=false" >> $GITHUB_OUTPUT
3131
fi
32-
Auto_Merge:
32+
Create_PR:
3333
if: ${{ needs.Check_Branch.outputs.BRANCH_MATCH == 'true' }}
3434
needs: [Check_Branch]
3535
runs-on: ubuntu-latest

0 commit comments

Comments
 (0)