Science Score: 44.0%

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

  • CITATION.cff file
    Found 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 (9.9%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

CI/CD example

Basic Info
Statistics
  • Stars: 2
  • Watchers: 2
  • Forks: 1
  • Open Issues: 1
  • Releases: 0
Created over 2 years ago · Last pushed 7 months ago
Metadata Files
Readme Contributing License Citation Codeowners Security

.github/README.md

GitHub workflows and actions

Organization

There are Composite Actions under .github/actions/. Additionally, some workflows are prefixed with _. These are reusable workflows, which are only triggered via workflow_call. The reusable workflows need multiple jobs, or are simply to specialized to be actions.

Notes

GitHub Actions have a lot of sharp objects.

github.workflow context variable

In a workflow_call-ed job, ${{ github.workflow }} is the caller's name.

When expressions are evaluated

Be careful when using ${{}} inside a shell run block; they're not evaluated at the same time. Enclose them in single quotes to remind you that the shell will only see the literal; e.g. if [[ "$variable" == '${{ inputs.rerun }}'.

Truthy and falsey strings

Values in ${{}} are typed, but they're implicitly coerced to boolean. A string is true iff it's non-empty, meaning that 'false' is actually true. This is important because some values are always strings: inputs to actions, outputs from actions, and anything from Bash.

The best practice for getting a boolean from Bash is to write to $GITHUB_OUTPUT only if the value is true; leave the variable unset if its value is false. For example:

yaml - id: detect-changes run: | [[ -z "$(git status --porcelain)" ]] || echo "changes=true" >> $GITHUB_OUTPUT - if: ${{ steps.detect-changes.outputs.changes }}

Otherwise, you'll need ${{ steps.detect-changes && steps.detect-changes != 'false' }}, and it's very easy to make a mistake.

Shell

shell: bash is different from the default Bash shell.

GitHub workflows use Bash as the default shell. However, specifying shell: bash explicitly turns on pipefail. Terrible behavior aside, always specify shell: bash. In a workflow, you can use defaults: shell: bash. But composite actions don't currently support defaults, so you'll need to specify it per step.

See:

  • https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#defaultsrunshell
  • https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#exit-codes-and-error-action-preference

Context, variables, and expressions

See:

  • https://docs.github.com/en/actions/writing-workflows/choosing-what-your-workflow-does/accessing-contextual-information-about-workflow-runs
  • https://docs.github.com/en/actions/writing-workflows/choosing-what-your-workflow-does/evaluate-expressions-in-workflows-and-actions

Owner

  • Name: Douglas Myers-Turnbull
  • Login: dmyersturnbull
  • Kind: user
  • Location: Stanford, CA
  • Company: Stanford University

Citation (CITATION.cff)

cff-version: 1.2.0
message: Please use the following citation.
# ::tyranno:: title: $<<project.name>>
title: tyranno-sandbox
# ::tyranno:: abstract: $<<project.description.yaml(@)>>
abstract: Sandbox to test CI/CD in Tyrannosaurus
# ::tyranno:: version: $<<project.version>>
version: 0.0.1-alpha.0
# ::tyranno:: license: $<<project.license.text>>
license: Apache-2.0
# ::tyranno:: repository-code: $<<project.urls.Source>>
repository-code: https://github.com/dmyersturnbull/tyranno-sandbox
# IMPORTANT -- maintain this manually:
authors:
  - family-names: Myers-Turnbull
    given-names: Douglas
    orcid: https://orcid.org/0000-0003-3610-4808
# ::tyranno:: date-released: $<<now_utc().date>>
date-released: 2020-05-10

keywords:
  # ::tyranno start:: $<<project.keywords|yaml(@)>>
  - ci/cd
  - cookiecutter
  - github-workflow
  - pyproject
  - python-template
  # ::tyranno end::

GitHub Events

Total
  • Push event: 21
Last Year
  • Push event: 21

Issues and Pull Requests

Last synced: 9 months ago

All Time
  • Total issues: 5
  • Total pull requests: 25
  • Average time to close issues: 9 months
  • Average time to close pull requests: 22 days
  • Total issue authors: 1
  • Total pull request authors: 2
  • Average comments per issue: 0.0
  • Average comments per pull request: 1.44
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 23
Past Year
  • Issues: 0
  • Pull requests: 5
  • Average time to close issues: N/A
  • Average time to close pull requests: about 2 months
  • Issue authors: 0
  • Pull request authors: 2
  • Average comments per issue: 0
  • Average comments per pull request: 1.4
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 4
Top Authors
Issue Authors
  • dmyersturnbull (2)
Pull Request Authors
  • dependabot[bot] (19)
  • dmyersturnbull (2)
Top Labels
Issue Labels
Pull Request Labels