Skip to content

🤪 Unstable integration & delivery #137

🤪 Unstable integration & delivery

🤪 Unstable integration & delivery #137

# 🏃‍♀️ 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 -*-