pre-release #4
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
# 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 |