{"id":15293447,"url":"https://github.com/cupel-co/workflows","last_synced_at":"2026-05-31T05:01:20.769Z","repository":{"id":256926080,"uuid":"856267783","full_name":"cupel-co/workflows","owner":"cupel-co","description":"Reusable workflows for github","archived":false,"fork":false,"pushed_at":"2026-05-20T11:56:32.000Z","size":138,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-05-20T16:10:46.146Z","etag":null,"topics":["github","opentofu","workflows"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cupel-co.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-09-12T09:30:10.000Z","updated_at":"2026-05-20T11:56:08.000Z","dependencies_parsed_at":null,"dependency_job_id":"eb2c741b-45d8-4d43-b70c-56b07effe446","html_url":"https://github.com/cupel-co/workflows","commit_stats":null,"previous_names":["cupel-co/workflows"],"tags_count":38,"template":false,"template_full_name":null,"purl":"pkg:github/cupel-co/workflows","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cupel-co%2Fworkflows","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cupel-co%2Fworkflows/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cupel-co%2Fworkflows/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cupel-co%2Fworkflows/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cupel-co","download_url":"https://codeload.github.com/cupel-co/workflows/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cupel-co%2Fworkflows/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33719601,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-31T02:00:06.040Z","response_time":95,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["github","opentofu","workflows"],"created_at":"2024-09-30T16:48:47.387Z","updated_at":"2026-05-31T05:01:20.761Z","avatar_url":"https://github.com/cupel-co.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# GitHub Workflows\n[![Integrate](https://github.com/cupel-co/workflows/actions/workflows/integrate.yml/badge.svg?branch=main)](https://github.com/cupel-co/workflows/actions/workflows/integrate.yml?query=branch%3Amain)\n\nShared GitHub Actions workflows for Cupel repositories.\n\n## Overview\n\nThis repository contains two kinds of workflows:\n\n- **Reusable workflows** that can be called from other repositories with `workflow_call`\n- **Repository workflows** that wire the reusable workflows together for this repository\n\n## Reusable Workflows\n\n### Pull Request\n\n#### Notify\n\nWorkflow: [`pull-request.notify.yml`](.github/workflows/pull-request.notify.yml)\n\nSend a Google Chat notification for a pull request event.\n\n##### Secrets\n\n| Name                      | Description                                          | Required |\n|---------------------------|------------------------------------------------------|----------|\n| `google-chat-webhook-url` | The webhook URL used to send messages to Google Chat | true     |\n\n##### Example\n\n```yaml\njobs:\n  pull-request:\n    name: Pull Request\n    uses: cupel-co/workflows/.github/workflows/pull-request.notify.yml@vX.X.X\n    secrets:\n      google-chat-webhook-url: ${{ secrets.GOOGLE_CHAT_WEBHOOK_URL }}\n```\n\n#### Update\n\nWorkflow: [`pull-request.update.yml`](.github/workflows/pull-request.update.yml)\n\nUpdate the pull request description using repository and issue metadata.\n\n##### Supported Placeholders\n\n| Name                      | Description                                   |\n|---------------------------|-----------------------------------------------|\n| `{{BRANCH_NAME}}`         | The branch name                               |\n| `{{ENVIRONMENT}}`         | The environment name                          |\n| `{{ISSUE_NUMBER}}`        | The issue number                              |\n| `{{ISSUE_TITLE}}`         | The issue title                               |\n| `{{PULL_REQUEST_NUMBER}}` | The pull request number                       |\n| `{{PULL_REQUEST_TITLE}}`  | The pull request title                        |\n| `{{REPOSITORY}}`          | The full repository name, including the owner |\n\n##### Inputs\n\n| Name           | Description                                              | Required | Default |\n|----------------|----------------------------------------------------------|----------|---------|\n| `environment`  | The environment name to inject into the PR description   | true     |         |\n\n##### Required Permissions\n\n| Permission            | Access  |\n|-----------------------|---------|\n| `issues`              | `read`  |\n| `pull-requests`       | `write` |\n| `repository-projects` | `read`  |\n\n##### Outputs\n\n| Name          | Description                           |\n|---------------|---------------------------------------|\n| `description` | The rendered pull request description |\n\n##### Example\n\n```yaml\njobs:\n  pull-request:\n    name: Pull Request\n    uses: cupel-co/workflows/.github/workflows/pull-request.update.yml@vX.X.X\n    permissions:\n      issues: read\n      pull-requests: write\n      repository-projects: read\n    with:\n      environment: Preview\n```\n\n### Release\n\n#### Create\n\nWorkflow: [`release.create.yml`](.github/workflows/release.create.yml)\n\nCreate a signed tag, publish a GitHub release, and send a Google Chat notification.\n\n##### Inputs\n\n| Name   | Description                        | Required | Default |\n|--------|------------------------------------|----------|---------|\n| `tag`  | The Git tag to create and release  | true     |         |\n\n##### Secrets\n\n| Name                       | Description                                                       | Required |\n|----------------------------|-------------------------------------------------------------------|----------|\n| `google-chat-webhook-url`  | The webhook URL used to send release notifications to Google Chat | true     |\n| `gpg-private-key`          | The armored GPG private key used to sign the Git tag              | true     |\n| `gpg-private-key-password` | The password for the GPG private key                              | true     |\n| `token`                    | A GitHub token with permission to push tags and create releases   | true     |\n\n##### Required Permissions\n\n| Permission | Access  |\n|------------|---------|\n| `contents` | `write` |\n\n##### Example\n\n```yaml\njobs:\n  release:\n    name: Release\n    uses: cupel-co/workflows/.github/workflows/release.create.yml@vX.X.X\n    permissions:\n      contents: write\n    with:\n      tag: v0.0.1\n    secrets:\n      google-chat-webhook-url: ${{ secrets.GOOGLE_CHAT_WEBHOOK_URL }}\n      gpg-private-key: ${{ secrets.GH_GPG_PRIVATE_KEY }}\n      gpg-private-key-password: ${{ secrets.GH_GPG_PRIVATE_KEY_PASSWORD }}\n      token: ${{ secrets.GH_RELEASE_PAT }}\n```\n\n#### Notify\n\nWorkflow: [`release.notify.yml`](.github/workflows/release.notify.yml)\n\nSend a release notification to Google Chat.\n\n##### Inputs\n\n| Name  | Description                                     | Required | Default |\n|-------|-------------------------------------------------|----------|---------|\n| `tag` | The release tag to include in the notification  | true     |         |\n\n##### Secrets\n\n| Name                       | Description                                           | Required |\n|----------------------------|-------------------------------------------------------|----------|\n| `google-chat-webhook-url`  | The webhook URL used to send messages to Google Chat  | true     |\n\n##### Example\n\n```yaml\njobs:\n  release:\n    name: Release\n    uses: cupel-co/workflows/.github/workflows/release.notify.yml@vX.X.X\n    with:\n      tag: v0.0.1\n    secrets:\n      google-chat-webhook-url: ${{ secrets.GOOGLE_CHAT_WEBHOOK_URL }}\n```\n\n### Version\n\n#### Generate\n\nWorkflow: [`version.generate.yml`](.github/workflows/version.generate.yml)\n\nGenerate semantic version information from the repository history.\n\n##### Inputs\n\n| Name        | Description                     | Required | Default       |\n|-------------|---------------------------------|----------|---------------|\n| `flow-type` | The versioning flow type to use | false    | `GITHUB_FLOW` |\n\n##### Outputs\n\n| Name                           | Description                                          |\n|--------------------------------|------------------------------------------------------|\n| `major`                        | The major version                                    |\n| `minor`                        | The minor version                                    |\n| `patch`                        | The patch version                                    |\n| `pre-release-tag`              | The prerelease tag                                   |\n| `pre-release-tag-with-dash`    | The prerelease tag prefixed with a dash when present |\n| `pre-release-label`            | The prerelease label                                 |\n| `pre-release-number`           | The prerelease number                                |\n| `weighted-pre-release-number`  | The weighted prerelease number                       |\n| `build-meta-data`              | The build metadata                                   |\n| `full-build-meta-data`         | The full build metadata                              |\n| `major-minor-patch`            | The major.minor.patch value                          |\n| `sem-ver`                      | The semantic version                                 |\n| `assembly-sem-ver`             | The assembly semantic version                        |\n| `assembly-sem-file-ver`        | The assembly file version                            |\n| `full-sem-ver`                 | The full semantic version                            |\n| `informational-version`        | The informational version                            |\n| `branch-name`                  | The branch name                                      |\n| `escaped-branch-name`          | The escaped branch name                              |\n| `sha`                          | The full commit SHA                                  |\n| `short-sha`                    | The short commit SHA                                 |\n| `version-source-sha`           | The version source SHA                               |\n| `commits-since-version-source` | The number of commits since the version source       |\n| `uncommitted-changes`          | Whether uncommitted changes were detected            |\n| `commit-date`                  | The commit date                                      |\n\n##### Example\n\n```yaml\njobs:\n  version:\n    name: Version\n    uses: cupel-co/workflows/.github/workflows/version.generate.yml@vX.X.X\n```\n\n## Repository Workflows\n\nThe following workflows are defined in this repository for its own automation and are not intended to be consumed from other repositories directly.\n\n### [`integrate.yml`](.github/workflows/integrate.yml)\n\nRuns on pushes to `main`, generates a version, creates a release, and sends a notification.\n\n### [`preview.yml`](.github/workflows/preview.yml)\n\nRuns on pull request open, reopen, and synchronize events to generate version information for preview builds.\n\n### [`pull-request-notify.yml`](.github/workflows/pull-request-notify.yml)\n\nRuns on pull request open and reopen events and delegates to the reusable `pull-request.notify.yml` workflow.\n\n### [`pull-request-update.yml`](.github/workflows/pull-request-update.yml)\n\nRuns on pull request open and reopen events and delegates to the reusable `pull-request.update.yml` workflow with the `Preview` environment.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcupel-co%2Fworkflows","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcupel-co%2Fworkflows","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcupel-co%2Fworkflows/lists"}