forked from mirrors/gecko-dev
Bug 1880704 - Allow downloading Snap package from mozilla-central r=mboldan
Differential Revision: https://phabricator.services.mozilla.com/D202338
This commit is contained in:
parent
ca8317d890
commit
8fa6420763
2 changed files with 51 additions and 3 deletions
|
|
@ -130,3 +130,12 @@ So pushing to try is basically just:
|
|||
Because of the build process, a full opt build will take around 1h45-2h while a
|
||||
debug build will be around 60 minutes, the difference coming from the use of
|
||||
PGO on opt builds.
|
||||
|
||||
If you need to reuse a package from the Snap Store or from the latest
|
||||
mozilla-central or a specific successful build, you can use ``USE_SNAP_FROM_STORE_OR_MC`` en
|
||||
variable ; setting it to ``store`` will download from the Snap Store (warning:
|
||||
no debug builds on the Snap Store, so whatever ``debug`` variants we have will
|
||||
be an ``opt`` build in fact), and setting to a TaskCluster index value will
|
||||
download from the index. Set it to ``latest`` if you want latest, or explore
|
||||
the TaskCluster index for others. Any ``try`` will be pulled from latest
|
||||
``nightly`` while others will be fetched from their respective branches.
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ unset MOZ_AUTOMATION
|
|||
|
||||
MOZCONFIG=mozconfig.in
|
||||
|
||||
USE_SNAP_FROM_STORE=${USE_SNAP_FROM_STORE:-0}
|
||||
USE_SNAP_FROM_STORE_OR_MC=${USE_SNAP_FROM_STORE_OR_MC:-0}
|
||||
|
||||
TRY=0
|
||||
if [ "${BRANCH}" = "try" ]; then
|
||||
|
|
@ -27,7 +27,7 @@ if [ "${BRANCH}" = "try" ]; then
|
|||
TRY=1
|
||||
fi
|
||||
|
||||
if [ "${USE_SNAP_FROM_STORE}" = "0" ]; then
|
||||
if [ "${USE_SNAP_FROM_STORE_OR_MC}" = "0" ]; then
|
||||
# ESR currently still has a hard dependency against zstandard==0.17.0 so
|
||||
# install this specific version here
|
||||
if [ "${BRANCH}" = "esr" ]; then
|
||||
|
|
@ -91,7 +91,7 @@ if [ "${USE_SNAP_FROM_STORE}" = "0" ]; then
|
|||
SNAPCRAFT_BUILD_ENVIRONMENT_CPU=$(nproc) \
|
||||
CRAFT_PARTS_PACKAGE_REFRESH=0 \
|
||||
snapcraft --destructive-mode --verbose
|
||||
else
|
||||
elif [ "${USE_SNAP_FROM_STORE_OR_MC}" = "store" ]; then
|
||||
mkdir from-snap-store && cd from-snap-store
|
||||
|
||||
CHANNEL="${BRANCH}"
|
||||
|
|
@ -102,6 +102,45 @@ else
|
|||
snap download --channel="${CHANNEL}" firefox
|
||||
SNAP_DEBUG_NAME=$(find . -maxdepth 1 -type f -name "firefox*.snap" | sed -e 's/\.snap$/.debug/g')
|
||||
touch "${SNAP_DEBUG_NAME}"
|
||||
else
|
||||
mkdir from-mc && cd from-mc
|
||||
|
||||
# index.gecko.v2.mozilla-central.latest.firefox.amd64-esr-debug
|
||||
# => https://firefox-ci-tc.services.mozilla.com/api/index/v1/task/gecko.v2.mozilla-central.latest.firefox.amd64-esr-debug/artifacts/public%2Fbuild%2Ffirefox.snap
|
||||
# index.gecko.v2.mozilla-central.revision.bf0897ec442e625c185407cc615a6adc0e40fa75.firefox.amd64-esr-debug
|
||||
# => https://firefox-ci-tc.services.mozilla.com/api/index/v1/task/gecko.v2.mozilla-central.revision.bf0897ec442e625c185407cc615a6adc0e40fa75.firefox.amd64-esr-debug/artifacts/public%2Fbuild%2Ffirefox.snap
|
||||
# index.gecko.v2.mozilla-central.latest.firefox.amd64-nightly
|
||||
# => https://firefox-ci-tc.services.mozilla.com/api/index/v1/task/gecko.v2.mozilla-central.latest.firefox.amd64-nightly/artifacts/public%2Fbuild%2Ffirefox.snap
|
||||
# index.gecko.v2.mozilla-central.revision.bf0897ec442e625c185407cc615a6adc0e40fa75.firefox.amd64-nightly
|
||||
# => https://firefox-ci-tc.services.mozilla.com/api/index/v1/task/gecko.v2.mozilla-central.revision.bf0897ec442e625c185407cc615a6adc0e40fa75.firefox.amd64-nightly/artifacts/public%2Fbuild%2Ffirefox.snap
|
||||
|
||||
INDEX_NAME="${BRANCH}"
|
||||
if [ "${INDEX_NAME}" = "try" ]; then
|
||||
INDEX_NAME=nightly
|
||||
fi;
|
||||
|
||||
if [ "${DEBUG}" = "1" ]; then
|
||||
INDEX_NAME="${INDEX_NAME}-debug"
|
||||
fi;
|
||||
|
||||
TASKCLUSTER_API_ROOT="https://firefox-ci-tc.services.mozilla.com/api"
|
||||
|
||||
URL_TASK="${TASKCLUSTER_API_ROOT}/index/v1/task/gecko.v2.mozilla-central.${USE_SNAP_FROM_STORE_OR_MC}.firefox.amd64-${INDEX_NAME}"
|
||||
PKGS_TASK_ID=$(curl "${URL_TASK}" | jq -r '.taskId')
|
||||
|
||||
if [ -z "${PKGS_TASK_ID}" ]; then
|
||||
echo "Failure to find matching taskId for ${USE_SNAP_FROM_STORE_OR_MC} + ${INDEX_NAME}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
PKGS_URL="${TASKCLUSTER_API_ROOT}/queue/v1/task/${PKGS_TASK_ID}/artifacts"
|
||||
for pkg in $(curl "${PKGS_URL}" | jq -r '.artifacts | . [] | select(.name | contains("public/build/firefox_")) | .name');
|
||||
do
|
||||
url="${TASKCLUSTER_API_ROOT}/queue/v1/task/${PKGS_TASK_ID}/artifacts/${pkg}"
|
||||
target_name="$(basename "${pkg}")"
|
||||
echo "$url => $target_name"
|
||||
curl -SL "${url}" -o "${target_name}"
|
||||
done;
|
||||
fi
|
||||
|
||||
cp ./*.snap ./*.debug /builds/worker/artifacts/
|
||||
|
|
|
|||
Loading…
Reference in a new issue