From 8beccc6cbfb18990e49237bd89d918489d7fdb84 Mon Sep 17 00:00:00 2001 From: Sean Kelly Date: Wed, 12 Jun 2024 14:56:00 -0500 Subject: [PATCH 1/2] Resolve devops#73 --- .github/workflows/stable-cicd.yaml | 65 +++++++++++++++++++++++++ .github/workflows/unstable-cicd.yaml | 73 ++++++++++++++++++++++++++++ 2 files changed, 138 insertions(+) create mode 100644 .github/workflows/stable-cicd.yaml create mode 100644 .github/workflows/unstable-cicd.yaml diff --git a/.github/workflows/stable-cicd.yaml b/.github/workflows/stable-cicd.yaml new file mode 100644 index 0000000..82d0319 --- /dev/null +++ b/.github/workflows/stable-cicd.yaml @@ -0,0 +1,65 @@ +# 🏃‍♀️ Continuous Integration and Delivery: Stable +# =============================================== +# +# Note: for this workflow to succeed, the following secrets must be installed +# in the repository: +# +# ``ADMIN_GITHUB_TOKEN`` +# A personal access token of a user with collaborator or better access to +# the project repository. +# ``NPMJS_COM_TOKEN`` — token for npmjs.com. To create such a token, visit +# npmjs.com, log in, and go to your profile menu → Access Tokens → +# Generate new token → Granual access token, and give it a name, a +# description, and an expiration date. Leave the IP ranges empty. +# Under Packages, choose Read and Write, then All packages. Don't mess +# with Organizations. Then click "Generate token" and save the token +# in GitHub's secrets as ``NPMJS_COM_TOKEN``. + + +--- + +name: 😌 Stable integration & delivery + + +# Driving Event +# ------------- +# +# What event starts this workflow: a push of a release tag. +# +# For the "glob++" pattern syntax, see https://git.io/JJZQt + +on: + push: + tags: + - 'release/*' + + +# What to Do +# ---------- +# +# Round up, yee-haw! + +jobs: + stable-assembly: + name: 🐴 Stable Assembly + runs-on: ubuntu-latest + steps: + - + name: 💳 Checkout + uses: actions/checkout@v2 + with: + lfs: true + token: ${{secrets.ADMIN_GITHUB_TOKEN}} + fetch-depth: 0 + - + name: 🤠 Roundup + uses: NASA-PDS/roundup-action@stable + with: + assembly: stable + env: + ADMIN_GITHUB_TOKEN: ${{secrets.ADMIN_GITHUB_TOKEN}} + NPMJS_COM_TOKEN: ${{secrets.NPMJS_COM_TOKEN}} + +... + +# -*- mode: yaml; indent: 4; fill-column: 120; coding: utf-8 -*- diff --git a/.github/workflows/unstable-cicd.yaml b/.github/workflows/unstable-cicd.yaml new file mode 100644 index 0000000..f7fc961 --- /dev/null +++ b/.github/workflows/unstable-cicd.yaml @@ -0,0 +1,73 @@ +# 🏃‍♀️ 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): +# +# Note: for this workflow to succeed, the following secrets must be installed +# in the repository: +# +# ``ADMIN_GITHUB_TOKEN`` +# A personal access token of a user with collaborator or better access to +# the project repository. +# ``NPMJS_COM_TOKEN`` — token for npmjs.com. To create such a token, visit +# npmjs.com, log in, and go to your profile menu → Access Tokens → +# Generate new token → Granual access token, and give it a name, a +# description, and an expiration date. Leave the IP ranges empty. +# Under Packages, choose Read and Write, then All packages. Don't mess +# with Organizations. Then click "Generate token" and save the token +# in GitHub's secrets as ``NPMJS_COM_TOKEN``. + + +--- + +name: 🤪 Unstable integration & delivery + + +# Driving Event +# ------------- +# +# What event starts this workflow: a push to ``main``. +# +# parlance). For the "glob++" pattern syntax, see https://git.io/JJZQt + +on: + push: + branches: + - main + paths-ignore: + - 'CHANGELOG.md' + - 'docs/requirements/**' + workflow_dispatch: + + +# 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@v2 + with: + lfs: true + token: ${{secrets.ADMIN_GITHUB_TOKEN}} + fetch-depth: 0 + - + name: 🤠 Roundup + uses: NASA-PDS/roundup-action@stable + with: + assembly: unstable + env: + ADMIN_GITHUB_TOKEN: ${{secrets.ADMIN_GITHUB_TOKEN}} + NPMJS_COM_TOKEN: ${{secrets.NPMJS_COM_TOKEN}} + +... + +# -*- mode: yaml; indent: 4; fill-column: 120; coding: utf-8 -*- From 09691d5e0c4166faca6eca6bc91d7efdaf9e17a7 Mon Sep 17 00:00:00 2001 From: Sean Kelly Date: Thu, 13 Jun 2024 11:30:59 -0500 Subject: [PATCH 2/2] Add branch testing workflow for devops#62 --- .github/workflows/branch-cicd.yaml | 51 ++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 .github/workflows/branch-cicd.yaml diff --git a/.github/workflows/branch-cicd.yaml b/.github/workflows/branch-cicd.yaml new file mode 100644 index 0000000..b734c2a --- /dev/null +++ b/.github/workflows/branch-cicd.yaml @@ -0,0 +1,51 @@ +# 🏃‍♀️ Continuous Integration and Delivery: Branch Testing +# ====================================================== + + +--- + +name: 🔁 Branch integration testing + + +# Driving Event +# ------------- +# +# What event starts this workflow: a push to any branch other than main + +on: + push: + branches: + - '**' + - '!main' + + +# What to Do +# ---------- +# +# Test the software with tox + +jobs: + branch-testing: + name: 🪵 Branch Testing + runs-on: ubuntu-latest + if: github.actor != 'pdsen-ci' + steps: + - + name: 💳 Checkout + uses: actions/checkout@v3 + with: + lfs: true + fetch-depth: 0 + token: ${{secrets.ADMIN_GITHUB_TOKEN}} + - + name: 🟢 Setup up Node + uses: actions/setup-node@v4 + with: + node-version: 'latest' + - + name: 🩺 Test Software + run: + npm clean-install + npm test + +... \ No newline at end of file