Skip to content

pre-release

pre-release #4

Workflow file for this run

# For more information about TARDIS pipelines, please refer to:
#
# https://tardis-sn.github.io/tardis/contributing/development/continuous_integration.html
name: pre-release
on:
schedule:
- cron: "0 0 * * 0"
workflow_dispatch: # manual trigger
defaults:
run:
shell: bash -l {0}
jobs:
zenodo:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
repository: tardis-sn/tardis_zenodo
token: ${{ secrets.BOT_TOKEN }}
- name: Dump Secret Key
run: echo "$KEY_SECRET_JSON" > key_secret.json
env:
KEY_SECRET_JSON: ${{ secrets.ZENODO_KEY_SECRET_JSON }}
- name: Download Lock File
run: wget -q https://raw.githubusercontent.com/tardis-sn/tardis/master/conda-linux-64.lock
shell: bash
- name: Generate Cache Key
run: |
file_hash=$(cat conda-linux-64.lock | shasum -a 256 | cut -d' ' -f1)
echo "file_hash=$file_hash" >> "${GITHUB_OUTPUT}"
id: cache-environment-key
shell: bash
- uses: mamba-org/setup-micromamba@v1
with:
environment-file: conda-linux-64.lock
cache-environment-key: ${{ steps.cache-environment-key.outputs.file_hash }}
cache-downloads-key: ${{ steps.cache-environment-key.outputs.file_hash }}
environment-name: tardis
cache-environment: true
cache-downloads: true
- name: Run Notebook
run: jupyter nbconvert gather_data.ipynb --to html --execute --ExecutePreprocessor.timeout=6000
- name: Run Notebook (allow errors)
run: jupyter nbconvert gather_data.ipynb --to html --execute --ExecutePreprocessor.timeout=6000 --allow-errors
if: failure()
- uses: actions/upload-artifact@v4
with:
name: zenodo_json
path: .zenodo.json
pull_request:
needs: zenodo
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/download-artifact@v4
with:
path: /tmp
- name: Check for generated Zenodo JSON and copy if exists
run: |
if [ -f "/tmp/zenodo/.zenodo.json" ]; then
cp /tmp/zenodo_json/.zenodo.json .
echo "Using generated zenodo file"
else
echo "No zenodo file found, defaulting to one in TARDIS master"
fi
- name: Get current date
run: echo "DATE=$(date +'%Y.%m.%d')" >> $GITHUB_ENV
- uses: peter-evans/create-pull-request@v6
with:
token: ${{ secrets.BOT_TOKEN }}
committer: TARDIS Bot <tardis.sn.bot@gmail.com>
author: TARDIS Bot <tardis.sn.bot@gmail.com>
branch: pre-release-${{ env.DATE }}
base: master
push-to-fork: tardis-bot/tardis
commit-message: Automated changes for pre-release ${{ env.DATE }}
title: Pre-release ${{ env.DATE }}
body: |
*\*beep\* \*bop\**
Hi, human.
I prepared everything for a new TARDIS release.
<br>
> :warning: **WARNING:**
>
> This pull request should be auto-merged. **Do not merge manually if any check fails**.
>
> Instead, disable auto-merge and push your fixes to the [`pre-release-${{ env.DATE }}`](https://github.com/tardis-bot/tardis/tree/pre-release-${{ env.DATE }}) branch on [**tardis-bot/tardis**](https://github.com/tardis-bot/tardis).
>
> ```
> $ git remote add tardis-bot git@github.com:tardis-bot/tardis.git
> $ git fetch tardis-bot
> $ git checkout tardis-bot/pre-release-${{ env.DATE }}
> $ git add <file_1> <file_2> ...
> $ git commit -m "<your_commit_message>"
> $ git push tardis-bot HEAD:pre-release-${{ env.DATE }}
> ```
>
> Once all the checks pass, you can safely merge this pull request manually.
labels: automated, build-docs
team-reviewers: tardis-infrastructure
id: create-pr
- name: Wait for pull request
run: sleep 30
- name: Approve pull request (I)
run: gh pr review ${{ steps.create-pr.outputs.pull-request-number }} --approve
env:
GITHUB_TOKEN: ${{ secrets.INFRASTRUCTURE_COORDINATOR_TOKEN }}
if: steps.create-pr.outputs.pull-request-operation == 'created'
- name: Approve pull request (II)
run: gh pr review ${{ steps.create-pr.outputs.pull-request-number }} --approve
env:
GITHUB_TOKEN: ${{ secrets.CORE_COORDINATOR_TOKEN }}
if: steps.create-pr.outputs.pull-request-operation == 'created'
- name: Enable automerge
uses: peter-evans/enable-pull-request-automerge@v2
with:
token: ${{ secrets.INFRASTRUCTURE_COORDINATOR_TOKEN }}
pull-request-number: ${{ steps.create-pr.outputs.pull-request-number }}
merge-method: squash
if: steps.create-pr.outputs.pull-request-operation == 'created'
pip_tests:
uses: ./.github/workflows/tests.yml
secrets: inherit
with:
pip_git: true