Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rhiokim/workflow-test-with-monorepo
https://github.com/rhiokim/workflow-test-with-monorepo
Last synced: about 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/rhiokim/workflow-test-with-monorepo
- Owner: rhiokim
- Created: 2022-05-23T09:28:52.000Z (over 2 years ago)
- Default Branch: develop
- Last Pushed: 2022-10-23T17:30:02.000Z (about 2 years ago)
- Last Synced: 2024-04-14T07:51:22.216Z (9 months ago)
- Language: Dockerfile
- Size: 88.9 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# workflow-test-with-monorepo
## Monorepo Structure
```sh
packages
- aaa (nextjs)
- bbb (nextjs)
```## Concepts
```sh
# Release [PACKAGE] package with feature branch to development environment
git switch -c feature/[PACKAGE]/issue-1234
# merge into develop
# will trigger .github/workflows/release-dev.yaml
# will generate docker images
# - owner/repo/[PACKAGE]-dev:short-sha
# - owner/repo/[PACKAGE]-dev:latest# Release version v1.0.0-rc0 [PACKAGE] package to staging environment when merge into main branch
git switch -c release/[PACKAGE]/v1.0.0-rc0
# merge into main
# will trigger .github/workflows/release-staging.yaml
# will generate docker images
# - owner/repo/[PACKAGE]-staging:short-sha
# - owner/repo/[PACKAGE]-staging:latest# Release version v1.0.0 aaa package to production when create new tag in main
git tag -am 'aaa/v1.0.0'
# will trigger .github/workflows/release-prod.yaml
# will generate docker images
# - owner/repo/aaa:short-sha
# - owner/repo/aaa:latest
# - owner/repo/aaa:v1.0.0# Release version v1.1.2 bbb package to production when create new tag in main
git tag -am 'bbb/v1.1.2'
# will trigger .github/workflows/release-prod.yaml
# will generate docker images
# - owner/repo/bbb:short-sha
# - owner/repo/bbb:latest
# - owner/repo/bbb:v1.1.2
```## Actions
| Environment | Status
|-------------|--------
| dev | [![dev](https://github.com/rhiokim/workflow-test-with-monorepo/actions/workflows/release-dev.yaml/badge.svg)](https://github.com/rhiokim/workflow-test-with-monorepo/actions/workflows/release-dev.yaml)
| staging | [![staging](https://github.com/rhiokim/workflow-test-with-monorepo/actions/workflows/release-staging.yaml/badge.svg)](https://github.com/rhiokim/workflow-test-with-monorepo/actions/workflows/release-staging.yaml)
| prod | [![prod](https://github.com/rhiokim/workflow-test-with-monorepo/actions/workflows/release-prod.yaml/badge.svg)](https://github.com/rhiokim/workflow-test-with-monorepo/actions/workflows/release-prod.yaml)## References
* https://github.community/t/how-to-trigger-on-a-release-only-if-tag-name-matches-pattern/18514/2