From 489b7d8112d8cf9b58510b93262ecbe2e2908f18 Mon Sep 17 00:00:00 2001 From: Jermiah Joseph Date: Sun, 17 Mar 2024 12:12:48 -0400 Subject: [PATCH] dont run --- .github/workflows/main_old.yml | 692 ++++++++++++++++----------------- 1 file changed, 346 insertions(+), 346 deletions(-) diff --git a/.github/workflows/main_old.yml b/.github/workflows/main_old.yml index d7e81ee..ddf08ea 100644 --- a/.github/workflows/main_old.yml +++ b/.github/workflows/main_old.yml @@ -1,346 +1,346 @@ -name: CI-CD - -# only run on pushes to main or pull requests -on: - # push: - # # push to any branch * - # branches: [ main ] - # pull_request: - # branches: [ main , development] - -jobs: - Unit-Tests: - runs-on: ${{ matrix.os }} - strategy: - matrix: - # os: [ubuntu-latest] - # python-version: ["3.12"] - os: [ubuntu-latest, macos-latest, macos-14] - python-version: ["3.12", "3.11"] - - steps: - - uses: actions/checkout@v3 - - - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - - - name: Install poetry - uses: snok/install-poetry@v1 - - - name: Install dependencies - run: poetry install - - - name: Test with pytest - run: | - # Github action runners now have 4 cores - poetry run pytest -s -v -n 4 --cov --cov-report xml:coverage-report/coverage.xml - - - name: Upload coverage report artifact to be used by Codecov - # only upload if matrix.os is ubuntu-latest and matrix.python-version is 3.12 - if: matrix.os == 'ubuntu-latest' && matrix.python-version == '3.12' - uses: actions/upload-artifact@v2 - with: - name: coverage-report - path: coverage-report - - Codecov: - needs: Unit-Tests - runs-on: ubuntu-latest - steps: - - name: Checkout code - uses: actions/checkout@v3 - - - name: Download coverage.xml artifact - uses: actions/download-artifact@v2 - with: - name: coverage-report - path: coverage-report - - - name: Use Codecov to track coverage - uses: codecov/codecov-action@v3 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: ./coverage-report/coverage.xml - fail_ci_if_error: true - verbose: true - name: codecov-umbrella - - Build-Documentation: - runs-on: ubuntu-latest - steps: - - name: Checkout code - uses: actions/checkout@v3 - - - name: Set up Python 3.10 - uses: actions/setup-python@v4 - with: - python-version: 3.10.4 - - - name: Install poetry - uses: snok/install-poetry@v1 - - - name: Install dependencies - run: poetry install - - - name: Build documentation - run: | - pip install -r docs/requirements.txt - pip install . - make html --directory=docs - - Continuous-Deployment: - permissions: - contents: write - packages: write - issues: write - pull-requests: write - - needs: [Unit-Tests] - - # if pulling to main, deploy to PyPI - if: github.ref == 'refs/heads/main' - - # Set up operating system - runs-on: ubuntu-latest - - outputs: - released: ${{ steps.release.outputs.released }} - version: ${{ steps.release.outputs.version }} - tag: ${{ steps.release.outputs.tag }} - - # Define job steps - steps: - - name: Set up Python 3.12 - uses: actions/setup-python@v2 - with: - python-version: 3.12 - - - name: Check-out repository - uses: actions/checkout@v2 - with: - fetch-depth: 0 - - # This action uses Python Semantic Release v8 - # What this action does: - # - Determines the next version number based on the commit history - # - Creates a new tag with the new version number - # - Pushes the new tag to GitHub - # - Creates a GitHub release with the new version number - - name: Python Semantic Release - id: release - uses: python-semantic-release/python-semantic-release@master - with: - github_token: ${{ secrets.GITHUB_TOKEN }} - - - name: Test Outputs of semantic release step - run: | - echo "${{ steps.release.outputs.released }}" - echo "${{ steps.release.outputs.version }}" - echo "${{ steps.release.outputs.tag }}" - - - name: Install packaging-related tool - run: - python3 -m pip install build twine - - # Build Package step: - # After semantic release, we should have a new tag if the commit history - # has been updated. If there isnt a new tag, then we dont need to build - # a new package. If there is a new tag, then we need to build a new package - # and publish it to PyPI - - name: Build package - if: steps.release.outputs.released == 'true' - run: | - poetry version ${{ steps.release.outputs.version }} - python -m build --sdist --wheel --outdir dist/ . - - - name: Publish package distributions to PyPI - if: steps.release.outputs.released == 'true' - uses: pypa/gh-action-pypi-publish@release/v1 - with: - verbose: true - user: __token__ - password: ${{ secrets.PYPI_API_TOKEN }} - - - name: Set up QEMU - if: steps.release.outputs.released == 'true' - uses: docker/setup-qemu-action@v3 - - - name: Set up Docker Buildx - if: steps.release.outputs.released == 'true' - uses: docker/setup-buildx-action@v3 - - - name: Login to Docker Hub - if: steps.release.outputs.released == 'true' - uses: docker/login-action@v3 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} - - - name: Login to the GitHub Container Registry - if: steps.release.outputs.released == 'true' - uses: docker/login-action@v3 - with: - registry: ghcr.io - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - - - name: Extract metadata (tags, labels) for Docker - id: meta - uses: docker/metadata-action@v3 - with: - images: | - ${{ secrets.DOCKERHUB_USERNAME }}/nbiatoolkit:${{ steps.release.outputs.tag }} - ghcr.io/${{ github.repository }}/nbiatoolkit:${{ steps.release.outputs.tag }} - - - name: Build - if: steps.release.outputs.released == 'true' - uses: docker/build-push-action@v5 - with: - context: . - platforms: linux/amd64,linux/arm64 - file: ./Dockerfile - push: true - tags: | - ${{ secrets.DOCKERHUB_USERNAME }}/nbiatoolkit:${{ steps.release.outputs.tag }} - ${{ secrets.DOCKERHUB_USERNAME }}/nbiatoolkit:latest - ghcr.io/${{ github.repository }}/nbiatoolkit:${{ steps.release.outputs.tag }} - ghcr.io/${{ github.repository }}/nbiatoolkit:latest - labels: ${{ steps.meta.outputs.labels }} - - test_install_withPyPi: - needs: Continuous-Deployment - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [ubuntu-latest, macos-latest, macos-14] - python-version: ["3.12", "3.11", "3.10"] - - steps: - - uses: actions/checkout@v3 - - - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - - - name: Install using PyPi - run: | - pip install nbiatoolkit; - NBIAToolkit - - - test_image_with_new_tag: - needs: Continuous-Deployment - runs-on: ubuntu-latest - steps: - - name: Checkout code - uses: actions/checkout@v3 - - - name: Test Image With new Tag - run: | - # test image with latest tag - docker run --rm \ - ${{ secrets.DOCKERHUB_USERNAME }}/nbiatoolkit:${{ needs.Continuous-Deployment.outputs.tag }} \ - NBIAToolkit - - - test_image_with_latest_tag: - needs: Continuous-Deployment - runs-on: ubuntu-latest - steps: - - name: Checkout code - uses: actions/checkout@v2 - - - name: Test Image with "latest" Tag - run: | - docker run --rm \ - ${{ secrets.DOCKERHUB_USERNAME }}/nbiatoolkit:latest \ - NBIAToolkit - - Update-README: - needs: Continuous-Deployment - runs-on: ubuntu-latest - # if: jobs.Continuous-Deployment.outputs.released == 'true' - steps: - - name: Checkout code - uses: actions/checkout@v3 - - - name: Get Current branch - run: | - echo "Current branch is: ${{ github.ref }}" - echo "Current branch is: ${{ github.head_ref }}" - echo "Current branch is: ${{ github.base_ref }}" - echo "Current branch is: ${{ github.event_name }}" - - # if main, then git pull main - if [ "${{ github.ref }}" == "refs/heads/main" ]; then - git pull origin main - fi - - # fix diverged branch - git fetch origin ${{ github.head_ref }} - git checkout ${{ github.head_ref }} - - - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - - - name: Install using PyPi - run: | - # update pip - pip install . - NBIAToolkit - - - name: Update README code block - run: | - awk '/``` bash NBIAToolkit-Output/ { - print "``` bash NBIAToolkit-Output"; - print "> NBIAToolkit --version"; - system("NBIAToolkit --version"); - f=1; - next - } f && /```/ { - print "```"; - f=0; - next - } !f' README.md > temp && mv temp README.md - - - name: Commit and push changes - run: | - LATEST_TAG=$(curl -s \ - "https://api.github.com/repos/${{ github.repository }}/releases/latest" \ - | jq -r .tag_name | sed 's/^v//') - echo "LATEST_TAG=${LATEST_TAG}" - # Check for changes - if [[ $(git status --porcelain) ]]; then - # Changes are present - echo "Changes found. Committing and pushing..." - - git config --global user.name 'jjjermiah' - git config --global user.email 'jjjermiah@users.noreply.github.com' - - # Add all changes - git add . - - # Commit with a timestamp - git commit -m "chore: Update README: $LATEST_TAG" - - # Push changes to the remote repository - # if github.head_ref is not null - # then push to the branch - # else push to the base branch - if [ -n "${{ github.head_ref }}" ]; then - git push origin HEAD:${{ github.head_ref }} - else - git push origin HEAD:${{ github.ref }} - fi - - - echo "Changes committed and pushed successfully." - else - # No changes - echo "No changes found. Nothing to commit or push." - fi +# name: CI-CD + +# # only run on pushes to main or pull requests +# on: +# # push: +# # # push to any branch * +# # branches: [ main ] +# # pull_request: +# # branches: [ main , development] + +# jobs: +# Unit-Tests: +# runs-on: ${{ matrix.os }} +# strategy: +# matrix: +# # os: [ubuntu-latest] +# # python-version: ["3.12"] +# os: [ubuntu-latest, macos-latest, macos-14] +# python-version: ["3.12", "3.11"] + +# steps: +# - uses: actions/checkout@v3 + +# - name: Set up Python ${{ matrix.python-version }} +# uses: actions/setup-python@v4 +# with: +# python-version: ${{ matrix.python-version }} + +# - name: Install poetry +# uses: snok/install-poetry@v1 + +# - name: Install dependencies +# run: poetry install + +# - name: Test with pytest +# run: | +# # Github action runners now have 4 cores +# poetry run pytest -s -v -n 4 --cov --cov-report xml:coverage-report/coverage.xml + +# - name: Upload coverage report artifact to be used by Codecov +# # only upload if matrix.os is ubuntu-latest and matrix.python-version is 3.12 +# if: matrix.os == 'ubuntu-latest' && matrix.python-version == '3.12' +# uses: actions/upload-artifact@v2 +# with: +# name: coverage-report +# path: coverage-report + +# Codecov: +# needs: Unit-Tests +# runs-on: ubuntu-latest +# steps: +# - name: Checkout code +# uses: actions/checkout@v3 + +# - name: Download coverage.xml artifact +# uses: actions/download-artifact@v2 +# with: +# name: coverage-report +# path: coverage-report + +# - name: Use Codecov to track coverage +# uses: codecov/codecov-action@v3 +# with: +# token: ${{ secrets.CODECOV_TOKEN }} +# files: ./coverage-report/coverage.xml +# fail_ci_if_error: true +# verbose: true +# name: codecov-umbrella + +# Build-Documentation: +# runs-on: ubuntu-latest +# steps: +# - name: Checkout code +# uses: actions/checkout@v3 + +# - name: Set up Python 3.10 +# uses: actions/setup-python@v4 +# with: +# python-version: 3.10.4 + +# - name: Install poetry +# uses: snok/install-poetry@v1 + +# - name: Install dependencies +# run: poetry install + +# - name: Build documentation +# run: | +# pip install -r docs/requirements.txt +# pip install . +# make html --directory=docs + +# Continuous-Deployment: +# permissions: +# contents: write +# packages: write +# issues: write +# pull-requests: write + +# needs: [Unit-Tests] + +# # if pulling to main, deploy to PyPI +# if: github.ref == 'refs/heads/main' + +# # Set up operating system +# runs-on: ubuntu-latest + +# outputs: +# released: ${{ steps.release.outputs.released }} +# version: ${{ steps.release.outputs.version }} +# tag: ${{ steps.release.outputs.tag }} + +# # Define job steps +# steps: +# - name: Set up Python 3.12 +# uses: actions/setup-python@v2 +# with: +# python-version: 3.12 + +# - name: Check-out repository +# uses: actions/checkout@v2 +# with: +# fetch-depth: 0 + +# # This action uses Python Semantic Release v8 +# # What this action does: +# # - Determines the next version number based on the commit history +# # - Creates a new tag with the new version number +# # - Pushes the new tag to GitHub +# # - Creates a GitHub release with the new version number +# - name: Python Semantic Release +# id: release +# uses: python-semantic-release/python-semantic-release@master +# with: +# github_token: ${{ secrets.GITHUB_TOKEN }} + +# - name: Test Outputs of semantic release step +# run: | +# echo "${{ steps.release.outputs.released }}" +# echo "${{ steps.release.outputs.version }}" +# echo "${{ steps.release.outputs.tag }}" + +# - name: Install packaging-related tool +# run: +# python3 -m pip install build twine + +# # Build Package step: +# # After semantic release, we should have a new tag if the commit history +# # has been updated. If there isnt a new tag, then we dont need to build +# # a new package. If there is a new tag, then we need to build a new package +# # and publish it to PyPI +# - name: Build package +# if: steps.release.outputs.released == 'true' +# run: | +# poetry version ${{ steps.release.outputs.version }} +# python -m build --sdist --wheel --outdir dist/ . + +# - name: Publish package distributions to PyPI +# if: steps.release.outputs.released == 'true' +# uses: pypa/gh-action-pypi-publish@release/v1 +# with: +# verbose: true +# user: __token__ +# password: ${{ secrets.PYPI_API_TOKEN }} + +# - name: Set up QEMU +# if: steps.release.outputs.released == 'true' +# uses: docker/setup-qemu-action@v3 + +# - name: Set up Docker Buildx +# if: steps.release.outputs.released == 'true' +# uses: docker/setup-buildx-action@v3 + +# - name: Login to Docker Hub +# if: steps.release.outputs.released == 'true' +# uses: docker/login-action@v3 +# with: +# username: ${{ secrets.DOCKERHUB_USERNAME }} +# password: ${{ secrets.DOCKERHUB_TOKEN }} + +# - name: Login to the GitHub Container Registry +# if: steps.release.outputs.released == 'true' +# uses: docker/login-action@v3 +# with: +# registry: ghcr.io +# username: ${{ github.actor }} +# password: ${{ secrets.GITHUB_TOKEN }} + +# - name: Extract metadata (tags, labels) for Docker +# id: meta +# uses: docker/metadata-action@v3 +# with: +# images: | +# ${{ secrets.DOCKERHUB_USERNAME }}/nbiatoolkit:${{ steps.release.outputs.tag }} +# ghcr.io/${{ github.repository }}/nbiatoolkit:${{ steps.release.outputs.tag }} + +# - name: Build +# if: steps.release.outputs.released == 'true' +# uses: docker/build-push-action@v5 +# with: +# context: . +# platforms: linux/amd64,linux/arm64 +# file: ./Dockerfile +# push: true +# tags: | +# ${{ secrets.DOCKERHUB_USERNAME }}/nbiatoolkit:${{ steps.release.outputs.tag }} +# ${{ secrets.DOCKERHUB_USERNAME }}/nbiatoolkit:latest +# ghcr.io/${{ github.repository }}/nbiatoolkit:${{ steps.release.outputs.tag }} +# ghcr.io/${{ github.repository }}/nbiatoolkit:latest +# labels: ${{ steps.meta.outputs.labels }} + +# test_install_withPyPi: +# needs: Continuous-Deployment +# runs-on: ${{ matrix.os }} +# strategy: +# matrix: +# os: [ubuntu-latest, macos-latest, macos-14] +# python-version: ["3.12", "3.11", "3.10"] + +# steps: +# - uses: actions/checkout@v3 + +# - name: Set up Python ${{ matrix.python-version }} +# uses: actions/setup-python@v4 +# with: +# python-version: ${{ matrix.python-version }} + +# - name: Install using PyPi +# run: | +# pip install nbiatoolkit; +# NBIAToolkit + + +# test_image_with_new_tag: +# needs: Continuous-Deployment +# runs-on: ubuntu-latest +# steps: +# - name: Checkout code +# uses: actions/checkout@v3 + +# - name: Test Image With new Tag +# run: | +# # test image with latest tag +# docker run --rm \ +# ${{ secrets.DOCKERHUB_USERNAME }}/nbiatoolkit:${{ needs.Continuous-Deployment.outputs.tag }} \ +# NBIAToolkit + + +# test_image_with_latest_tag: +# needs: Continuous-Deployment +# runs-on: ubuntu-latest +# steps: +# - name: Checkout code +# uses: actions/checkout@v2 + +# - name: Test Image with "latest" Tag +# run: | +# docker run --rm \ +# ${{ secrets.DOCKERHUB_USERNAME }}/nbiatoolkit:latest \ +# NBIAToolkit + +# Update-README: +# needs: Continuous-Deployment +# runs-on: ubuntu-latest +# # if: jobs.Continuous-Deployment.outputs.released == 'true' +# steps: +# - name: Checkout code +# uses: actions/checkout@v3 + +# - name: Get Current branch +# run: | +# echo "Current branch is: ${{ github.ref }}" +# echo "Current branch is: ${{ github.head_ref }}" +# echo "Current branch is: ${{ github.base_ref }}" +# echo "Current branch is: ${{ github.event_name }}" + +# # if main, then git pull main +# if [ "${{ github.ref }}" == "refs/heads/main" ]; then +# git pull origin main +# fi + +# # fix diverged branch +# git fetch origin ${{ github.head_ref }} +# git checkout ${{ github.head_ref }} + +# - name: Set up Python ${{ matrix.python-version }} +# uses: actions/setup-python@v4 +# with: +# python-version: ${{ matrix.python-version }} + +# - name: Install using PyPi +# run: | +# # update pip +# pip install . +# NBIAToolkit + +# - name: Update README code block +# run: | +# awk '/``` bash NBIAToolkit-Output/ { +# print "``` bash NBIAToolkit-Output"; +# print "> NBIAToolkit --version"; +# system("NBIAToolkit --version"); +# f=1; +# next +# } f && /```/ { +# print "```"; +# f=0; +# next +# } !f' README.md > temp && mv temp README.md + +# - name: Commit and push changes +# run: | +# LATEST_TAG=$(curl -s \ +# "https://api.github.com/repos/${{ github.repository }}/releases/latest" \ +# | jq -r .tag_name | sed 's/^v//') +# echo "LATEST_TAG=${LATEST_TAG}" +# # Check for changes +# if [[ $(git status --porcelain) ]]; then +# # Changes are present +# echo "Changes found. Committing and pushing..." + +# git config --global user.name 'jjjermiah' +# git config --global user.email 'jjjermiah@users.noreply.github.com' + +# # Add all changes +# git add . + +# # Commit with a timestamp +# git commit -m "chore: Update README: $LATEST_TAG" + +# # Push changes to the remote repository +# # if github.head_ref is not null +# # then push to the branch +# # else push to the base branch +# if [ -n "${{ github.head_ref }}" ]; then +# git push origin HEAD:${{ github.head_ref }} +# else +# git push origin HEAD:${{ github.ref }} +# fi + + +# echo "Changes committed and pushed successfully." +# else +# # No changes +# echo "No changes found. Nothing to commit or push." +# fi