https://github.com/cvxgrp/.github

Reusable workflows for cvxgrp

https://github.com/cvxgrp/.github

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (15.0%) to scientific vocabulary

Keywords

automation ci-cd devops docker github-actions gitops latex testing
Last synced: 5 months ago · JSON representation

Repository

Reusable workflows for cvxgrp

Basic Info
  • Host: GitHub
  • Owner: cvxgrp
  • License: apache-2.0
  • Language: Makefile
  • Default Branch: main
  • Homepage:
  • Size: 10.4 MB
Statistics
  • Stars: 3
  • Watchers: 4
  • Forks: 1
  • Open Issues: 1
  • Releases: 31
Topics
automation ci-cd devops docker github-actions gitops latex testing
Created almost 3 years ago · Last pushed 6 months ago
Metadata Files
Readme License

README.md

🔄 GitHub Workflows for cvxgrp

Apache 2.0 License

A collection of reusable GitHub Actions workflows and configurations for the cvxgrp organization and beyond.

📋 Overview

This repository contains standardized GitHub Actions workflows that can be reused across multiple projects. These workflows help automate common tasks such as:

  • 🧪 Running tests and generating coverage reports
  • 📄 Building LaTeX documents
  • 📚 Generating documentation
  • 🔍 Code quality checks and linting
  • 📦 Building and publishing packages

⚠️ Important Notes

🔒 Private Repositories

Be careful when using actions in private repositories. The group has a limited number of minutes per month. In public repositories, actions are free.

🚫 Removed Actions

We have removed the poetry-based actions:

  • actions/test@main
  • actions/sphinx@main
  • actions/setup-environment@main
  • actions/pdoc@main
  • actions/jupyter@main
  • actions/coverage@main
  • actions/book@main

You have two options:

  1. Use cvxgrp/.github/actions/test@v1.4.0 where all those actions are still present
  2. Move to uv (recommended)

🛠️ Package Management

uv

To take full advantage of the actions provided here, we recommend using uv. uv is a modern package manager for Python that allows you to create and manage virtual environments efficiently.

A more dated alternative is poetry.

🔄 Available Workflows

GitHub workflows help robustify and automate the process of creating software and documents. We recommend reading the GitHub Actions introduction for more information.

Here are some example actions created for cvxgrp:

📄 latex

This workflow compiles *.tex files and uploads the generated documents to the draft branch.

🧪 test

This workflow installs pytest and related packages, runs tests, and uploads the test results as artifacts.

📚 book

This workflow builds and publishes documentation for your repository.

🔍 pre-commit

This workflow runs code quality checks and linting on your codebase.

📋 Using Workflows

Creating workflows for your own repository is simple:

  1. Create the .github/workflows folder in your repository
  2. Create a YAML file with the name of the workflow you want to use (e.g., basic.yml)
  3. Define your workflow using the example below:

```yaml name: "basic"

on: push:

jobs: pre-commit: runs-on: ubuntu-latest steps: - uses: cvxgrp/.github/actions/pre-commit@v2.2.4

test: runs-on: ubuntu-latest steps: - name: "Build the virtual environment for ${{ github.repository }}" uses: cvxgrp/.github/actions/environment@v2.2.4

- uses: cvxgrp/.github/actions/coverage@v2.2.4
  with:
    coveralls: 'true'

```

Every push to the repository will trigger the workflow. It will run all jobs defined in the workflow:

  • The pre-commit job runs code quality checks
  • The test job builds a virtual environment, runs tests, and measures test coverage

📊 Examples

There are many examples of workflow files in these repositories:

Note the strong overlap between both projects. Rather than coding the same workflow twice, repositories point to the actions defined here.

For a paper repository, we use the LaTeX workflow. For example:

Note that paper repositories tend to be private and are hence only visible to members of the group.

🤝 Contributing

Contributions to improve these workflows are welcome. Please feel free to submit issues or pull requests.

Owner

  • Name: Stanford University Convex Optimization Group
  • Login: cvxgrp
  • Kind: organization
  • Location: Stanford, CA

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 35
  • Total pull requests: 214
  • Average time to close issues: 9 days
  • Average time to close pull requests: about 4 hours
  • Total issue authors: 2
  • Total pull request authors: 4
  • Average comments per issue: 0.0
  • Average comments per pull request: 0.11
  • Merged pull requests: 188
  • Bot issues: 1
  • Bot pull requests: 66
Past Year
  • Issues: 24
  • Pull requests: 108
  • Average time to close issues: 3 days
  • Average time to close pull requests: about 5 hours
  • Issue authors: 2
  • Pull request authors: 4
  • Average comments per issue: 0.0
  • Average comments per pull request: 0.12
  • Merged pull requests: 89
  • Bot issues: 1
  • Bot pull requests: 36
Top Authors
Issue Authors
  • tschm (34)
  • renovate[bot] (1)
Pull Request Authors
  • tschm (148)
  • dependabot[bot] (38)
  • renovate[bot] (23)
  • pre-commit-ci[bot] (5)
Top Labels
Issue Labels
Pull Request Labels
dependencies (42) python (34) renovate (11) pre-commit (5)

Dependencies

.github/workflows/linting.yml actions
  • actions/checkout v3 composite
.github/workflows/pre-commit.yml actions
  • actions/checkout v3 composite
  • pre-commit/action v3.0.0 composite
.github/workflows/test_tex.yml actions
  • ./actions/latex * composite
  • actions/checkout v3 composite
actions/book/action.yml actions
  • JamesIves/github-pages-deploy-action v4.4.3 composite
  • actions/checkout v3 composite
  • actions/download-artifact v3 composite
actions/build/action.yml actions
  • JamesIves/github-pages-deploy-action v4.4.3 composite
  • actions/upload-artifact v3 composite
  • cvxgrp/.github/actions/setup-environment main composite
actions/dependencies/action.yml actions
  • actions/upload-artifact v3 composite
  • cvxgrp/.github/actions/setup-environment main composite
actions/docstr/action.yml actions
  • cvxgrp/.github/actions/setup-environment main composite
actions/jupyter/action.yml actions
  • actions/cache v3 composite
  • actions/upload-artifact v3 composite
  • cvxgrp/.github/actions/setup-environment main composite
actions/latex/action.yml actions
  • JamesIves/github-pages-deploy-action v4.2.2 composite
  • actions/cache v3 composite
  • actions/checkout v3 composite
  • wtfjoke/setup-tectonic v2.1.0 composite
actions/publish/action.yml actions
  • actions/download-artifact v3 composite
  • actions/setup-python v3 composite
  • tschm/token-mint-action v1.0.2 composite
actions/release/action.yml actions
  • cvxgrp/.github/actions/setup-environment main composite
  • tschm/token-mint-action v1.0.2 composite
actions/setup-environment/action.yml actions
  • actions/cache v3 composite
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
  • actions/upload-artifact v3 composite
  • snok/install-poetry v1 composite
actions/sphinx/action.yml actions
  • actions/upload-artifact v3 composite
  • cvxgrp/.github/actions/setup-environment main composite
actions/test/action.yml actions
  • actions/upload-artifact v3 composite
  • cvxgrp/.github/actions/setup-environment main composite