diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 78b7fe2..b693def 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -43,7 +43,7 @@ jobs: run: yarn build - name: Run Tests - run: yarn test + run: yarn test:ember floating: name: Floating Dependencies @@ -82,8 +82,8 @@ jobs: - ember-lts-3.28 - ember-lts-4.4 - ember-release - - ember-beta - - ember-canary + # - ember-beta + # - ember-canary - ember-classic - embroider-safe - embroider-optimized diff --git a/.github/workflows/tag-release-publish.yml b/.github/workflows/tag-release-publish.yml index 4a9e3cc..6389137 100644 --- a/.github/workflows/tag-release-publish.yml +++ b/.github/workflows/tag-release-publish.yml @@ -1,27 +1,75 @@ # GitHub Actions documentation: # https://docs.github.com/en/actions -name: Create new `git tag`, create new GitHub release and publish to NPM +name: Create new tag, create new GitHub release and publish to NPM on: - workflow_run: - workflows: - - CI - branches: - - master - types: - - completed + pull_request: {} concurrency: group: tag-release-publish-${{ github.ref }} cancel-in-progress: true jobs: - org: + create_git_tag: if: ${{ github.event.workflow_run.conclusion == 'success' }} - uses: DazzlingFugu/.github/.github/workflows/js--tag-release-publish.yml@master - with: - node-version: 16 - package-manager: yarn - secrets: - npm-automation-token: ${{ secrets.NPM_AUTOMATION_TOKEN }} + name: Create new tag + runs-on: ubuntu-latest + timeout-minutes: 20 + outputs: + new_tag: ${{ steps.detect_then_tag.outputs.tag }} + new_version: ${{ steps.detect_then_tag.outputs.current-version }} + old_version: ${{ steps.detect_then_tag.outputs.previous-version }} + steps: + - name: Checkout repository + uses: actions/checkout@v3 + with: + fetch-depth: 2 + + - name: Detect and tag new version + id: detect_then_tag + uses: salsify/action-detect-and-tag-new-version@v2 + + create_github_release: + if: ${{ needs.create_git_tag.outputs.new_tag }} + name: Create new GitHub release + needs: create_git_tag + runs-on: ubuntu-latest + timeout-minutes: 20 + steps: + - uses: ncipollo/release-action@v1 + with: + body: "\ + Changelog: \ + ${{ github.server_url }}/${{ github.repository }}\ + /compare/\ + v${{ needs.create_git_tag.outputs.old_version }}...v${{ needs.create_git_tag.outputs.new_version }}\ + " + name: Release ${{ needs.create_git_tag.outputs.new_tag }} + tag: ${{ needs.create_git_tag.outputs.new_tag }} + + publish_npm: + name: Publish to NPM + needs: create_github_release + runs-on: ubuntu-latest + timeout-minutes: 20 + steps: + - name: Checkout repository + uses: actions/checkout@v3 + + - name: Set up Node.js + uses: actions/setup-node@v3 + with: + cache: 'yarn' + node-version: 16 + registry-url: https://registry.npmjs.org + + - name: Install Dependencies + run: yarn install --frozen-lockfile + working-directory: ember-slugify + + - name: Publish to NPM + run: npm publish --dry-run + working-directory: ember-slugify + env: + NODE_AUTH_TOKEN: ${{ secrets.NPM_AUTOMATION_TOKEN }} diff --git a/package.json b/package.json index 8e056e7..2aac810 100644 --- a/package.json +++ b/package.json @@ -10,6 +10,6 @@ "lint:fix": "yarn workspaces run lint:fix", "start:addon": "yarn workspace ember-slugify run start", "start:test-app": "yarn workspace test-app run start", - "test": "yarn workspace test-app test" + "test:ember": "yarn workspace test-app test:ember" } } \ No newline at end of file