87 lines
2.1 KiB
YAML
87 lines
2.1 KiB
YAML
stages:
|
|
- lint
|
|
- build
|
|
- release
|
|
|
|
variables:
|
|
GIT_CLEAN_FLAGS: "none"
|
|
GIT_STRATEGY: "fetch"
|
|
GIT_SUBMODULE_STRATEGY: "recursive"
|
|
GLUON_SITEDIR: "$CI_PROJECT_DIR"
|
|
GLUON_DIR: "$CI_PROJECT_DIR/gluon/"
|
|
|
|
before_script:
|
|
- export GLUON_RELEASE="$(git describe --tags --abbrev=0 | sed 's/^v//g')-build${CI_PIPELINE_ID}"
|
|
|
|
|
|
'lint: TARGETS':
|
|
tags:
|
|
- gluon
|
|
stage: lint
|
|
script:
|
|
- ./.ci/lint-targets.py
|
|
|
|
"build":
|
|
tags:
|
|
- gluon
|
|
stage: build
|
|
timeout: 4h 30m
|
|
script:
|
|
- cd "gluon"
|
|
- env
|
|
# fetch newest gluon version if env is set
|
|
- "[ -z \"$FFHB_GLUON_PULL\" ] && git checkout origin/master && git pull --rebase"
|
|
# start build
|
|
- make update V=s
|
|
- make --jobs=$(grep -c '^processor' /proc/cpuinfo) --output-sync=recurse || make --jobs=1 --output-sync=recurse V=sc
|
|
artifacts:
|
|
paths:
|
|
- "gluon/output/images/sysupgrade"
|
|
expire_in: "1 month"
|
|
parallel:
|
|
matrix:
|
|
- GLUON_TARGET:
|
|
- "ath79-generic"
|
|
- "ath79-nand"
|
|
- "ath79-mikrotik"
|
|
- "bcm27xx-bcm2708"
|
|
- "bcm27xx-bcm2709"
|
|
# - "bcm27xx-bcm2710" # on BROKEN
|
|
- "ipq40xx-generic"
|
|
- "ipq40xx-mikrotik"
|
|
- "ipq806x-generic"
|
|
- "lantiq-xrx200"
|
|
- "lantiq-xway"
|
|
- "mediatek-mt7622"
|
|
- "mpc85xx-p1010"
|
|
- "mpc85xx-p1020"
|
|
# - "mvebu-cortexa9" # on BROKEN
|
|
- "ramips-mt7620"
|
|
- "ramips-mt7621"
|
|
- "ramips-mt76x8"
|
|
- "rockchip-armv8"
|
|
- "sunxi-cortexa7"
|
|
- "x86-generic"
|
|
- "x86-geode"
|
|
- "x86-legacy"
|
|
- "x86-64"
|
|
|
|
'release: generate manifest':
|
|
tags:
|
|
- gluon
|
|
stage: release
|
|
script:
|
|
- cd "gluon"
|
|
- '[[ "$CI_BUILD_REF_NAME" != "master" ]] && export GLUON_AUTOUPDATER_BRANCH="nightly"'
|
|
- make update V=s
|
|
- ls output/images/sysupgrade
|
|
- make manifest
|
|
- ls output/images/sysupgrade
|
|
artifacts:
|
|
paths:
|
|
- "gluon/output/images/sysupgrade/*manifest"
|
|
expire_in: "1 month"
|
|
# not use dependencies will download from every job
|
|
# empty array not download artifacts
|
|
# dependencies: []
|