Skip to content

Commit

Permalink
Merge branch 'automated-release' into mweberxyz-main
Browse files Browse the repository at this point in the history
  • Loading branch information
mweberxyz committed Apr 10, 2024
2 parents 0f40c7f + ea2e1a2 commit f5f38fa
Showing 1 changed file with 95 additions and 0 deletions.
95 changes: 95 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
name: Create release

on:
push:
branches:
- main
paths:
- package.json

permissions:
contents: read

jobs:
check-release-version:
runs-on: ubuntu-latest
outputs:
release-version: ${{ steps.set-release-version.outputs.result }}
steps:
- uses: actions/checkout@v4
- uses: actions/github-script@v7
id: set-release-version
with:
result-encoding: string
script: |
const version = require("./package.json").version
const { data: releases } = await github.rest.repos.listReleases({
owner,
repo
})
if(version !== releases[0].title) {
return version
}
release:
runs-on: ubuntu-latest
needs: check-release-version
if: ${{ needs.check-release-version.outputs.release-version }}

permissions:
contents: write
id-token: write

environment: release

steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '20'
registry-url: 'https://registry.npmjs.org'
- run: npm install -g npm@latest
- run: npm install
- name: Create NPM release
run: npm publish --provenance --access public
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
# - run: node scripts/generate-undici-types-package-json.js
# - run: npm publish --provenance
# working-directory: './types'
# env:
# NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
- name: Create GitHub release
uses: actions/github-script@v7
with:
script: |
const defaultBranch = "${{ github.event.repository.default_branch }}"
const { owner, repo } = context.repo
const version = "v${{ steps.bump.outputs.version }}"
const { data: releases } = await github.rest.repos.listReleases({
owner,
repo
})
const { data: { body } } = await github.rest.repos.generateReleaseNotes({
owner,
repo,
tag_name: version,
target_commitish: defaultBranch,
previous_tag_name: releases[0]?.tag_name
});
await github.rest.repos.createRelease({
owner,
repo,
tag_name: version,
target_commitish: defaultBranch,
name: version,
body,
draft: false,
prerelease: false,
generate_release_notes: false
});

0 comments on commit f5f38fa

Please sign in to comment.