diff --git a/.github/workflows/create-release-pr.yaml b/.github/workflows/create-release-pr.yaml new file mode 100644 index 000000000..55d973848 --- /dev/null +++ b/.github/workflows/create-release-pr.yaml @@ -0,0 +1,49 @@ +name: "Create release-please PR" + +on: + workflow_dispatch: + workflow_call: + outputs: + release_created: + description: "If true, a release PR has been merged" + value: ${{ jobs.release-please.outputs.release_created }} + tag_name: + description: "The release tag. Ex v1.4.0" + value: ${{ jobs.release-please.outputs.tag_name }} + +jobs: + release-please: + runs-on: ubuntu-latest + steps: + - uses: google-github-actions/release-please-action@v3 + id: release + with: + command: manifest + token: ${{ secrets.GITHUB_TOKEN }} + changelog-types: > + [ + { "type": "feat", "section": "Features", "hidden": false }, + { "type": "feature", "section": "Features", "hidden": false}, + { "type": "fix", "section": "Bug Fixes", "hidden": false }, + { "type": "perf", "section": "Performance Improvements", "hidden": false }, + { "type": "revert", "section": "Reverts", "hidden": false }, + { "type": "docs", "section": "Documentation", "hidden": false }, + { "type": "style", "section": "Styles", "hidden": false }, + { "type": "chore", "section": "Miscellaneous Chores", "hidden": false }, + { "type": "refactor", "section": "Code Refactoring", "hidden": false }, + { "type": "test", "section": "Tests", "hidden": false }, + { "type": "build", "section": "Build System", "hidden": false }, + { "type": "ci", "section": "Continuous Integration", "hidden": false } + ] + # true for single package + - name: Echo release_created + run: echo "${{ steps.release.outputs.release_created }}" + + # true for multiple packages + - name: Echo releases_created + run: echo "${{ steps.release.outputs.releases_created }}" + + outputs: + release_created: ${{ steps.release.outputs.release_created }} + tag_name: ${{ steps.release.outputs.tag_name }} + diff --git a/.github/workflows/on-main-push.yaml b/.github/workflows/on-main-push.yaml index 7a960a6d7..d228b8bcd 100644 --- a/.github/workflows/on-main-push.yaml +++ b/.github/workflows/on-main-push.yaml @@ -3,25 +3,31 @@ on: push: branches: - main + - release jobs: tests: uses: ./.github/workflows/tests.yaml - integration-tests: - uses: ./.github/workflows/integration-tests.yaml + #integration-tests: + # uses: ./.github/workflows/integration-tests.yaml - publish-integration-tests-report: - needs: integration-tests - if: ${{ ! cancelled() }} - uses: ./.github/workflows/publish-integration-tests-report.yaml - with: - dmss_version: ${{ needs.integration-tests.outputs.dmss_version }} - dm_cli_version: ${{ needs.integration-tests.outputs.dm_cli_version }} - job_version: ${{ needs.integration-tests.outputs.job_version }} + #publish-integration-tests-report: + # needs: integration-tests + # if: ${{ ! cancelled() }} + # uses: ./.github/workflows/publish-integration-tests-report.yaml + # with: + # dmss_version: ${{ needs.integration-tests.outputs.dmss_version }} + # dm_cli_version: ${{ needs.integration-tests.outputs.dm_cli_version }} + # job_version: ${{ needs.integration-tests.outputs.job_version }} + + release-please: + needs: tests + uses: ./.github/workflows/create-release-pr.yaml publish-packages: - needs: [tests] + needs: release-please + if: ${{ needs.release-please.outputs.release_created }} runs-on: ubuntu-latest strategy: matrix: diff --git a/.release-please-manifest.json b/.release-please-manifest.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/.release-please-manifest.json @@ -0,0 +1 @@ +{} diff --git a/packages/dm-core-plugins/.release-please-manifest.json b/packages/dm-core-plugins/.release-please-manifest.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/packages/dm-core-plugins/.release-please-manifest.json @@ -0,0 +1 @@ +{} diff --git a/packages/dm-core/.release-please-manifest.json b/packages/dm-core/.release-please-manifest.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/packages/dm-core/.release-please-manifest.json @@ -0,0 +1 @@ +{} diff --git a/release-please-config.json b/release-please-config.json new file mode 100644 index 000000000..308f74de4 --- /dev/null +++ b/release-please-config.json @@ -0,0 +1,19 @@ +{ + "bootstrap-sha": "fa8ba5b19fd8f4974a89726453ae27a59261c7c7", + "release-type": "node", + "monorepo-tags": true, + "bump-minor-pre-major": true, + "bump-patch-for-minor-pre-major": true, + "prerelease": true, + "separate-pull-requests": true, + "packages": { + "./packages/dm-core": { + "package-name": "@development-framework/dm-core", + "release-as": "0.1.0" + }, + "./packages/dm-core-plugins": { + "package-name": "@development-framework/dm-core-plugins", + "release-as": "0.1.0" + } + } +}