{"id":16540503,"url":"https://github.com/itzg/github-workflows","last_synced_at":"2025-10-29T06:13:43.307Z","repository":{"id":65330073,"uuid":"552642358","full_name":"itzg/github-workflows","owner":"itzg","description":null,"archived":false,"fork":false,"pushed_at":"2025-02-13T00:21:59.000Z","size":105,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-13T01:25:32.821Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/itzg.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-10-17T01:53:40.000Z","updated_at":"2025-02-13T00:22:03.000Z","dependencies_parsed_at":"2023-10-10T14:32:56.915Z","dependency_job_id":"486171d3-206a-456a-9322-9e689f83c3ef","html_url":"https://github.com/itzg/github-workflows","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itzg%2Fgithub-workflows","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itzg%2Fgithub-workflows/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itzg%2Fgithub-workflows/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itzg%2Fgithub-workflows/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/itzg","download_url":"https://codeload.github.com/itzg/github-workflows/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241774239,"owners_count":20018236,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":[],"created_at":"2024-10-11T18:52:38.536Z","updated_at":"2025-10-29T06:13:38.253Z","avatar_url":"https://github.com/itzg.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"\n## Recipes\n\n### Sample directory structure\n\n- `.github`\n  - [`dependabot.yml`](#dependabotyml)\n  - [`workflows`](https://docs.github.com/en/actions)\n    - [`test.yml`](#run-gradle-test)\n    - [`release-publish.yml`](#release-application-build-to-github-and-publish)\n\n### dependabot.yml\n\n[Docs](https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file)\n\n```yaml\nversion: 2\nupdates:\n  - package-ecosystem: \"github-actions\"\n    directory: \"/\"\n    schedule:\n      interval: \"weekly\"\n```\n\n### Run gradle test\n\n```yaml\nname: Test\n\non:\n  push:\n    branches:\n      - main\n      - master\n    paths-ignore:\n      - \"*.md\"\n  pull_request:\n    branches:\n      - main\n      - master\n    paths-ignore:\n      - \"*.md\"\n\njobs:\n  test:\n    uses: itzg/github-workflows/.github/workflows/gradle-build.yml@main\n    with: \n      arguments: test\n      include-test-report: true\n```\n\nIf NodeJS support is needed, add\n```yaml\n  include-node-js: true\n```\nand adjust `npm-cache-dependency-path`, if needed.\n\n### Release application build to GitHub and publish\n\nUses [io.github.itzg.github-releaser](https://plugins.gradle.org/plugin/io.github.itzg.github-releaser) plugin\n\n```yaml\nname: Release and publish\n\non:\n  push:\n    tags:\n      - \"[0-9]+.[0-9]+.[0-9]+\"\n      - \"[0-9]+.[0-9]+.[0-9]+-*\"\n  workflow_dispatch:\n\njobs:\n  publish:\n    uses: itzg/github-workflows/.github/workflows/gradle-build.yml@main\n    with:\n      arguments: \u003e\n        test \n        githubPublishApplication\n      scoop-bucket-repo: itzg/scoop-bucket\n      homebrew-tap-repo: itzg/homebrew-tap\n    secrets:\n      GITHUB_PUBLISH_TOKEN: ${{ secrets.PUSH_ACCESS_GITHUB_TOKEN }}\n```\n\nIf NodeJS support is needed, add\n```yaml\n  include-node-js: true\n```\nand adjust `npm-cache-dependency-path`, if needed.\n\n### Release gradle plugin\n\n```yaml\nname: Publish\n\non:\n  push:\n    tags:\n      - \"[0-9]+.[0-9]+.[0-9]+\"\n\njobs:\n  publish:\n    uses: itzg/github-workflows/.github/workflows/publish-gradle-plugin.yml@main\n    secrets:\n      plugin-portal-key: ${{ secrets.PLUGIN_PORTAL_KEY }}\n      plugin-portal-secret: ${{ secrets.PLUGIN_PORTAL_SECRET }}\n```\n\n### Simple Boot Image to GHCR\n\n```yaml\nname: \"Build image\"\non:\n  push:\n    branches:\n      - main\n    tags:\n      - \"[0-9]+.[0-9]+.[0-9]+\"\n\njobs:\n  build:\n    uses: itzg/github-workflows/.github/workflows/simple-boot-image-to-ghcr.yml@main\n    with:\n      image-repo: \"ghcr.io/itzg\"\n      image-platforms: \"linux/amd64,linux/arm64\"\n      extra-gradle-tasks: test\n```\n\nIf NodeJS support is needed, add\n```yaml\n  include-node-js: true\n```\nand adjust `npm-cache-dependency-path`, if needed.\n\n### Go test with optional goreleaser\n\n```yaml\n    uses: itzg/github-workflows/.github/workflows/go-test.yml@main\n```\n\n### Go release with goreleaser including image\n\n```yaml\n    uses: itzg/github-workflows/.github/workflows/go-with-releaser-image.yml@main\n    secrets:\n      image-registry-username: ${{ secrets.DOCKERHUB_USERNAME }}\n      image-registry-password: ${{ secrets.DOCKERHUB_TOKEN }}\n      # optional\n      scoop-tap-github-token: ${{ secrets.SCOOP_BUCKET_GITHUB_TOKEN }}\n```\n\n**NOTE** The `repository.token` in `.goreleaser.yaml` needs to be configured as\n\n```yaml\n      token: \"{{ .Env.SCOOP_TAP_GITHUB_TOKEN }}\"\n```\n\n### Go release with goreleaser\n\n```yaml\n    uses: itzg/github-workflows/.github/workflows/go-with-releaser.yml@main\n```\n\n**NOTE** The `repository.token` in `.goreleaser.yaml` needs to be configured as\n\n```yaml\n      token: \"{{ .Env.SCOOP_TAP_GITHUB_TOKEN }}\"\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fitzg%2Fgithub-workflows","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fitzg%2Fgithub-workflows","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fitzg%2Fgithub-workflows/lists"}