{"id":24099739,"url":"https://github.com/shencangsheng/git-release-workflow","last_synced_at":"2025-02-27T17:29:31.410Z","repository":{"id":59377299,"uuid":"468178523","full_name":"shencangsheng/Git-Release-Workflow","owner":"shencangsheng","description":"Tools for generating Git ChangeLogs, including generating and pushing Release workflows in GitLab CI/CD and GitHub Action's Push Release workflows","archived":false,"fork":false,"pushed_at":"2023-10-30T02:00:22.000Z","size":30,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-10T15:38:50.889Z","etag":null,"topics":["changelog","ci-cd","git","github-action","github-actions","github-releases","gitlab","gitlab-releases","gitlabci"],"latest_commit_sha":null,"homepage":"","language":"Shell","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/shencangsheng.png","metadata":{"files":{"readme":"README.md","changelog":"changelog-all-echo.sh","contributing":null,"funding":null,"license":"LICENSE","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-03-10T03:21:45.000Z","updated_at":"2023-06-01T03:02:27.000Z","dependencies_parsed_at":"2025-01-10T15:38:12.404Z","dependency_job_id":null,"html_url":"https://github.com/shencangsheng/Git-Release-Workflow","commit_stats":null,"previous_names":[],"tags_count":17,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shencangsheng%2FGit-Release-Workflow","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shencangsheng%2FGit-Release-Workflow/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shencangsheng%2FGit-Release-Workflow/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shencangsheng%2FGit-Release-Workflow/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/shencangsheng","download_url":"https://codeload.github.com/shencangsheng/Git-Release-Workflow/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241039095,"owners_count":19898623,"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":["changelog","ci-cd","git","github-action","github-actions","github-releases","gitlab","gitlab-releases","gitlabci"],"created_at":"2025-01-10T15:38:07.417Z","updated_at":"2025-02-27T17:29:31.391Z","avatar_url":"https://github.com/shencangsheng.png","language":"Shell","readme":"# Git Release Workflow\n\nEnglish | [简体中文](./i18n/README.zh-cn.md)\n\nTools for generating Git ChangeLogs, including generating and pushing Release workflows in GitLab CI/CD and GitHub Action's Push Release workflows\n\n[DockerHub Repositorie](https://hub.docker.com/r/shencangsheng/gitlab-pipeline-release)\n\n- [Git Release Workflow](#git-release-workflow)\n  - [How to use for your](#how-to-use-for-your)\n    - [GitLab CI/CD Push Release](#gitlab-cicd-push-release)\n    - [GitHub Action Push Release](#github-action-push-release)\n  - [Credits](#credits)\n  - [License](#license)\n\n## How to use for your\n\n### GitLab CI/CD Push Release\n\nThe login-action options required by GitLab Release include:\n\n- PRIVATE-TOKEN：This is the access token for your GitLab repository. We need to store the GitLab access tokens in the project's CI/CD variable, named `ACCESS_TOKEN`, so that they are not exposed in the workflow file, see [Creating and Using GitLab Access Tokens](https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html) for more information\n\n```yml\nstages:\n  - release-note\n  - build\n  - generic\n\nrelease:\n  rules:\n    - if: '$CI_COMMIT_TAG != null \u0026\u0026 $CI_PIPELINE_SOURCE == \"push\"'\n      when: on_success\n  stage: release-note\n  image: shencangsheng/gitlab-pipeline-release:latest\n  script:\n    # Pay attention to distinguish the GitLab version\n    # \u003c= 13.x use post-gitlab-release-13x\n    # \u003e= 14.x use post-gitlab-release-14x\n    - post-gitlab-release-14x\n\ngeneric:\n  rules:\n    - if: '$CI_COMMIT_TAG != null \u0026\u0026 $CI_PIPELINE_SOURCE == \"push\"'\n      when: on_success\n  stage: generic\n  image: shencangsheng/gitlab-pipeline-release:latest\n  script:\n    - tar -czf dist.tar.gz dist\n    - tar -czf docs.tar.gz docs\n    - post-gitlab-release-generic-14x ./dist.tar.gz dist.tar.gz\n    - post-gitlab-release-generic-14x ./docs.tar.gz docs.tar.gz\n    - post-gitlab-release-links-14x -n dist -u \"${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/release/${CI_COMMIT_TAG}/dist.tar.gz\" -t package\n    - post-gitlab-release-links-14x -n docs -u \"${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/release/${CI_COMMIT_TAG}/docs.tar.gz\" -t runbook\n  dependencies:\n    - build\n```\n\n### GitHub Action Push Release\n\n```yml\non:\n  push:\n    tags:\n      - \"[0-9]+.*\"\n      - \"v*\"\njobs:\n  build:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@v2\n      - name: Create Release\n        run: |\n          curl -fsSL -o changelog-echo.sh `wget -qO- -t1 -T2 \"https://api.github.com/repos/shencangsheng/Git-Release-Workflow/releases/latest\" | grep \"browser_download_url\" | grep 'changelog-echo.sh\"' | head -n 1 | awk -F ': \"' '{print $2}' | sed 's/\\\"//g;s/,//g;s/ //g'`\n          bash changelog-echo.sh \u003eCHANGELOG.md\n      - name: Archive code coverage results\n        uses: actions/upload-artifact@v3\n        with:\n          name: artifact\n          path: |\n            CHANGELOG.md\n  release:\n    needs: build\n    runs-on: ubuntu-latest\n    steps:\n      - name: Download the artifact\n        uses: actions/download-artifact@v1\n        with:\n          name: artifact\n          path: ./\n      - name: Create Release\n        id: create_release\n        uses: actions/create-release@v1\n        env:\n          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n        with:\n          tag_name: ${{ github.ref }}\n          release_name: Release ${{ github.ref }}\n          draft: false\n          prerelease: false\n          body_path: CHANGELOG.md\n```\n\n## Credits\n\nThis project is incubated by the [shencangsheng/GitLab-Release-Workflow](https://github.com/shencangsheng/GitLab-Release-Workflow) available in the GitHub project.\n\nThis project was inspired by the [zitsen/release-workflow-demo](https://github.com/zitsen/release-workflow-demo) available in the GitHub project.\n\n## License\n\nA short snippet describing the license (MIT)\n\nMIT © Cangsheng Shen\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshencangsheng%2Fgit-release-workflow","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshencangsheng%2Fgit-release-workflow","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshencangsheng%2Fgit-release-workflow/lists"}