diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 1ff93fc11..c3f143bb5 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,107 +1,72 @@ -# Each PR will build preview site that help to check code is work as expect. - name: Build on: - pull_request: - types: [opened, synchronize, reopened] push: + branches: + # - develop + - feat/for_desktop + - feat/for_desktop* tags: - '*' +defaults: + run: + shell: bash -leo pipefail {0} + jobs: # Prepare node modules. Reuse cache if available setup: name: prepare build - runs-on: ubuntu-latest + runs-on: [self-hosted, X64, Linux, builder] env: NODE_OPTIONS: '--max_old_space_size=4096' steps: - name: checkout uses: actions/checkout@v3 + - name: Env Test + id: env-test + run: | + echo "whoami $(whoami)" + echo "shell is $(echo $0)" + echo "which node $(which node)" - name: Setup node uses: actions/setup-node@v3 with: node-version: '18.16.1' - - name: Get yarn cache directory path - id: yarn-cache-dir-path - run: echo "::set-output name=dir::$(yarn cache dir)" + # - name: Get yarn cache directory path + # id: yarn-cache-dir-path + # run: echo "::set-output name=dir::$(yarn cache dir)" - - uses: actions/cache@v3 - id: yarn-cache # use this to check for `cache-hit` (`steps.yarn-cache.outputs.cache-hit != 'true'`) - with: - path: ${{ steps.yarn-cache-dir-path.outputs.dir }} - key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} + # - uses: actions/cache@v3 + # id: yarn-cache # use this to check for `cache-hit` (`steps.yarn-cache.outputs.cache-hit != 'true'`) + # with: + # path: ${{ steps.yarn-cache-dir-path.outputs.dir }} + # key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} - - uses: actions/cache@v3 - id: yarn-node_modules # use this to check for `cache-hit` (`steps.yarn-cache.outputs.cache-hit != 'true'`) - with: - path: node_modules - key: ${{ runner.os }}-node_modules-${{ hashFiles('**/yarn.lock') }} + # - uses: actions/cache@v3 + # id: yarn-node_modules # use this to check for `cache-hit` (`steps.yarn-cache.outputs.cache-hit != 'true'`) + # with: + # path: node_modules + # key: ${{ runner.os }}-node_modules-${{ hashFiles('**/yarn.lock') }} - - name: Get Yarn Cache - if: steps.yarn-cache.outputs.cache-hit == 'true' - run: yarn --prefer-offline + # - name: Get Yarn Cache + # if: steps.yarn-cache.outputs.cache-hit == 'true' + # run: yarn --prefer-offline - name: Use NPM Token with organization read access uses: heisenberg-2077/use-npm-token-action@v1 with: token: '${{ secrets.NPM_AUTH_TOKEN }}' - - name: Install Dependencies - if: steps.yarn-cache.outputs.cache-hit != 'true' - run: yarn install --frozen-lockfile + # - name: Install Dependencies + # if: steps.yarn-cache.outputs.cache-hit != 'true' + # run: yarn install --frozen-lockfile build-pro: name: build pro - runs-on: ubuntu-latest - needs: setup - env: - NODE_OPTIONS: '--max_old_space_size=4096' - steps: - - name: checkout - uses: actions/checkout@v3 - - - name: Get yarn cache directory path - id: yarn-cache-dir-path - run: echo "::set-output name=dir::$(yarn cache dir)" - - - uses: actions/cache@v3 - id: yarn-cache # use this to check for `cache-hit` (`steps.yarn-cache.outputs.cache-hit != 'true'`) - with: - path: ${{ steps.yarn-cache-dir-path.outputs.dir }} - key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} - - - uses: actions/cache@v3 - id: yarn-node_modules # use this to check for `cache-hit` (`steps.yarn-cache.outputs.cache-hit != 'true'`) - with: - path: node_modules - key: ${{ runner.os }}-node_modules-${{ hashFiles('**/yarn.lock') }} - - - name: build - run: yarn build:pro - - - name: Upload artifact - uses: actions/upload-artifact@v3 - if: ${{ github.event_name == 'pull_request' }} - with: - name: Rabby_${{github.sha}} - path: dist - retention-days: 7 - - - name: Upload artifact - uses: actions/upload-artifact@v3 - if: ${{ github.event_name == 'push' }} - with: - name: Rabby_${{github.ref_name}} - path: dist - retention-days: 7 - - build-debug: - name: build debug - runs-on: ubuntu-latest + runs-on: [self-hosted, X64, Linux, builder] needs: setup env: NODE_OPTIONS: '--max_old_space_size=4096' @@ -123,23 +88,79 @@ jobs: id: yarn-node_modules # use this to check for `cache-hit` (`steps.yarn-cache.outputs.cache-hit != 'true'`) with: path: node_modules - key: ${{ runner.os }}-node_modules-${{ hashFiles('**/yarn.lock') }} + key: ${{ runner.os }}-node_modules-${{ hashFiles('**/yarn.lock') }}-${{ hashFiles('patches/*.patch') }} - name: build - run: yarn build:debug - - - name: Upload artifact - uses: actions/upload-artifact@v3 - if: ${{ github.event_name == 'pull_request' }} - with: - name: Rabby_${{github.sha}}_debug - path: dist - retention-days: 7 - - - name: Upload artifact - uses: actions/upload-artifact@v3 - if: ${{ github.event_name == 'push' }} - with: - name: Rabby_${{github.ref_name}}_debug - path: dist - retention-days: 7 + run: | + sh ./scripts/pack.sh; + env: + RABBY_BUILD_BUCKET: ${{ secrets.RABBY_BUILD_BUCKET }} + LARK_CHAT_URL: ${{ secrets.LARK_CHAT_URL }} + LARK_CHAT_SECRET: ${{ secrets.LARK_CHAT_SECRET }} + # see more details on https://docs.github.com/en/actions/learn-github-actions/contexts#github-context + ACTIONS_JOB_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} + GIT_COMMIT_URL: ${{ github.server_url }}/${{ github.repository }}/commit/${{ github.sha }} + GIT_REF_NAME: ${{ github.ref_name }} + GIT_REF_URL: ${{ github.server_url }}/${{ github.repository }}/tree/${{ github.ref_name }} + GITHUB_ACTOR: ${{ github.actor }} + GITHUB_TRIGGERING_ACTOR: ${{ github.triggering_actor }} + # - name: Upload artifact + # uses: actions/upload-artifact@v3 + # if: ${{ github.event_name == 'pull_request' }} + # with: + # name: Rabby_${{github.sha}} + # path: dist + # retention-days: 7 + + # - name: Upload artifact + # uses: actions/upload-artifact@v3 + # if: ${{ github.event_name == 'push' }} + # with: + # name: Rabby_${{github.ref_name}} + # path: dist + # retention-days: 7 + + # build-debug: + # name: build debug + # runs-on: [self-hosted, X64, Linux, builder] + # needs: setup + # env: + # NODE_OPTIONS: '--max_old_space_size=4096' + # steps: + # - name: checkout + # uses: actions/checkout@v3 + + # - name: Get yarn cache directory path + # id: yarn-cache-dir-path + # run: echo "::set-output name=dir::$(yarn cache dir)" + + # - uses: actions/cache@v3 + # id: yarn-cache # use this to check for `cache-hit` (`steps.yarn-cache.outputs.cache-hit != 'true'`) + # with: + # path: ${{ steps.yarn-cache-dir-path.outputs.dir }} + # key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} + + # - uses: actions/cache@v3 + # id: yarn-node_modules # use this to check for `cache-hit` (`steps.yarn-cache.outputs.cache-hit != 'true'`) + # with: + # path: node_modules + # key: ${{ runner.os }}-node_modules-${{ hashFiles('**/yarn.lock') }} + + # - name: build + # run: yarn build:debug + + # - name: Upload artifact + # uses: actions/upload-artifact@v3 + # if: ${{ github.event_name == 'pull_request' }} + # with: + # name: Rabby_${{github.sha}}_debug + # path: dist + # retention-days: 7 + + # - name: Upload artifact + # uses: actions/upload-artifact@v3 + # if: ${{ github.event_name == 'push' }} + # with: + # name: Rabby_${{github.ref_name}}_debug + # path: dist + # retention-days: 7 diff --git a/.github/workflows/build_debug.yml b/.github/workflows/build_debug.yml new file mode 100644 index 000000000..f693c02f3 --- /dev/null +++ b/.github/workflows/build_debug.yml @@ -0,0 +1,95 @@ +# Each PR will build debug that help to check if build works as expect. + +name: Test Build + +on: + pull_request: + types: [opened, synchronize, reopened] + +defaults: + run: + shell: bash -leo pipefail {0} + +jobs: + # Prepare node modules. Reuse cache if available + setup: + name: prepare build + runs-on: [self-hosted, X64, Linux, builder] + env: + NODE_OPTIONS: '--max_old_space_size=4096' + steps: + - name: checkout + uses: actions/checkout@v3 + + - name: Env Test + id: env-test + run: | + echo "whoami $(whoami)" + echo "shell is $(echo $0)" + echo "which node $(which node)" + + # - name: Setup node + # uses: actions/setup-node@v3 + # with: + # node-version: '16.14' + # cache: 'yarn' + + # - name: Get yarn cache directory path + # id: yarn-cache-dir-path + # run: echo "::set-output name=dir::$(yarn cache dir)" + + # - uses: actions/cache@v3 + # id: yarn-cache # use this to check for `cache-hit` (`steps.yarn-cache.outputs.cache-hit != 'true'`) + # with: + # path: ${{ steps.yarn-cache-dir-path.outputs.dir }} + # key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} + + # - uses: actions/cache@v3 + # id: yarn-node_modules # use this to check for `cache-hit` (`steps.yarn-cache.outputs.cache-hit != 'true'`) + # with: + # path: node_modules + # key: ${{ runner.os }}-node_modules-${{ hashFiles('**/yarn.lock') }} + + # - name: Get Yarn Cache + # if: steps.yarn-cache.outputs.cache-hit == 'true' + # run: yarn --prefer-offline + + - name: Use NPM Token with organization read access + uses: heisenberg-2077/use-npm-token-action@v1 + with: + token: '${{ secrets.NPM_AUTH_TOKEN }}' + + # - name: Install Dependencies + # if: steps.yarn-cache.outputs.cache-hit != 'true' + # run: yarn install --frozen-lockfile + + build-debug: + name: build debug + runs-on: [self-hosted, X64, Linux, builder] + needs: setup + env: + NODE_OPTIONS: '--max_old_space_size=4096' + steps: + - name: checkout + uses: actions/checkout@v3 + + - name: Get yarn cache directory path + id: yarn-cache-dir-path + run: echo "::set-output name=dir::$(yarn cache dir)" + + - uses: actions/cache@v3 + id: yarn-cache # use this to check for `cache-hit` (`steps.yarn-cache.outputs.cache-hit != 'true'`) + with: + path: ${{ steps.yarn-cache-dir-path.outputs.dir }} + key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} + + - uses: actions/cache@v3 + id: yarn-node_modules # use this to check for `cache-hit` (`steps.yarn-cache.outputs.cache-hit != 'true'`) + with: + path: node_modules + key: ${{ runner.os }}-node_modules-${{ hashFiles('**/yarn.lock') }} + + - name: build + run: | + export NO_UPLOAD=1; + sh ./scripts/pack.sh; \ No newline at end of file diff --git a/.github/workflows/private.yaml b/.github/workflows/private.yaml index 1d6602111..60283e779 100644 --- a/.github/workflows/private.yaml +++ b/.github/workflows/private.yaml @@ -1,13 +1,16 @@ name: Triger Private Build on: - pull_request: - types: [opened, synchronize, reopened] + # pull_request: + # types: [opened, synchronize, reopened] push: branches: - - develop - tags: - - v* + - dont_trigger + # - develop + # - feat/for_desktop + # - feat/for_desktop* + # tags: + # - v* jobs: create-new-private-build: diff --git a/.gitignore b/.gitignore index cf63bf973..a046ec912 100644 --- a/.gitignore +++ b/.gitignore @@ -5,4 +5,5 @@ dist-* .DS_Store yarn-error -tmp/*.zip \ No newline at end of file +tmp/*.zip +tmp diff --git a/_raw/blank.html b/_raw/blank.html new file mode 100644 index 000000000..162208cae --- /dev/null +++ b/_raw/blank.html @@ -0,0 +1,7 @@ + +
+