-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'develop' of gurusainath:makeplane/plane into fix-profil…
…e-issues-state-label
- Loading branch information
Showing
267 changed files
with
3,811 additions
and
2,856 deletions.
There are no files selected for viewing
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,97 @@ | ||
name: Auto Merge or Create PR on Push | ||
|
||
on: | ||
workflow_dispatch: | ||
push: | ||
branches: | ||
- "sync/**" | ||
|
||
env: | ||
CURRENT_BRANCH: ${{ github.ref_name }} | ||
SOURCE_BRANCH: ${{ secrets.SYNC_TARGET_BRANCH_NAME }} # The sync branch such as "sync/ce" | ||
TARGET_BRANCH: ${{ secrets.TARGET_BRANCH }} # The target branch that you would like to merge changes like develop | ||
GITHUB_TOKEN: ${{ secrets.ACCESS_TOKEN }} # Personal access token required to modify contents and workflows | ||
REVIEWER: ${{ secrets.REVIEWER }} | ||
|
||
jobs: | ||
Check_Branch: | ||
runs-on: ubuntu-latest | ||
outputs: | ||
BRANCH_MATCH: ${{ steps.check-branch.outputs.MATCH }} | ||
steps: | ||
- name: Check if current branch matches the secret | ||
id: check-branch | ||
run: | | ||
if [ "$CURRENT_BRANCH" = "$SOURCE_BRANCH" ]; then | ||
echo "MATCH=true" >> $GITHUB_OUTPUT | ||
else | ||
echo "MATCH=false" >> $GITHUB_OUTPUT | ||
fi | ||
Auto_Merge: | ||
if: ${{ needs.Check_Branch.outputs.BRANCH_MATCH == 'true' }} | ||
needs: [Check_Branch] | ||
runs-on: ubuntu-latest | ||
permissions: | ||
pull-requests: write | ||
contents: write | ||
steps: | ||
- name: Checkout code | ||
uses: actions/checkout@v4.1.1 | ||
with: | ||
fetch-depth: 0 # Fetch all history for all branches and tags | ||
|
||
- name: Setup GH CLI and Git Config | ||
run: | | ||
type -p curl >/dev/null || (sudo apt update && sudo apt install curl -y) | ||
curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg | ||
sudo chmod go+r /usr/share/keyrings/githubcli-archive-keyring.gpg | ||
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null | ||
sudo apt update | ||
sudo apt install gh -y | ||
- id: git-author | ||
name: Setup Git CLI from Github Token | ||
run: | | ||
VIEWER_JSON=$(gh api graphql -f query='query { viewer { name login databaseId }}' --jq '.data.viewer') | ||
VIEWER_NAME=$(jq --raw-output '.name | values' <<< "${VIEWER_JSON}") | ||
VIEWER_LOGIN=$(jq --raw-output '.login' <<< "${VIEWER_JSON}") | ||
VIEWER_DATABASE_ID=$(jq --raw-output '.databaseId' <<< "${VIEWER_JSON}") | ||
USER_NAME="${VIEWER_NAME:-${VIEWER_LOGIN}}" | ||
USER_EMAIL="${VIEWER_DATABASE_ID}+${VIEWER_LOGIN}@users.noreply.github.com" | ||
git config --global user.name ${USER_NAME} | ||
git config --global user.email ${USER_EMAIL} | ||
- name: Check for merge conflicts | ||
id: conflicts | ||
run: | | ||
git fetch origin $TARGET_BRANCH | ||
git checkout $TARGET_BRANCH | ||
# Attempt to merge the main branch into the current branch | ||
if $(git merge --no-commit --no-ff $SOURCE_BRANCH); then | ||
echo "No merge conflicts detected." | ||
echo "HAS_CONFLICTS=false" >> $GITHUB_ENV | ||
else | ||
echo "Merge conflicts detected." | ||
echo "HAS_CONFLICTS=true" >> $GITHUB_ENV | ||
git merge --abort | ||
fi | ||
- name: Merge Change to Target Branch | ||
if: env.HAS_CONFLICTS == 'false' | ||
run: | | ||
git commit -m "Merge branch '$SOURCE_BRANCH' into $TARGET_BRANCH" | ||
git push origin $TARGET_BRANCH | ||
- name: Create PR to Target Branch | ||
if: env.HAS_CONFLICTS == 'true' | ||
run: | | ||
# Use GitHub CLI to create PR and specify author and committer | ||
PR_URL=$(gh pr create --base $TARGET_BRANCH --head $SOURCE_BRANCH \ | ||
--title "sync: merge conflicts need to be resolved" \ | ||
--body "" \ | ||
--reviewer $REVIEWER ) | ||
echo "Pull Request created: $PR_URL" | ||
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,73 @@ | ||
name: Feature Preview | ||
|
||
on: | ||
workflow_dispatch: | ||
inputs: | ||
web-build: | ||
required: true | ||
type: boolean | ||
default: true | ||
space-build: | ||
required: true | ||
type: boolean | ||
default: false | ||
|
||
jobs: | ||
feature-deploy: | ||
name: Feature Deploy | ||
runs-on: ubuntu-latest | ||
env: | ||
KUBE_CONFIG_FILE: ${{ secrets.KUBE_CONFIG }} | ||
BUILD_WEB: ${{ (github.event.inputs.web-build == '' && true) || github.event.inputs.web-build }} | ||
BUILD_SPACE: ${{ (github.event.inputs.space-build == '' && false) || github.event.inputs.space-build }} | ||
|
||
steps: | ||
- name: Tailscale | ||
uses: tailscale/github-action@v2 | ||
with: | ||
oauth-client-id: ${{ secrets.TAILSCALE_OAUTH_CLIENT_ID }} | ||
oauth-secret: ${{ secrets.TAILSCALE_OAUTH_SECRET }} | ||
tags: tag:ci | ||
|
||
- name: Kubectl Setup | ||
run: | | ||
curl -LO "https://dl.k8s.io/release/${{secrets.KUBE_VERSION}}/bin/linux/amd64/kubectl" | ||
chmod +x kubectl | ||
mkdir -p ~/.kube | ||
echo "$KUBE_CONFIG_FILE" > ~/.kube/config | ||
chmod 600 ~/.kube/config | ||
- name: HELM Setup | ||
run: | | ||
curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | ||
chmod 700 get_helm.sh | ||
./get_helm.sh | ||
- name: App Deploy | ||
run: | | ||
helm --kube-insecure-skip-tls-verify repo add feature-preview ${{ secrets.FEATURE_PREVIEW_HELM_CHART_URL }} | ||
GIT_BRANCH=${{ github.ref_name }} | ||
APP_NAMESPACE=${{ secrets.FEATURE_PREVIEW_NAMESPACE }} | ||
METADATA=$(helm install feature-preview/${{ secrets.FEATURE_PREVIEW_HELM_CHART_NAME }} \ | ||
--kube-insecure-skip-tls-verify \ | ||
--generate-name \ | ||
--namespace $APP_NAMESPACE \ | ||
--set shared_config.git_repo=${{github.server_url}}/${{ github.repository }}.git \ | ||
--set shared_config.git_branch="$GIT_BRANCH" \ | ||
--set web.enabled=${{ env.BUILD_WEB }} \ | ||
--set space.enabled=${{ env.BUILD_SPACE }} \ | ||
--output json \ | ||
--timeout 1000s) | ||
APP_NAME=$(echo $METADATA | jq -r '.name') | ||
INGRESS_HOSTNAME=$(kubectl get ingress -n feature-builds --insecure-skip-tls-verify \ | ||
-o jsonpath='{.items[?(@.metadata.annotations.meta\.helm\.sh\/release-name=="'$APP_NAME'")]}' | \ | ||
jq -r '.spec.rules[0].host') | ||
echo "****************************************" | ||
echo "APP NAME ::: $APP_NAME" | ||
echo "INGRESS HOSTNAME ::: $INGRESS_HOSTNAME" | ||
echo "****************************************" |
This file contains 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
This file contains 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
This file contains 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
This file contains 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
Oops, something went wrong.