name: 'Release: Publish' on: pull_request: types: - closed branches: - 'release/patch' - 'release/minor' jobs: publish-release: if: github.event.pull_request.merged == true runs-on: ubuntu-latest permissions: contents: write timeout-minutes: 60 steps: - name: Checkout uses: actions/checkout@v3 with: fetch-depth: 0 - uses: pnpm/action-setup@v2.2.4 - uses: actions/setup-node@v3 with: node-version: 16.x cache: 'pnpm' - run: pnpm install --frozen-lockfile - name: Set release version in env run: echo "RELEASE=$(node -e 'console.log(require("./package.json").version)')" >> $GITHUB_ENV - name: Build run: pnpm build - name: Publish to NPM run: | echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}" > ~/.npmrc pnpm publish -r --publish-branch ${{github.event.pull_request.base.ref}} --access public --tag rc npm dist-tag rm n8n rc - name: Create a Release on GitHub uses: ncipollo/release-action@v1 with: commit: ${{github.event.pull_request.base.ref}} tag: 'n8n@${{env.RELEASE}}' prerelease: true makeLatest: false - name: Trigger a release note continue-on-error: true run: curl -u docsWorkflows:${{ secrets.N8N_WEBHOOK_DOCS_PASSWORD }} --request GET 'https://internal.users.n8n.cloud/webhook/trigger-release-note' --header 'Content-Type:application/json' --data '{"version":"${{env.RELEASE}}"}' - name: Merge Release into 'master' run: | git fetch origin git checkout --track origin/master git config user.name "Jan Oberhauser" git config user.email jan.oberhauser@gmail.com git merge --ff n8n@${{env.RELEASE}} git push origin master git push origin :${{github.event.pull_request.base.ref}}