-
Notifications
You must be signed in to change notification settings - Fork 282
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #9220 from gem/demos-ltr-latest
Add an action to generate demos for a given engine release on request
- Loading branch information
Showing
1 changed file
with
89 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,89 @@ | ||
--- | ||
name: Demos for a chosen branch/release | ||
on: | ||
workflow_dispatch: | ||
inputs: | ||
git-ref: | ||
description: Git Ref | ||
default: engine-3.16 # FIXME: point to ltr | ||
required: true | ||
push: | ||
# FIXME: it would be better to point to ltr and latest | ||
# branches: [ demos_ltr_latest, engine-3.16, engine-3.17, engine-3.18 ] | ||
branches: [ demos_ltr_latest ] | ||
jobs: | ||
demos: | ||
runs-on: ubuntu-latest | ||
env: | ||
GITHUB_PULL_REQUEST: ${{ github.event.number }} | ||
GITHUB_DEF_BR: ${{ github.event.repository.default_branch }} | ||
GITHUB_REF: ${{ github.ref }} | ||
GITHUB_HD_REF: ${{ github.head_ref }} | ||
GITHUB_BS_REF: ${{ github.base_ref }} | ||
GITHUB_INPUT_REF: ${{ github.event.inputs.git-ref }} | ||
steps: | ||
- name: Check out the codebase (Master) | ||
if: github.event.inputs.git-ref == '' | ||
uses: actions/checkout@v4 | ||
- name: Check out the codebase (Custom Ref) | ||
if: github.event.inputs.git-ref != '' | ||
uses: actions/checkout@v4 | ||
with: | ||
ref: ${{ github.event.inputs.git-ref }} | ||
- name: Set up Python 3.10 | ||
uses: actions/setup-python@v5 | ||
with: | ||
python-version: "3.10" | ||
- name: Upgrade pip and install requirements | ||
run: | | ||
export PIP_DEFAULT_TIMEOUT=100 | ||
pip install --default-timeout=100 -U pip | ||
pip install pydata-sphinx-theme | ||
- name: Install OpenQuake engine | ||
# env: | ||
# GITHUB_DEF_BR: ${{ github.event.repository.default_branch }} | ||
# GITHUB_REF: ${{ github.ref }} | ||
run: | | ||
if [ -z "$GITHUB_INPUT_REF" ] | ||
then | ||
echo " Is not a workflow_dispatch RUN, use: $GITHUB_DEF_BR " | ||
python install.py devel --version ${GITHUB_DEF_BR} | ||
else | ||
echo " Is a workflow_dispatch RUN, use: $GITHUB_INPUT_REF " | ||
GITHUB_BR=`echo ${{ github.head_ref }}` | ||
python install.py devel --version ${GITHUB_INPUT_REF} | ||
fi | ||
- name: Run demos and upload to ci.openquake.org if not workflow_dispatch | ||
if: github.event.inputs.git-ref == '' | ||
shell: bash | ||
env: | ||
DOCS_SSH: ${{ secrets.DOCS_ARTIFACTS }} | ||
GITHUB_PULL_REQUEST: ${{ github.event.number }} | ||
GITHUB_DEF_BR: ${{ github.event.repository.default_branch }} | ||
GITHUB_REF: ${{ github.ref }} | ||
GITHUB_HD_REF: ${{ github.head_ref }} | ||
GITHUB_BS_REF: ${{ github.base_ref }} | ||
run: | | ||
source ~/openquake/bin/activate | ||
zip -q -r /tmp/demos.zip demos/ | ||
OQ_DISTRIBUTE=zmq bin/run-demos.sh demos/ | ||
oq dump /tmp/oqdata.zip | ||
oq restore /tmp/oqdata.zip /tmp/oqdata | ||
helpers/zipdemos.sh $(pwd)/demos | ||
echo " Check if this is a pull request or not" | ||
if [ -z "$GITHUB_HD_REF" ] | ||
then | ||
echo " Is not a pull request, use branch: $GITHUB_DEF_BR" | ||
GITHUB_BR=`echo ${{ github.event.repository.default_branch }}` | ||
else | ||
echo " Is a pull request, use branch: $GITHUB_HD_BR" | ||
GITHUB_BR=`echo ${{ github.head_ref }}` | ||
fi | ||
echo "BRANCH set to $GITHUB_BR" | ||
gpg --quiet --batch --yes --decrypt --passphrase="$DOCS_SSH" --output ./.deploy_rsa ./.deploy_docs.enc | ||
chmod 600 ./.deploy_rsa | ||
eval $(ssh-agent -s) && ssh-add ./.deploy_rsa | ||
set -x | ||
scp -v -o ConnectTimeout=120 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null /tmp/demos.zip [email protected]:/var/www/artifacts.openquake.org/travis/demos-${GITHUB_BR}.zip | ||
scp -v -o ConnectTimeout=120 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null /tmp/oqdata.zip [email protected]:/var/www/artifacts.openquake.org/travis/oqdata-${GITHUB_BR}.zip | ||
set +x |