93 lines
2.8 KiB
Bash
93 lines
2.8 KiB
Bash
#
|
|
# Copyright 2013-2026, Seqera Labs
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
#
|
|
|
|
# cleanup
|
|
rm -rf .nextflow && mkdir .nextflow
|
|
# copy nextflow dependencies
|
|
(cd ..
|
|
export NXF_PLUGINS_DIR=$PWD/build/plugins
|
|
make releaseInfo assemble installScratch
|
|
)
|
|
|
|
# copy nextflow plugins
|
|
cp -r ../build/plugins .nextflow/
|
|
# copy nextflow launcher script
|
|
cp ../nextflow . && chmod +x nextflow
|
|
cp ../modules/nextflow/src/main/resources/META-INF/build-info.properties .
|
|
source build-info.properties
|
|
|
|
if [ -z "$version" ]; then
|
|
echo "Error: version is empty or missing"; exit 1
|
|
fi
|
|
if [ -z "$build" ]; then
|
|
echo "Error: build is empty or missing"; exit 1
|
|
fi
|
|
if [ -z "$commitId" ]; then
|
|
echo "Error: commitId is empty or missing"; exit 1
|
|
fi
|
|
|
|
echo "version : $version"
|
|
echo "build : $build"
|
|
echo "commit id: $commitId"
|
|
|
|
#
|
|
# build a scratch container image with assembled nextflow runtime and plugins
|
|
#
|
|
tag=${version}-${commitId}
|
|
base=${base:-'public.cr.seqera.io/platform/nf-launcher:j17-base'}
|
|
repository=${repository:-'public.cr.seqera.io/snapshots/nextflow-scratch'}
|
|
image=${repository}:${tag}
|
|
|
|
docker buildx build \
|
|
--platform linux/amd64 \
|
|
--push \
|
|
--progress=plain \
|
|
--tag ${image} \
|
|
--build-arg TARGETPLATFORM=linux/amd64 \
|
|
.
|
|
echo "Nextflow snapshots launcher image $image"
|
|
|
|
#
|
|
# Create an ephemeral container with the scratch image and base Platform launcher image
|
|
#
|
|
launcher=$(wave -i ${base} --include ${image} --platform linux/amd64 --config-env NXF_HOME=/.nextflow --config-env NXF_SYNTAX_PARSER=v1)
|
|
echo "Running Platform tests using image launcher: $launcher"
|
|
|
|
# determining the e2e test environment checking the $COMMIT_MESSAGE
|
|
# that is set by GitHub action workflow. If it does not exist fallback
|
|
# to the commit message in the git rpeo
|
|
if [ -z "$COMMIT_MESSAGE" ]; then
|
|
COMMIT_MESSAGE=$(git show -s --format='%s')
|
|
echo "Commit message [from git]: $COMMIT_MESSAGE"
|
|
else
|
|
echo "Commit message [from gha]: $COMMIT_MESSAGE"
|
|
fi
|
|
if echo "$COMMIT_MESSAGE" | grep -q "\[e2e prod\]"; then
|
|
ENVIRONMENT="production"
|
|
else
|
|
ENVIRONMENT="staging"
|
|
fi
|
|
|
|
#
|
|
# Finally launch the showcase automation
|
|
# see https://github.com/seqeralabs/showcase-automation/
|
|
echo "Launching seqera-showcase-${ENVIRONMENT}"
|
|
gh workflow run \
|
|
seqera-showcase-${ENVIRONMENT}.yml \
|
|
--repo seqeralabs/showcase-automation \
|
|
-f launch_container=${launcher}
|
|
|