78 lines
		
	
	
	
		
			2.2 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			78 lines
		
	
	
	
		
			2.2 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
name: Nightly Release
 | 
						|
 | 
						|
on:
 | 
						|
  # pull_request:
 | 
						|
  #   branches: [ main ]
 | 
						|
  #   paths:
 | 
						|
  #     - '.github/workflows/nightly_build.yml'
 | 
						|
  # schedule:
 | 
						|
  #   - cron: '00 15 * * *'  # GMT time, 15:00 GMT == 23:00 China
 | 
						|
  # workflow_dispatch:
 | 
						|
  workflow_call:
 | 
						|
    inputs:
 | 
						|
      checkout-ref:
 | 
						|
        description: 'ref for checking out, including branch, tag or SHA'
 | 
						|
        required: false
 | 
						|
        type: string
 | 
						|
      release-version:
 | 
						|
        description: 'ipex-llm version (e.g. 2.2.0b1)'
 | 
						|
        required: false
 | 
						|
        type: string
 | 
						|
      schedule-event:
 | 
						|
        description: 'whether it is triggered by schedule event'
 | 
						|
        required: true
 | 
						|
        type: boolean
 | 
						|
permissions:
 | 
						|
  contents: read
 | 
						|
 | 
						|
jobs:
 | 
						|
 | 
						|
  llm-cpp-build:
 | 
						|
    uses: ./.github/workflows/llm-binary-build.yml
 | 
						|
 | 
						|
  ipex-llm-build:
 | 
						|
    # python build can only be published once a day, please do not publish it manually
 | 
						|
    # if: ${{ github.event.schedule || github.event_name == 'workflow_dispatch' }} 
 | 
						|
    runs-on: [self-hosted, Bree]
 | 
						|
    needs: llm-cpp-build
 | 
						|
    steps:
 | 
						|
    - uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # actions/checkout@v3
 | 
						|
      with:
 | 
						|
        repository: 'intel-analytics/ipex-llm'
 | 
						|
        ref: ${{ inputs.checkout-ref }}
 | 
						|
 | 
						|
    - name: Set up Python 
 | 
						|
      uses: actions/setup-python@v2
 | 
						|
      with:
 | 
						|
        python-version: '3.7.15'
 | 
						|
 | 
						|
    - name: Install dependencies
 | 
						|
      run: |
 | 
						|
        python -m pip install --upgrade pip
 | 
						|
        pip install build
 | 
						|
        pip install wheel
 | 
						|
        pip install twine        
 | 
						|
 | 
						|
    - name: Download llm binary
 | 
						|
      uses: ./.github/actions/llm/download-llm-binary
 | 
						|
 | 
						|
    - name: set release version
 | 
						|
      run: |
 | 
						|
        if [[ "${{ inputs.schedule-event }}" == "true" ]]; then
 | 
						|
          export TIMESTAMP=`date '+%Y%m%d'`
 | 
						|
          export PYPI_VERSION=2.2.0
 | 
						|
          export RELEASE_VERSION=${PYPI_VERSION}b${TIMESTAMP}
 | 
						|
        else
 | 
						|
          export RELEASE_VERSION=${{ inputs.release-version }}
 | 
						|
        fi
 | 
						|
        echo "RELEASE_VERSION=${RELEASE_VERSION}" >> $GITHUB_ENV        
 | 
						|
 | 
						|
    - name: Build package
 | 
						|
      run: |
 | 
						|
        echo ${RELEASE_VERSION}
 | 
						|
 | 
						|
        ## windows ##
 | 
						|
        bash python/llm/dev/release_default_windows.sh ${RELEASE_VERSION} true
 | 
						|
 | 
						|
        ## linux ##
 | 
						|
        bash python/llm/dev/release_default_linux.sh ${RELEASE_VERSION} true        
 |