pre-release #142
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: Copy zenodo.json to repository | |
run: | | |
cp /tmp/zenodo_json/.zenodo.json . | |
- name: Get current date | |
run: echo "DATE=$(date +'%Y.%m.%d')" >> $GITHUB_ENV | |
- uses: peter-evans/create-pull-request@v4 | |
with: | |
token: ${{ secrets.BOT_TOKEN }} | |
committer: TARDIS Bot <[email protected]> | |
author: TARDIS Bot <[email protected]> | |
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 [email protected]: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 |