🤪 Unstable integration & delivery #137
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
# 🏃♀️ Continuous Integration and Delivery: Unstable | |
# ================================================= | |
# | |
# Note: for this workflow to succeed, the following secrets must be installed | |
# in the repository (or inherited from the repository's organization): | |
# | |
# ``ADMIN_GITHUB_TOKEN`` | |
# A personal access token of a user with collaborator or better access to | |
# the project repository. You can generate this by visiting GitHub → | |
# Settings → Developer settings → Personal access tokens → Generate new | |
# token. Give the token scopes on ``repo``, ``write:packages``, | |
# ``delete:packages``, ``workflow``, and ``read:gpg_key``. | |
# ``TEST_PYPI_USERNAME`` | |
# Username for test.pypi.org. | |
# ``TEST_PYPI_PASSWORD`` | |
# Password for ``TEST_PYPI_USERNAME``. | |
# | |
--- | |
name: 🤪 Unstable integration & delivery | |
# Driving Event | |
# ------------- | |
# | |
# What event starts this workflow: a push to ``main`` (or ``master`` in old | |
# parlance). For the "glob++" pattern syntax, see https://git.io/JJZQt | |
on: | |
push: | |
branches: | |
- main | |
paths-ignore: | |
- 'CHANGELOG.md' | |
- 'docs/requirements/**' | |
workflow_dispatch: | |
concurrency: roundup | |
# What to Do | |
# ---------- | |
# | |
# Round up, yee-haw! | |
jobs: | |
unstable-assembly: | |
name: 🧩 Unstable Assembly | |
if: github.actor != 'pdsen-ci' | |
runs-on: ubuntu-latest | |
steps: | |
- | |
name: 💳 Checkout | |
uses: actions/checkout@v4 | |
with: | |
lfs: true | |
token: ${{secrets.ADMIN_GITHUB_TOKEN}} | |
fetch-depth: 0 | |
- | |
name: 💵 Python Cache | |
uses: actions/cache@v4 | |
with: | |
path: ~/.cache/pip | |
# The "key" used to indicate a set of cached files is the operating system runner | |
# plus "py" for Python-specific builds, plus a hash of the wheels, plus "pds" because | |
# we pds-prefix everything with "pds" in PDS! 😅 | |
key: pds-${{runner.os}}-py-${{hashFiles('**/*.whl')}} | |
# To restore a set of files, we only need to match a prefix of the saved key. | |
restore-keys: pds-${{runner.os}}-py- | |
- | |
name: 🤠 Roundup | |
uses: NASA-PDS/roundup-action@stable | |
with: | |
assembly: unstable | |
env: | |
pypi_username: ${{secrets.TEST_PYPI_USERNAME}} | |
pypi_password: ${{secrets.TEST_PYPI_PASSWORD}} | |
ADMIN_GITHUB_TOKEN: ${{secrets.ADMIN_GITHUB_TOKEN}} | |
... | |
# -*- mode: yaml; indent: 4; fill-column: 120; coding: utf-8 -*- |