RemoteBuild - Remote Build Configuration
This commit is contained in:
parent
ef0a47fd61
commit
443eeb32d6
@ -1,65 +0,0 @@
|
||||
default:
|
||||
tags:
|
||||
- BIOS ## Select server automatically
|
||||
|
||||
variables:
|
||||
GIT_CLONE_PATH: $CI_BUILDS_DIR\Deploy\$CI_CONCURRENT_ID\$GITLAB_USER_ID\$CI_PROJECT_ID
|
||||
GIT_STRATEGY: none
|
||||
|
||||
stages:
|
||||
- init
|
||||
- badging
|
||||
|
||||
## Macro Template. Can be used with "extends" key.
|
||||
## Must start with "." to indicate Gitlab not to run them.
|
||||
.badge_update_template:
|
||||
stage: badging
|
||||
script:
|
||||
## Prepare variables
|
||||
- 'set BUILD_JOB_URL=%CI_PROJECT_URL%/-/jobs/%UPSTREAM_BUILD_JOB_ID%'
|
||||
## Find badge id to update
|
||||
- 'curl -s --header "%API_HEADER%" "%CI_API_V4_URL%/projects/%CI_PROJECT_ID%/badges" > badge.txt'
|
||||
- '%RUNNER_PATH%\jq-win64.exe -c "map(select(.name|contains(\"%BADGE_NAME%\")))[0].id" badge.txt > badge_id.txt'
|
||||
- 'set /p BADGE_ID= < badge_id.txt'
|
||||
## Update badge
|
||||
- 'curl -s --request PUT --header "%API_HEADER%" --data "link_url=%BUILD_JOB_URL%&image_url=https://shields.io/badge/%BADGE_NAME%-%BADGE_STATE%-%BADGE_COLOR%?style=plastic&name=%BADGE_NAME%" "%CI_API_V4_URL%/projects/%CI_PROJECT_ID%/badges/%BADGE_ID%"'
|
||||
allow_failure: true
|
||||
|
||||
## Badging jobs
|
||||
badging_init: ## Add badges to project - master, develop, ci build
|
||||
stage: init
|
||||
variables:
|
||||
BADGE_STATE: unknown
|
||||
BADGE_COLOR: inactive
|
||||
rules:
|
||||
- if: $UPSTREAM_PIPELINE_IID == '1' ## For first CI pipe
|
||||
- if: $BADGE_INIT == 'true' ## If BADGE_INIT is manually added into pipeline variable
|
||||
script:
|
||||
- 'set BADGE_NAME=master'
|
||||
- 'curl -s --request POST --header "%API_HEADER%" --data "link_url=%CI_PROJECT_URL%&image_url=https://shields.io/badge/%BADGE_NAME%-%BADGE_STATE%-%BADGE_COLOR%?style=plastic&name=%BADGE_NAME%" "%CI_API_V4_URL%/projects/%CI_PROJECT_ID%/badges/"'
|
||||
- 'set BADGE_NAME=develop'
|
||||
- 'curl -s --request POST --header "%API_HEADER%" --data "link_url=%CI_PROJECT_URL%&image_url=https://shields.io/badge/%BADGE_NAME%-%BADGE_STATE%-%BADGE_COLOR%?style=plastic&name=%BADGE_NAME%" "%CI_API_V4_URL%/projects/%CI_PROJECT_ID%/badges/"'
|
||||
- 'set BADGE_NAME=ci_build'
|
||||
- 'curl -s --request POST --header "%API_HEADER%" --data "link_url=%CI_PROJECT_URL%&image_url=https://shields.io/badge/%BADGE_NAME%-%BADGE_STATE%-%BADGE_COLOR%?style=plastic&name=%BADGE_NAME%" "%CI_API_V4_URL%/projects/%CI_PROJECT_ID%/badges/"'
|
||||
allow_failure: true
|
||||
|
||||
badging_master_success:
|
||||
extends: .badge_update_template
|
||||
rules:
|
||||
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
|
||||
variables:
|
||||
BADGE_NAME: master
|
||||
|
||||
badging_develop_success:
|
||||
extends: .badge_update_template
|
||||
rules:
|
||||
- if: $CI_COMMIT_REF_NAME =~ /^.*[_-]develop(ment)?$/i
|
||||
variables:
|
||||
BADGE_NAME: develop
|
||||
|
||||
badging_ci_build_success:
|
||||
extends: .badge_update_template
|
||||
rules:
|
||||
- if: $CI_COMMIT_REF_NAME =~ /^CI?\d?D?\d?-.*$/i
|
||||
variables:
|
||||
BADGE_NAME: ci_build
|
255
.gitlab-ci.yml
255
.gitlab-ci.yml
@ -1,46 +1,112 @@
|
||||
## Global variable
|
||||
# Using AaeonRemoteBuildPkg only. Mask this section if you want to use own project local .yml
|
||||
include:
|
||||
- project: 'AAEON/Utility/AaeonRemoteBuildPkg'
|
||||
file: '.gitlab-ci-project.yml'
|
||||
|
||||
# Use project local .yml only. Unmask if you want to use it.
|
||||
#include:
|
||||
# - local: '.gitlab-ci-project.yml'
|
||||
|
||||
variables:
|
||||
GIT_DEPTH: "1"
|
||||
## Unmask for patching NameTooLong issue
|
||||
## Build variables for ########################################################
|
||||
## AaeonRemoteBuild.bat %1 %2 %3 %4 %5:
|
||||
## %1 PROJECT_REBUILD=BUILD_ALL
|
||||
## 1: Build all; 0: Build; 2: Skip Build process[Test Only]
|
||||
## %2 PROJECT_SHA=SHA_FOLDER=not used any more. Reserved for compatibility.
|
||||
## %3 PROJECT_VEB_FILE=VEB=file name (w/o extension)
|
||||
## %4 PROJECT_VEB_TOOL=AptioV_DIR=VEB tool version
|
||||
## Veb Support List:
|
||||
## 4.5.5_TOOLS_41
|
||||
## Aptio_5.x_TOOLS_24_6
|
||||
## Aptio_5.x_TOOLS_27
|
||||
## Aptio_5.x_TOOLS_28
|
||||
## Aptio_5.x_TOOLS_30_7
|
||||
## Aptio_5.x_TOOLS_31_1
|
||||
## Aptio_5.x_TOOLS_32_1
|
||||
## Aptio_5.x_TOOLS_34_1
|
||||
## Aptio_5.x_TOOLS_35
|
||||
## Aptio_5.x_TOOLS_35_1
|
||||
## Aptio_5.x_TOOLS_35_2
|
||||
## Aptio_5.x_TOOLS_37_1
|
||||
## Aptio_5.x_TOOLS_37_1_x64
|
||||
## Aptio_5.x_TOOLS_JRE_34_1
|
||||
## Aptio_5.x_TOOLS_40
|
||||
## %5 PROJECT_BUILD_BATCH=batch file name (w/ .bat) used for compiling
|
||||
## instead of using build commands defined in .veb.
|
||||
## Optional, give un-exist file name to disable.
|
||||
## And for
|
||||
## AaeonRemoteDeploy.bat %1 %2:
|
||||
## %1 COPY_OPTION
|
||||
## 0: For Gitlab remote deploy, copy all; 1: For local use, copy file listed; 2: Skip
|
||||
## %2 PROJECT_SHA=SHA_FOLDER
|
||||
## Name: Create SHA and Output folder; 0: Create Output folder only; 1: Create with short SHA
|
||||
## Name example:
|
||||
## $CI_COMMIT_SHORT_SHA: 8 chars
|
||||
## $CI_COMMIT_SHA: Full sha
|
||||
PROJECT_REBUILD: 1
|
||||
PROJECT_SHA: $CI_COMMIT_SHA
|
||||
PROJECT_VEB_FILE: Kabylake
|
||||
PROJECT_VEB_TOOL: Aptio_5.x_TOOLS_33
|
||||
PROJECT_BUILD_BATCH: N/A ## Set to build.bat if project uses build.bat instead of make
|
||||
|
||||
## Patching NameTooLong issue. Optional, unmask if needed to change for project -
|
||||
##GIT_CLONE_PATH: $CI_BUILDS_DIR\Build\$CI_CONCURRENT_ID\$GITLAB_USER_ID\$CI_PROJECT_ID
|
||||
|
||||
## Stage definitions
|
||||
stages:
|
||||
- build
|
||||
- deploy
|
||||
## Release variables for ####################################################
|
||||
## AaeonRemotePreRelease.bat via environment
|
||||
## PROJECT_RELEASE_DIR: Path to release folder
|
||||
## PROJECT_CHANGELOG: Path to CHANGELOG file
|
||||
## PROJECT_HISTORY: Path to History file
|
||||
## PROJECT_FORMAL_HISTORY: Select to include internal commit message in History
|
||||
## true/false - Show/hide internal messages [Test only]
|
||||
## auto - Include internal messages only for beta version (refer to PROJECT_FORMAL_VERSION)
|
||||
## PROJECT_FORMAL_VERSION: First formal release version in form of Major.Minor (ex: '1.0')
|
||||
## When releasing a version - History.txt will be
|
||||
## Same as formal - reset as first release
|
||||
## Smaller than formal - appended with internal changes
|
||||
## Larger than formal - appended w/o internal changes
|
||||
PROJECT_RELEASE_DIR: AaeonRelease
|
||||
PROJECT_CHANGELOG: CHANGELOG.md
|
||||
PROJECT_HISTORY: $PROJECT_RELEASE_DIR\History.txt
|
||||
PROJECT_FORMAL_HISTORY: auto
|
||||
PROJECT_FORMAL_VERSION: '1.0'
|
||||
## PROJECT_ONEDRIVE_RELATIVE_FOLDER: Folder name on Onedrive to release BIOS.
|
||||
## Useful for ODM project's name is different with Onedrive folder name. This happens when -
|
||||
## Project's name is too short, or conflict with other project's name
|
||||
## Project's name is changed, but for some reason Onedrive folder is not changed accordingly
|
||||
##PROJECT_ONEDRIVE_RELATIVE_FOLDER: 'Some fixed string'
|
||||
## PROJECT_SIGN_ON_FORM: Form to dynamically generate sign-on message in History.txt
|
||||
## Possible phrases
|
||||
## $(TOKEN) - To be replaced by parsed token. Support AAEON_MODEL_NAME, SYSTEM_PRODUCT_NAME, PROJECT_NAME
|
||||
## {{signon_tag}} - To be replaced by BIOS tag. Ex: K860AM10
|
||||
## {{signon_major}} - To be replaced by major version parsed from BIOS tag. Ex: 1
|
||||
## {{signon_minor}} - To be replaced by minor version parsed from BIOS tag. Ex: 0
|
||||
## Optional, unmask if needed to change for customizing -
|
||||
##PROJECT_SIGN_ON_FORM: '$$(AAEON_MODEL_NAME) R{{signon_major}}.{{signon_minor}}({{signon_tag}}) ({{signon_date}})'
|
||||
|
||||
## Macro Template. Can be used with "extends" key.
|
||||
## Must start with "." to indicate Gitlab not to run them.
|
||||
.build_template:
|
||||
stage: build
|
||||
before_script:
|
||||
# Prepare project variables for passing job variables to other jobs.
|
||||
## for variables bridge jobs do not have, and are required by downstream jobs, put to project variable
|
||||
## PROJECT_BUILD_JOB_ID -> CI_JOB_ID for building job
|
||||
- 'curl -s --request POST --header "%API_HEADER%" "%CI_API_V4_URL%/projects/%CI_PROJECT_ID%/variables" --form "key=PROJECT_BUILD_JOB_ID" --form "value=%CI_JOB_ID%"'
|
||||
- 'curl -s --request PUT --header "%API_HEADER%" "%CI_API_V4_URL%/projects/%CI_PROJECT_ID%/variables/PROJECT_BUILD_JOB_ID" --form "value=%CI_JOB_ID%"'
|
||||
script:
|
||||
- 'AaeonRemoteBuild.bat 1 1'
|
||||
## ReleaseDbg variables ####################################################
|
||||
## This feature will be enabled when either one of following files presents in project:
|
||||
## - AaeonPlatformDebugger\AaeonPlatformDebugger.sdl
|
||||
## - DebugEnable.sdl
|
||||
##
|
||||
## PROJECT_DEBUG_CIF_PATH: Path to a .cif containing file name of .sdl file.
|
||||
## Default use one in AaeonRemoteBuildPkg with DebugEnable.sdl
|
||||
## PROJECT_DEBUG_SDL_PATH: Path to a .sdl containing AMI SDL tokens to enable debug mode.
|
||||
## Default use one in AaeonRemoteBuildPkg
|
||||
## Optional, unmask if needed to change for project -
|
||||
##PROJECT_DEBUG_CIF_PATH: %REMOTE_BUILD_PATH%\DebugEnable\DebugEnable.cif
|
||||
##PROJECT_DEBUG_SDL_PATH: %REMOTE_BUILD_PATH%\DebugEnable\DebugEnable.sdl
|
||||
##PROJECT_DEBUG_SDL_PATH: DebugEnable.sdl ## (Example for using one added in project root)
|
||||
|
||||
.deploy_template:
|
||||
stage: deploy
|
||||
variables:
|
||||
GIT_CLONE_PATH: $CI_BUILDS_DIR\Deploy\$CI_CONCURRENT_ID\$GITLAB_USER_ID\$CI_PROJECT_ID
|
||||
GIT_STRATEGY: none
|
||||
script:
|
||||
# Display working directory because it is not displayed when GIT_STRATEGY is none.
|
||||
- 'echo %GIT_CLONE_PATH%'
|
||||
# Perform file copy only
|
||||
- 'AaeonRemoteBuild.bat 2 1'
|
||||
after_script:
|
||||
- del /S /Q *.* ## remove files since that have been put to NAS.
|
||||
# Overriding other configurations
|
||||
# Refer to https://docs.gitlab.com/ee/ci/yaml/includes.html#override-included-configuration-values for more detail
|
||||
|
||||
# Example - Overriding deployed file list
|
||||
.build_files:
|
||||
extends:
|
||||
- .build_template # To obtain "script" key which is required in all job.
|
||||
artifacts:
|
||||
paths:
|
||||
- 'AaeonRemoteBuild.bat'
|
||||
- '*.[Bb][Ii][Nn]'
|
||||
- 'build.log'
|
||||
- '_Aaeon_Release\*.[Bb][Ii][Nn]'
|
||||
@ -57,121 +123,10 @@ stages:
|
||||
- 'Build\*.sd'
|
||||
- 'Build\*.mak'
|
||||
- 'Build\*.h'
|
||||
expire_in: 5min
|
||||
|
||||
.variables_for_downstream:
|
||||
inherit:
|
||||
variables:
|
||||
# Only listed variables will be inherited
|
||||
- API_HEADER
|
||||
variables:
|
||||
# Pass pre-defined variables with prefix "UPSTREAM" to downstream,
|
||||
# because downstream has own defined ones.
|
||||
UPSTREAM_REF: $CI_COMMIT_REF_NAME
|
||||
UPSTREAM_SHA: $CI_COMMIT_SHORT_SHA
|
||||
UPSTREAM_PROJECT_ID: $CI_PROJECT_ID
|
||||
UPSTREAM_PROJECT_NAME: $CI_PROJECT_NAME
|
||||
UPSTREAM_BUILD_JOB_ID: $PROJECT_BUILD_JOB_ID
|
||||
UPSTREAM_PIPELINE_IID: $CI_PIPELINE_IID
|
||||
|
||||
## Build Jobs
|
||||
build_in_Server1:
|
||||
extends:
|
||||
- .build_template
|
||||
- .build_files
|
||||
rules:
|
||||
- if: $CI_COMMIT_REF_NAME =~ /^CI?1(D\d)?-.*$/i
|
||||
tags:
|
||||
- BIOS1
|
||||
|
||||
build_in_Server2:
|
||||
extends:
|
||||
- .build_template
|
||||
- .build_files
|
||||
rules:
|
||||
- if: $CI_COMMIT_REF_NAME =~ /^CI?2(D\d)?-.*$/i
|
||||
tags:
|
||||
- BIOS2
|
||||
|
||||
build_no_preferred:
|
||||
extends:
|
||||
- .build_template
|
||||
- .build_files
|
||||
rules:
|
||||
- if: $CI_COMMIT_REF_NAME =~ /^CI?D\d-.*$/i
|
||||
tags:
|
||||
- BIOS
|
||||
|
||||
build_no_preferred_no_deploy:
|
||||
extends:
|
||||
- .build_template
|
||||
rules:
|
||||
- if: $CI_COMMIT_REF_NAME =~ /^CI?-.*$/i
|
||||
- if: $CI_COMMIT_REF_NAME =~ /^CI?\d?D?\d?-.*$/i ## skip if it is ci build
|
||||
when: never
|
||||
- if: $CI_PIPELINE_SOURCE == "merge_request_event" ## Build BIOS when merge request issued
|
||||
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH ## Build BIOS when committing to project master
|
||||
- if: $CI_PIPELINE_SOURCE == "web" ## Build BIOS when run pipeline manually
|
||||
tags:
|
||||
- BIOS
|
||||
|
||||
## Build debug binary and upload to Gitlab. Work only with Tag
|
||||
debug_build:
|
||||
extends:
|
||||
- .build_template
|
||||
rules:
|
||||
- if: $CI_COMMIT_TAG =~ /^.*[_-]debug$/i
|
||||
tags:
|
||||
- BIOS
|
||||
artifacts:
|
||||
name: Debug_Binary
|
||||
paths:
|
||||
- '*.[Bb][Ii][Nn]'
|
||||
|
||||
## Deploy Jobs
|
||||
deploy_to_Taipei:
|
||||
extends:
|
||||
- .deploy_template
|
||||
rules:
|
||||
- if: $CI_COMMIT_REF_NAME =~ /^(CI?\d?)?D1-.*$/i
|
||||
tags:
|
||||
- BIOS1
|
||||
|
||||
deploy_to_Taichung:
|
||||
extends:
|
||||
- .deploy_template
|
||||
rules:
|
||||
- if: $CI_COMMIT_REF_NAME =~ /^(CI?\d?)?D2-.*$/i
|
||||
tags:
|
||||
- BIOS2
|
||||
|
||||
deploy_to_PC:
|
||||
extends: .variables_for_downstream
|
||||
stage: deploy
|
||||
rules:
|
||||
- if: $CI_COMMIT_REF_NAME =~ /^CI?\d?D0-.*$/i
|
||||
trigger:
|
||||
project: AAEON/Utility/AaeonPersonalDeploy # Allow absolute path only.
|
||||
branch: $GITLAB_USER_LOGIN
|
||||
strategy: depend
|
||||
|
||||
## Badging jobs
|
||||
.badging_template:
|
||||
extends: .variables_for_downstream
|
||||
stage: deploy
|
||||
trigger:
|
||||
include: .gitlab-ci-badging.yml
|
||||
|
||||
badging_success:
|
||||
extends: .badging_template
|
||||
variables:
|
||||
BADGE_STATE: success
|
||||
BADGE_COLOR: success
|
||||
when: on_success
|
||||
|
||||
badging_failed:
|
||||
extends: .badging_template
|
||||
variables:
|
||||
BADGE_STATE: failed
|
||||
BADGE_COLOR: red
|
||||
when: on_failure
|
||||
- 'Build\git-cliff\*' ## for PreRelease result
|
||||
- 'Build\AmiCrbMeRoms\*' ## for AMI CRB Binary
|
||||
- 'AmiFspBinaryBuildTemp\Token.*'
|
||||
- 'AmiFspBinaryBuildTemp\Platform.*'
|
||||
- 'AmiFspBinaryBuildTemp\*.mak'
|
||||
expire_in: 1day
|
||||
when: always
|
||||
|
@ -1,223 +0,0 @@
|
||||
@rem PORTING NOTE
|
||||
@rem ===========================================
|
||||
@rem * Select prefered build server in .gitlab-ci.yml. Ex: [Tag: BIOS] use all; [Tag: BIOS1] use BIOS1 only
|
||||
@rem * Set variables %1 %2 from the script section in .gitlab-ci.yml:
|
||||
@rem * %1 BUILD_ALL=1: Build all; 0: Build; 2: Skip Build process[Test Only]
|
||||
@rem * %2 SHA_FOLDER=1: Create SHA and Output folder; 0: Create Output folder only
|
||||
@rem * Set VEB file name (w/o extension). Ex: [VEB=CoffeeLake_BOXER-6842M]
|
||||
@rem * Set VEB tool version. Ex: [AptioV_DIR=Aptio_5.x_TOOLS_32_1]
|
||||
@rem * (Optional) Set output path for copying output file. Ex: [OUTPUT_DIR=\\AA-LK11-1682\Share]
|
||||
@rem * (Optional) Set user name for accessing share folder. Ex: [USERNAME=username@aaeon.com.tw]
|
||||
@rem * (Optional) Set password for accessing share folder. Ex: [PASSWORD=########]
|
||||
@rem * (Optional) Set output folder for copying output file. Ex: [OUTPUT_FOLDER=CoffeeLake_BOXER-6842M]
|
||||
@rem * Make sure there is tee.exe in VEB_DIR(gitlab-runner) folder on build server.
|
||||
@rem * The tool can be found on http://sourceforge.net/projects/unxutils/?source=dlp
|
||||
|
||||
echo.
|
||||
echo *******************************************
|
||||
echo AaeonRemoteBuild.bat Start
|
||||
echo *******************************************
|
||||
echo.
|
||||
echo Set Build Environment Parameters
|
||||
echo -------------------------------------------
|
||||
@set BUILD_ALL=%1
|
||||
@set DEDIPROG_DIR=C:\Program Files (x86)\DediProg\SF Programmer
|
||||
|
||||
:SetVebParm
|
||||
@set VEB=Kabylake
|
||||
@rem BUILD_WITH_BATCH : For projects use build.bat instead of make
|
||||
@set BUILD_WITH_BATCH=0
|
||||
@set AptioV_DIR=Aptio_5.x_TOOLS_33
|
||||
@rem Veb Support List:
|
||||
@rem 4.5.5_TOOLS_41
|
||||
@rem Aptio_5.x_TOOLS_24_6
|
||||
@rem Aptio_5.x_TOOLS_27
|
||||
@rem Aptio_5.x_TOOLS_28
|
||||
@rem Aptio_5.x_TOOLS_30_7
|
||||
@rem Aptio_5.x_TOOLS_31_1
|
||||
@rem Aptio_5.x_TOOLS_32_1
|
||||
@rem Aptio_5.x_TOOLS_34_1
|
||||
@rem Aptio_5.x_TOOLS_35
|
||||
@rem Aptio_5.x_TOOLS_35_1
|
||||
@rem Aptio_5.x_TOOLS_35_2
|
||||
@rem Aptio_5.x_TOOLS_37_1
|
||||
@rem Aptio_5.x_TOOLS_37_1_x64
|
||||
@rem Aptio_5.x_TOOLS_JRE_34_1
|
||||
@set VEB_DIR=C:\gitlab-runner
|
||||
|
||||
:SetVebToolsDirectories
|
||||
@set TOOLS_DIR=%VEB_DIR%\%AptioV_DIR%\BuildTools
|
||||
@set WINDDK_DIR1=%VEB_DIR%\WINDDK\7600.16385.1\bin\x86\x86
|
||||
@set WINDDK_DIR2=%VEB_DIR%\WINDDK\7600.16385.1\bin\x86
|
||||
@set EWDK_DIR=%VEB_DIR%\EWDK_1703
|
||||
@rem EWDK_DIR=%VEB_DIR%\EWDK_19h1
|
||||
@set path=%VEB_DIR%;%EWDK_DIR%;%WINDDK_DIR1%;%WINDDK_DIR2%;%TOOLS_DIR%;%path%
|
||||
|
||||
:SetVebEnvVariables
|
||||
@set CCX86DIR=%VEB_DIR%\WINDDK\7600.16385.1\bin\x86\x86
|
||||
@set CCX64DIR=%VEB_DIR%\WINDDK\7600.16385.1\bin\x86\amd64
|
||||
|
||||
echo.
|
||||
echo Set deploy Environment Parameters
|
||||
echo -------------------------------------------
|
||||
|
||||
:SetOutputPath
|
||||
@set NET_IP=172.16.1.26
|
||||
@set OUTPUT_DIR=\\%NET_IP%\public
|
||||
@rem Get path in form of "user_name\project_name"
|
||||
if "%CI_PROJECT_PATH%" == "" (
|
||||
@rem Retrieve from current directory. For compatibitliy to Gitlab 8.2.3.
|
||||
@set OUTPUT_FOLDER=%CD:~14%
|
||||
) else (
|
||||
@rem Using CI variable to retrieve. Replace / with \.
|
||||
@set OUTPUT_FOLDER=%CI_PROJECT_PATH:/=\%
|
||||
)
|
||||
@set USERNAME=runner
|
||||
@set PASSWORD=12345678
|
||||
@ping %NET_IP% -n 1 -w 1000
|
||||
if ERRORLEVEL 1 (
|
||||
@set NET_IP=192.168.11.56
|
||||
@set OUTPUT_DIR=\\!NET_IP!\Temp\Share
|
||||
@set USERNAME=aaeon\user1
|
||||
@set PASSWORD=123456
|
||||
@ping !NET_IP! -n 1 -w 1000
|
||||
)
|
||||
|
||||
:ConnectOuputDir
|
||||
if ERRORLEVEL 1 (
|
||||
@set OUTPUT_DIR=%USERPROFILE%\AAEON Technology\nas - gitlab_runner
|
||||
) else (
|
||||
rem connect output directory
|
||||
@net use %OUTPUT_DIR% /user:%USERNAME% %PASSWORD%
|
||||
@set NET_USE=1
|
||||
@set OUTPUT_FOLDER=runner-build\%OUTPUT_FOLDER%
|
||||
)
|
||||
@set OUTPUT_PATH=%OUTPUT_DIR%\%OUTPUT_FOLDER%
|
||||
|
||||
:SetShaFolder
|
||||
@set SHA_FOLDER=%2
|
||||
if "%SHA_FOLDER%" == "1" (
|
||||
@set OUTPUT_PATH=%OUTPUT_DIR%\%OUTPUT_FOLDER%\%CI_COMMIT_SHA%
|
||||
)
|
||||
|
||||
:StartBuild
|
||||
echo.
|
||||
echo Starting Build Process
|
||||
echo -------------------------------------------
|
||||
@set OLDTIME=%time%
|
||||
@echo success > .success.tmp
|
||||
|
||||
@if "%BUILD_ALL%" == "2" goto Built
|
||||
@if "%BUILD_ALL%" == "0" goto Build
|
||||
|
||||
:ReBuildAll
|
||||
if "%BUILD_WITH_BATCH%" == "1" (
|
||||
(call Build.bat rebuild || del .success.tmp) | tee build.log
|
||||
@echo off
|
||||
) else (
|
||||
(make clean || del .success.tmp) | tee build.log
|
||||
(make rebuild || del .success.tmp) | tee build.log
|
||||
)
|
||||
goto Built
|
||||
|
||||
:Build
|
||||
if "%BUILD_WITH_BATCH%" == "1" (
|
||||
(call Build.bat || del .success.tmp) | tee build.log
|
||||
@echo off
|
||||
) else (
|
||||
(make || del .success.tmp) | tee build.log
|
||||
)
|
||||
goto Built
|
||||
|
||||
:Built
|
||||
|
||||
FOR /F "usebackq tokens=1-3" %%I IN (Build\Token.mak) DO (
|
||||
if "%%I" EQU "AMI_FSP_BIN_BUILD_TEMP_DIR" (
|
||||
Set AmiFspBinBuildTempDir=%%K
|
||||
)
|
||||
)
|
||||
|
||||
echo.
|
||||
echo Copying Output Files
|
||||
echo -------------------------------------------
|
||||
|
||||
:CreateOuputFolder
|
||||
if exist "%OUTPUT_PATH%\" (
|
||||
@del "%OUTPUT_PATH%\*" /Q
|
||||
@rmdir "%OUTPUT_PATH%\Build" /S /Q
|
||||
@rmdir "%OUTPUT_PATH%\%AmiFspBinBuildTempDir%" /S /Q
|
||||
)
|
||||
@mkdir "%OUTPUT_PATH%\Build"
|
||||
@mkdir "%OUTPUT_PATH%\%AmiFspBinBuildTempDir%"
|
||||
|
||||
:CopyBuildFiles
|
||||
@copy *.bin "%OUTPUT_PATH%" /y /b
|
||||
@copy *.cap "%OUTPUT_PATH%" /y /b
|
||||
@copy *.rom "%OUTPUT_PATH%" /y /b
|
||||
@copy build.log %OUTPUT_PATH% /y /b
|
||||
@copy _Aaeon_Release\*.bin "%OUTPUT_PATH%" /y /b
|
||||
@copy Build\Token.* "%OUTPUT_PATH%\Build" /y /b
|
||||
@copy Build\Platform.* "%OUTPUT_PATH%\Build" /y /b
|
||||
@copy Build\GSIOSETUPVAR.* "%OUTPUT_PATH%\Build" /y /b
|
||||
@copy Build\*.inf "%OUTPUT_PATH%\Build" /y /b
|
||||
@copy Build\PCIBRDSDL.* "%OUTPUT_PATH%\Build" /y /b
|
||||
@copy Build\SIOBRDSDL.* %OUTPUT_PATH%\Build /y /b
|
||||
@copy Build\*.hfr "%OUTPUT_PATH%\Build" /y /b
|
||||
@copy Build\*.vfr %OUTPUT_PATH%\Build /y /b
|
||||
@copy Build\*.asl "%OUTPUT_PATH%\Build" /y /b
|
||||
@copy Build\*.uni "%OUTPUT_PATH%\Build" /y /b
|
||||
@copy Build\*.sd "%OUTPUT_PATH%\Build" /y /b
|
||||
@copy Build\*.mak "%OUTPUT_PATH%\Build" /y /b
|
||||
@copy Build\*.h %OUTPUT_PATH%\Build /y /b
|
||||
@copy %AmiFspBinBuildTempDir%\Token.* %OUTPUT_PATH%\%AmiFspBinBuildTempDir% /y /b
|
||||
@copy %AmiFspBinBuildTempDir%\Platform.* %OUTPUT_PATH%\%AmiFspBinBuildTempDir% /y /b
|
||||
@copy %AmiFspBinBuildTempDir%\*.mak %OUTPUT_PATH%\%AmiFspBinBuildTempDir% /y /b
|
||||
@copy Build\AmiCrbMeRoms\*.bin "%OUTPUT_PATH%" /y /b
|
||||
|
||||
echo.
|
||||
echo Create DediProg batch file
|
||||
echo -------------------------------------------
|
||||
FOR /F "tokens=2,3" %%i IN (Build\Token.h) DO (
|
||||
if "%%i" == "AAEON_BIN" Set FLASH_BIN=%%j
|
||||
)
|
||||
echo BIOS BIN file = %FLASH_BIN%
|
||||
@echo "%DEDIPROG_DIR%\Dpcmd" --spi-clk 0 -z %OUTPUT_PATH%\%FLASH_BIN% > Batch.bat
|
||||
@echo if ERRORLEVEL 1 goto ProgramingFailed >> Batch.bat
|
||||
@echo goto ProgramingSucess >> Batch.bat
|
||||
@echo :ProgramingFailed >> Batch.bat
|
||||
@echo msg * "BIOS %FLASH_BIN% programing fail" >> Batch.bat
|
||||
@echo pause >> Batch.bat
|
||||
@echo :ProgramingSucess >> Batch.bat
|
||||
@echo msg * "BIOS %FLASH_BIN% programing sucess" >> Batch.bat
|
||||
@copy Batch.bat %OUTPUT_PATH%\Batch.bat /y /b
|
||||
|
||||
:DeleteConnection
|
||||
if "%NET_USE%" == "1" (
|
||||
@net use %OUTPUT_DIR% /delete
|
||||
)
|
||||
|
||||
echo.
|
||||
echo Output files have been put to :
|
||||
echo %OUTPUT_PATH%
|
||||
|
||||
if not exist .success.tmp goto FinishedWithFailure
|
||||
|
||||
:Finished
|
||||
echo.
|
||||
echo *******************************************
|
||||
echo AaeonRemoteBuild.bat Finished
|
||||
echo *******************************************
|
||||
@echo Start Time %OLDTIME%
|
||||
@echo End Time %time%
|
||||
echo EXIT /B 0
|
||||
EXIT /B 0
|
||||
|
||||
:FinishedWithFailure
|
||||
echo.
|
||||
echo *******************************************
|
||||
echo Build Failed
|
||||
echo *******************************************
|
||||
@echo Start Time %OLDTIME%
|
||||
@echo End Time %time%
|
||||
echo EXIT /B 1
|
||||
EXIT /B 1
|
Loading…
Reference in New Issue
Block a user